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

用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.

VB软件开发中的错误捕获及处理技术 VB中Combo的一种输入检查制约方法的实现 VB中Winsock控制的UDP协议的使用 VB中的时间处理问题 Windows操作平台下CGI的实现 -VB资料 按下某组键(HotKey)便执行某程式-VB资料 把所有的字体名称放到 ComboBox -VB资料 把文件置入到Text或RichText中-VB资料 捕捉 MouseExit 事件 -VB资料 操作过程动态显示 -VB资料 查找月份的最后一天-VB资料 程序启动时,如何自动判断 MDB文件是否损坏并自动修复?-VB资料 读取和修改Windows注册表 -VB资料 对VB的IDE环境的扩展 防止文本控件中的部分滚动-VB资料 关闭正在运行的程序 -VB资料 关机消息的拦截 -VB资料 VB获得、设置鼠标双击间隔时间 VB获取当前系统平台 记载Windows使用的时间-VB资料 加速Visual Basic For Application(VBA) 监视程序的运行情况 -VB资料 交换鼠标按钮 -VB资料 交换鼠标左右键 -VB资料 禁止使用 Alt-Tab 或 Ctrl-Alt-Del -VB资料 控制光驱门的开关 -VB资料 VB利用 窗口函数监视系统的运行情况(VB类) VB判断是否在VB5环境下运行 VB判断一个32位程序是否结束 VB判断一个程序启动完成(不是结束) 屏蔽TextBox的系统菜单 -VB资料 关于 ACCESS 添加记录的问题? 为什么我在数据窗口中的sql语句中使用参数有错误?提示invalid和不完整! 在UNIX下如何编译C++程序 请教一个COM对象创建的问题 如何获取DropDownlist的SelectedItem.Text? lirun(笨笨狗)请进来领分 怎么得到数据库中的id值。 有点痛,不知道是什么病,大家帮忙看看 GOOGLE被中国"冷处理" 请介绍一本好一点的Winsock函数编程的书,电子书或者纸书都可以 关于全局CDatabase; mysqldump备份数据库时总是出错? 谁有http://211.100.6.72的源代码最好有附带的数据库连接说明。200 在2000server上安装oracle的问题,求教! 怎样深层理解delphi的类变量 数据库中日期范围怎么比较? 如何将Access的数据导入SQL-server 散分了,高手请进---.net不能够bug ???怎样在Delphi中对导出到Excel文件单元格进行划线???? 在VB中如何进行程序的数据输入有效性验证? 请上次回答我NT问题的同志进来拿分,上次只给了100 如何学winzip那样,在弹出菜单中增加一个新的项目 英国有好点的软件公司吗? 高分求救水晶报表问题? 从数据库中取最新的第10~第20条纪录的sql语句如何写啊?各位大侠帮忙啊 记录集问题 sco unix下可以运行tcpdump吗? 无法启动X,出现cound not init font path element unix:7100,removing from list...could not open default font 'fixed' 请问是否可以在VC++下编写一个声音程序,如何编写?(只要能发出一个或两个音符就可以了) 程序员今年还可以报吗? 在flash里面,用什麼命令,可以把gif變成矢量圖?? 怎么用TC编写一个显示320*240的16色位图的程序? 用什么函数可以得到msflexgrid的行号(row的值)? 请朋友们帮忙推荐几本PB8的关于B/S和三层结构编程的书 网上邻居的问题! 在ASP.NET中,控件好像不能被设置成控件数组,请高手回答 Word文章被锁定了! 非常奇怪的数据连接问题 乐晕了,散分! 数据库问题 韩国公司展示防性侵袭的贞操内裤(图文) asp+oracle中关于字符串相加的问题。 各位大哥,我对sybase很陌生,有几个简单的问题想请教,很急,在线等待!!! 有msdn的请进! 杭州程序员一个月多少钱啊 网上邻居求救啊 有没有DOM方面的资料呀 VC的Maximize Speed优化到底优化了什么? 动态建表 向各位高人求救 页面转移的问题,轻松拿分 细胞学说主要阐明了() A.细胞的多样性B.细胞结构的复杂性C.生物结构的统一性D.生物界的多样性 乙烯的结构简式可以写成CH2CH2不要双键吗?请问? 肠炎病人身体脱水后必须采取静脉注射生理盐水为什么复习生物是的问题,谢谢··肠炎病人身体脱水后必须采取静脉注射生理盐水是因为( ) A 生理盐水有利于组织细胞利用 B 生理盐 细胞学说主要阐述了什么? 高一立体几何(简单的)O1是正方ABCD-A1B1C1D1的上底面A1B1C1D1的中心,M是对角线A1C和截面B1D1A的交点.求证:O1,M,A三点共线. 患了肠胃炎的病人,医生往往要给他注射生理盐水,是为了( )A 维持体内水分的代谢平衡 B 维持体内水和无机盐的代谢平衡 C 维持体内无机盐的代谢平衡 D 调节体内血糖的浓度 胸有成竹指的十二生肖当中什么动物 为什么氢离子和亚铁离子和硫酸根能共存 KMnO4氧化kI实验中H2So4的作用 十二生肖三长两短指哪个动物 铝的化学性质及试验过程和结论怎样设计关于铝的性质的实验,最好有结论! 有什么 东方小故事 电动机的额定功率p,其中相电流和线电流到底该如何算?线电流I=P/(1.732*U*cosφ*η),相电流? 高一化学做铝的性质实验时,,不能用于除去铝表面氧化膜的是A砂纸打磨泡B在烧碱溶液里C泡在盐酸里D泡在热水 有关08年我国发生过的重大事件作文,如四川地震、北京奥运会、北京残奥会及神舟七号发射成功 微生物呼吸时的气体是什么 铁离子、亚铁离子、氯离子、氢离子、硫酸根离子是否能共存?为什么?在线等… 人体中有多少必需元素,多少微量元素,失去平衡会得什么疾病? 黄河的水文特点:是世界上含沙量最大的一条河流,下游成为“ ”长江的航运特点:是中国最重要的内河航运大动脉(被誉为“ ”) 铝有那些性质(要求设计实验证明,说清实验现象) 东方时事评论2010年8月20日 乙烯结构简式?如题 汽轮机水冲击的危害有哪些如题,汽轮机水冲击的危害主要有哪些呢 墙里一共二根线,以前是单独控制一个灯的,现在想换成五孔带开关插座,开关控制灯,插座独立使用问了一下人,说不能这接,只能要么控制灯,要反就插座,不能两全其美,如果能怎么接, 大洋洲的轮廓图怎么画? 汽轮机发生水冲击时,有哪些象征? 羧酸A(分子式为C5H10O2)可由醇B氧化得到,A和B可以生成酯C.符合这些条件的酯只有四种.请写出结构简式 细胞学说用现在的观点来看对吗?“细胞是生物体结构和功能的基本单位”对吗?病毒没有细胞结构啊? 简述汽轮机发生水冲击的象征? 分子式为C5H10O2的酯共有几种如果,先拿出一个官能团酯基,剩C4H10,先碳链异构共2种,然后官能团异构,总共只有4种。这种思路对不对啊? 如何根据电机实际输出频率f、电动机输出的有功功率P、滑差s、电机额定电压U、功率因数cosφ,计算出电机等值负荷阻抗,有个什么样的公式吗? CAO2+K2SO4+KI=?应该会有碘生成求具体方程式 化学式为C5H10O2羧酸A可由醇B氧化得到,A和B可生成酯C(相对分子质量为172),符合此条件的酯有几种希望写得详细点儿 黄河是世界上含沙量最大的一条河,全河含沙量的百分之九十来自于哪个河段 我应该装多大的漏电保护器和空气开关?我家电表是2.5(10)A,电线是4平方毫米单股铜线.室内线分为两路:一路接有电磁炉(最大1900W)、电饭煲(650W)、洗衣机(450W)、冰箱(100W)、电视(120W)计3220W;另 KI溶液与H2SO4酸化的H2O2反应的方程式 管式加热炉在点火前为什么要对炉膛进行蒸汽吹扫? 当正常人体感觉到冷时,通过神经和体液调节,可使:当正常人体感觉到冷时,通过神经和体液调节,可使 A.促甲状腺激素分泌减少 B.汗腺分泌量增加 C.皮肤毛细血管血流速度加快 D.有机物氧化分 化学式为C5H10O2的羧酸A可由醇B氧化剂得到,A和B可生成酯C(相对分子质量为172)化学式为C5H10O2羧酸A可由醇B氧化得到,A和B可生成酯C(相对分子质量为172),符合此条件的酯有几种?A.1种 B.2种 坐井观天是十二生肖里面的哪只动物 [关于物质的量浓度]V L Fe2(SO4)3 溶液中含a g 硫酸根离子V L Fe2(SO4)3 溶液中含a g 硫酸根离子,取此溶液 V/2,用水稀释成V /L ,则稀释后的溶液的 三价铁离子 的 物质的量浓度为 ( )A.a/576 mol/L B.125a/ 硫酸根离子和H离子和Cl离子和次氯酸根离子能共存吗 十二生肖中每种的动物的寓意 V 升Fe2(SO4)3溶液中汗Fe3+ m 克,则溶液中硫酸根离子的物质的量浓度为? 急!求各位高手 [例1]下图是一种分子式为C4H8O2的有机物的红外光谱谱图,则该有机物的结构简式为:红外光谱谱图 怎么看 额定电压220伏,功率45千瓦电机三角接法的电流 怀孕了,子宫还会产生卵细胞吗怀孕一个月的时候,我没发觉,行房后(体外射精)测试纸发现怀孕了,去B超检查就说有一个多月了,请问最后那一次可能又怀孕而且打B超都没看到吗? 急性肠胃炎患者严重脱水是,为什么要注射生理盐水是为了维持身体什么的代谢平衡 缩写句子:黄河是世界上含沙量最大的河(进行缩句)? 上海燃烧器配件找哪家 烘箱实验的原理和目地是什么 如何培养自己的创新思维 7.4V电池带动100个LED串联要多大的电阻 得了急性肠胃炎为什么要通过静脉注射生理盐水? 大学有机化学实验,对溴乙酰苯胺的制备中,溴滴加速率过快有什么副作用? 3个1.5V电池接一个黄光LED,需要多大的电阻,怎么换算? 要做一个土壤微生物实验,如何取其土样? 简述细胞学说的主要观点 大量饮水及静脉注射葡萄糖对尿量有何影响,为什么 急性肠胃炎的患者严重脱水时,为什么要注射0.9%的生理盐水A维持体内蛋白质代谢平衡 B维持体内水代谢平衡C维持体内糖类代谢平衡 D维持体内盐代谢平衡
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘