说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Delphi创建Internet快捷方式

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi创建Internet快捷方式

在Windows中,为了方便文件或者文件夹的访问,我们常常为某些文件或者文件夹建立快捷方式(shortcut)。同样,在Internet Explorer中,我们也可以为自己喜爱的网址建立Internet快捷方式(Internet Shortcut)。只要点击快捷方式,Internet Explorer就会启动,并联接到相应的网站。事实上,除了Internet Explorer可以创建Internet快捷方式之外,在我们的应用程序中也同样可以实现此功能。在本文中,我将要向读者介绍如何在Delphi程序中为网址建立Internet快捷方式。

Internet快捷方式的格式

为了分析Internet快捷方式的文件格式,我们可以先用Internet Explorer为某个网址建立一个快捷方式,然后在DOS窗口中用DIR命令找到Internet快捷方式所对应的文件,并且用edit查看文件的内容。不难发现,Internet快捷方式的文件格式与INI文件的格式是一样的,只不过它的扩展名必须是 .URL罢了。 Internet快捷方式的文件格式如下:

[DEFAULT]

BASEURL=

[InternetShortcut]

URL=

WorkingDirectory=

ShowCommand=

IconIndex=

IconFile=

Modified=

HotKey=

其中BASEURL、URL和WorkingDirectory这3项的含义是不言而明的。ShowCommand规定Internet Explorer启动后窗口的初始状态:7表示最小化,3表示最大化;如果没有ShowCommand这一项的话则表示正常大小。IconFile和IconIndex用来为Internet快捷方式指定图标;如果你不想指定图标,Windows会使用缺省的Internet快捷方式图标。HotKey指定一个整数值;HotKey的值及其含义如下:

833 - Ctrl + Shift + A

834 - Ctrl + Shift + B

835 - Ctrl + Shift + C

836 - Ctrl + Shift + D

837 - Ctrl + Shift + E

838 - Ctrl + Shift + F

1601 - Ctrl + Alt + A

1602 - Ctrl + Alt + B

1603 - Ctrl + Alt + C

1604 - Ctrl + Alt + D

1605 - Ctrl + Alt + E

1606 - Ctrl + Alt + F

...

一个简单的Internet快捷方式只需要在

[InternetShortcut]节中包含URL项就可以了,例:

[InternetShortcut]

URL=http://www.yahoo.com

快捷方式的创建

接下来,我们来看一个非常简单的Delphi例子。此程序将在Windows的桌面上建一个一个名为“计算机世界”的快捷方式,它指向《计算机世界》的首页;快捷方式的图标使用Windows 98/95中System目录(或者Windows NT中的System32目录)下的shell32.dll动态联接库中的第41号图标。

由于Internet快捷方式的文件格式与INI文件的是相同的,我们可以使用Delphi的TiniFile类来读写.URL文件的内容。而要使快捷方式出现在桌面上,我们只要把.URL文件保存在Windows桌面所对应的那个目录之下即可。当前用户的桌面目录可以从注册表中获取,此信息保存在Windows注册表HKEY_CURRENT_USER 根键下的Software\Microsoft\Windows

\CurrentVersion\Explorer\Shell Folders主键的Desktop项中。

示例程序的单元文件的代码如下:

unit Unit1;

interface

uses

Windows

Messages

SysUtils

Classes

Graphics

Controls

Forms

Dialogs

7

StdCtrls

Registry

IniFiles;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var

ini:TIniFile;

Reg:TRegistry;

DesktopPath

FileName

S:String;

Buf:array[0..max_path]of char;

begin

//获取当前用户Desktop文件夹的路径

Reg:=TRegistry.Create;

Reg.RootKey:=HKEY_CURRENT_USER;

try

Reg.OpenKey('Software\Microsoft\Windows

\CurrentVersion\Explorer\Shell Folders'

False);

if Reg.ValueExists('Desktop') then

DesktopPath:=Reg.ReadString('Desktop');

finally

Reg.Free;

end;

if (DesktopPath< >'')and(DesktopPath

[Length(DesktopPath)]< >'\')

then DesktopPath:=DesktopPath+'\';

//将Buf清零

FillChar(Buf

SizeOf(Buf)

0);

//获取Win98/95中的System

文件夹或者NT中的System32文件夹的路径

GetSystemDirectory(Buf

SizeOf(Buf));

S:=Buf;

if (S< >'')and(S[Length(S)]< >'\') then S:=S+'\';

S:=S+'shell32.dll';

//Internet快捷方式的文件名(扩展名必须是URL)

FileName:=DesktopPath+'计算机世界.url';

ini:=TIniFile.Create(FileName);

//指定URL

ini.WriteString('InternetShortcut'

'URL'

'http://www.computerworld.com.cn');

//指定图标文件

ini.WriteString('InternetShortcut'

'IconFile'

S);

ini.WriteString('InternetShortcut'

'IconIndex'

'41');

ini.Free;

end;

end.

研发周报:修改一行SQL代码 性能提升了100倍 2013年NoSQL就业趋势分析 鲜为人知的静态、命令式编程语言——Nimrod 高性能Web应用打造攻略:扩展过程中20个最大的绊脚石 开源项目Marathon:让你的数据中心像谷歌一样运行 精益化运营:10款移动统计分析工具推荐 移动建站工具(一):分秒钟将Web网站移动化 移动周报:小米的“倚天屠龙记” 智能手表是个尴尬的产品 屏幕缺陷一枪毙命 看15岁的谷歌的前21位员工现在都在做什么 分析师:三星将失去中国市场份额的头把交椅 5款工具助你写出更好的Java代码 Noitom:&amp;quot;中国创造&amp;quot;的动捕技术 缘创派:帮助技术人员寻找创业伙伴 Nginx创始人Igor Sysoev解读Nginx的发展史 对女性友好的编程语言 ISC2013专家云集,畅谈全球网络安全 CTO俱乐部第109期下午茶:数据库之分久必合,合久必分 CloudConvert:支持移动应用的格式转化服务 Angular.js VS. Ember.js:谁将成为Web开发的新宠? 斯卡利沉寂多年后首谈乔布 他的离开错在董事会不在我 CTO如何避免决策失控(二):遭遇棘手问题的七种迹象 微软面向开发者提前发布Windows 8.1 安抚不满情绪 PostgreSQL 9.3发布,可靠性、可用性获得较大提升! Web设计的新宠儿:卡片式设计 LSI:从“计算”架构到“数据流”架构的变迁 [开源推荐]TurboGears:一站式的Python开发框架集合 腾讯云公测终究还是来了 BAT云大战将开启? iOS 7将从这三方面影响IT界 超越Google,他企图将整个互联网塞进1台电脑 2013互联网安全大会议题先睹为快之CSA中国理事赵粮 *.lwp的文件怎么打开亚?请大家帮帮忙!!! DataGrid为何不显示? CRegKey::QueryValue()读取数值数据时遇到的问题…… chmod命令后造成启动错误 请教大家一个关于webservice transaction的实例 菜鸟急救,注册表文件导入的问题? 填空题(急) 钱本草呢? 关于手机的问题 求救:GetFieldValue()函数出错. 一个很简单的问题,来者有分 有个小问题请大家诊下 怎么样使stringgrid中的fixrows和rowcount数目一致? 如何在JB中联接SQL数据库! 把数据结构(比如说一个链表里的数据)保存为文件,不用序列化怎么办啊? 哪位大哥有installshield的安装password? 日期型中的“年”,如何取得? SOS!!!! COPY文件有哪些办法?用什么方法比较好? 友元函数重载操作符@obj,被c++编译器编译后被解释 对vcl库底层机制一些不明白的地方2 存储图片为什么不行? 真的很苦恼,如何同时更新两个文件? 数据库问题,大家帮帮忙啊 asp.net连接sqlserver 关于在同一asp页中的两个select的问题 如何写这种存贮过程?(急) 哪儿有asp的帮助下载! 关于数据库连接方法的问题! -----------产生错误:线程正被中止。--------------- 我刚刚学了C#,但是不知道自己的程度 如何在点击Memo时取得当前行的值? midas的一些问题! EditPlus 2中如何实现对java编译和调试?立刻给分 为什么在 CHtmlDialog 中映射的html button click 的事件会促发两次? 广州一戒毒所将数十戒毒女卖给“鸡头” 菜鸟级问题。看到有很多视图的列有带链接的。不知道怎么做。怎么看链接 为什么安装Windows 9x,要选FAT32分区类型,而如果安装Windows 2000/NT/XP系统,就必须要选NTFS类型,这两个类型有什么不一样吗? 各位大哥好,问Email问题 哪位仁兄告诉我,Windows写驱动主要用什么工具呀,(包括调式驱动) 学校期中考试的题目 treeview问题,请问在.net中该事件如何写 如何运行servlet? 表里面有几千条带扣的字符串需要将扣去掉。 能否解释一下,如下一些东东。 〔绝对给分〕几个问题! 用PHP的GD库可以输出png图片,如何在用户浏览的时候同时将图片保存一份到服务器上? 更换操作员应该怎么做,谢谢! JAVA优于C++ 怎样修改桌面图标 char转换numeric出错 床底下放个门 有谁知道 有什么说法吗?有谁知道 有什么说法吗? 为什么欧盟无法当今世界主要的政治力量,希望详细说明、希望能从欧盟体质发面,具体谈谈、 葡萄糖对年轻人有什么好处 -风扇扇风风吹扇扇动风声 下联?请对出 风扇扇风风吹扇扇动风声 下联! 《记承天寺夜游》练习1、记叙文一般具备六要素,请你将《记承天寺夜游》一文的六要素写在下面的横线上(1)___________ (2)______________ (3)________________ (4)_______________ (5)________________ (6)_______ 叶圣陶先生说的什么?是解读文章的一把钥匙 地窖可以保鲜吗 生物圈是由_和_构成的,填空 大家帮帮我!请问你读过叶圣陶的作品有___(任写一部)请自选角度,简要评价一下你所读过的叶圣陶的作品.(100字左右)!急! 有避雷针打雷能玩电脑吗 下雨天闪电能玩电脑和手机吗 观书有感(二)这首诗读后能联想到哪些读书体会一定要二 有避雷针的话,打雷玩电脑也不怕? 本人是单细胞生物,你告诉我吧! 东西流向的河流,向西流时,南岸侵蚀,北岸沉积;向东流,北岸侵蚀,南岸沉积.为什么啊. 壶盖也是不锈钢的电水壶都什么牌子的有啊? 单细胞的危害、快 什么力使分子汇聚成堆,从而组成物质? 如果有避雷针,在打雷时还能玩电脑吗? 屏息凝神怎么造句 说出生物圈各组成部分的具体情况 每个小区都会有避雷针吗,玩电脑会被劈吗 用“屏息凝神”造句 ______是生物圈中最基本和最重要的组成部分为什么答案是绿色植物而不是生产者呢?我觉得生产者要比绿色植物更准确一些. 如图,图中灯泡均完好,当开关S断开时,三只灯泡都发光,那么S闭合时:L1、L2不亮,L3亮(因为L1、L2均已经短路,只有L3为通路)我想问的是:不是说导线没用经过用电器直接与电源的两极相接才 用难堪 屏息 诡异 模糊造句 用这四个次连词成段 生物圈的范围分哪三部?各部分由什么组成? 七八个星天外,两三点雨山前 (“七八、两三” 稻花香里说丰年,听取蛙声一片.(“一”什么意七八个星天外,两三点雨山前 (“七八、两三” 稻花香里说丰年,听取蛙声一片. 兴奋在神经元之间的传递与糖蛋白有关系吗? 生物圈有那几个部分? 安装有避雷针的楼房在打雷打闪的时候能使用电器吗? 黄河流经四川没有? 生物圈包括哪几部分 我跪求五年级的作文快要开学了救命啊~要求:1要现实一点的 不要什么下雨下雪什么的不要写新年啥的写的像女我都说实际一点的了...还有我是小学生,没有那啥男的也没有姐姐.虽然我知道你 为什么黄河和长江都绕开了四川盆地,而没有进入四川内部呢? 洋葱炒什么?想要简单点的 打雷的时候避雷针把电引到那里去 生活中,有很多事并不是想象的那么坏,只要肯动脑筋,坏事就会变好事的,举几个例子 中国哪个沿海城市环境最好 为什么灯泡发黄光? 习作:好多事情并不像我们想象的那么糟. 只要肯动脑筋,坏事往往能变成好事.在生活中,你一定也遇习作:好多事情并不像我们想象的那么糟. 只要肯动脑筋,坏事往往能变成好事.在生活中, 什么函数的倒数等于e^-x 详细点 打雷时能用电脑吗~我这是居民区~楼上应该有避雷针.雷不是很大.可能是雨声掩盖主了.雷声基本是听不到.可以说是完全~有点啰嗦哈~应为我想玩龙之谷,555 用蓬勃、 灵敏、 炫耀、 骇人听闻、 随声附和 、神通广大至少两个词语造句 叶圣陶老先生写过什么文章?写过什么呢?我怎么也想不起来! 节能灯突然发黄原本只是微闪几下,然后突然灭了.灯泡有黄色暗光 用随声附和、飘渺、莽莽榛榛造句50字左右 若0 氙气灯泡怎么发黄光啊问题描述:我新安的氙气灯泡 (穷人安不起氙气大灯) 都说氙气灯泡跟氙气大灯是一样的白色的 只不过不太亮 但是我按的看不出是白光啊 看这是黄光 只不过比 苏轼的诗的特点 已知LOGaX+LOGaY=1,求X平方+Y平方-2(X+Y)的最小值 灯泡都是发黄光的吗 形容肯动脑筋的成语! 若0 床底下放风筝 打一歇后语 用屏息凝视造句 已知0 床底下放东西好吗 床底下放东西有哪些弊端 和 组成.有 ,(包括和 组成.有 ,(包括 ,,,) 已知0<a<1,0 <x ≤y <1,且logax×logay=1,那么xy 北京怀柔一副乡长利用拆迁敛财近千万 美国电视台为“童言辱华”道歉 被指诚中国核潜艇屡遭外国侦查 官兵兴奋“免网民要求数学滚出高考 北京教委称收到九省区市可网查个人信用 注册到看结果“灰代办”黑色交易揭秘:北京买套房省央行个人征信平台体验:网查信用记录要1477吨进口菜油掺入国储库 中储粮评论称转基因食品屡屡混入国储库跟管理英国“小报女王”将接受刑事审判 令世美国多名政客支持监听 吁欧洲提高自身美国多名政客支持监听 吁欧洲提高自身人民日报谈教育实践活动:有些干部只说温岭数百医护人员抗议医疗暴力 呼吁严德媒:窃听丑闻得教训 要像中俄一样变德国社民党称需要成立调查委员会 斯诺英国发生强烈暴风雨天气已致4死 逾6遵义市委书记廖少华被调查 曾多次强调英国发生强烈暴风雨天气已致4死 逾6德国社民党称需要成立调查委员会 斯诺安倍突访土耳其 传为劝阻土放弃购中国“《瞻对》艺术水准太差?”比完赛就走没想到还得了一等奖文化路施工转道行车方向依旧团结协作的小蚂蚁伊河路一老旧小区内电动车充电着火又惹美牙修复一气呵成办学定位准确赢得社会认可梦幻《筑梦》人气超“都教授”漯河市首批33家单位公共设施节假日向为爱奔跑一夏善心结出硕果彭丽媛与外方领导人夫人共绣“丝绸之路第二时间|弄巧成拙枪击风波缘何越闹越大?信息公开不透明美国男篮向保罗·乔治致敬梦幻《筑梦》人气超“都教授”大陆居民赴台个人游“覆盖”36个城市云南永善发生5.0级地震本周阴雨绵绵 兰州天凉好个秋曼联输球范加尔遭嘲讽“沙老大”揭行业“潜规则”:交物业9西安“限号”办离婚 律师:不要干涉
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘