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

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

谷歌工程师再次公布Windows漏洞 并称微软很难合作 Glassdoor评前景最令员工乐观的十大科技公司 华为上榜 下一代Android深度前瞻 第18级API功能揭秘 Web开发者不容错过的20段CSS代码 8大核心要点:我们能用HTML5 Canvas做什么? 移动周报:直接拿来用!最火的Android开源项目 前MySQL CEO:云将重新定义开发者的每一件事 CIO必知六件事,至少必须想到的! PPT集萃(四):来自五位中外专家分享的虚拟化和云存储实践 Jolla和Sailfish OS,那些你应该知道的事儿 不仅保值还能升值:过时的苹果电脑创下67.1万美元售价 三十天完成跨平台办公套件Joeffice的开发 jQuery 1.10.0和2.0.1同时发布 软件初创公司招投的九个必备技巧 BYOD浪潮即将来袭 六大年轻杀手重塑企业软件 灵活运用AppFlood:提高APP eCPM的10个技巧 事半功倍:你应该知道的HTML5五大特性 创建API监视器的五大技巧 流量激增15倍+ 乐蜂网桃花节大促背后的技术事 Windows 8和IE 10:如何保障视频播放? 云计算大会讲师秀之13:梁家恩,12年积累,构建永久免费的语音云平台 众望所归:智能手机芯片将为服务器所用 没有学位,他通过以下四步进入Google 谈谈Google Polymer以及Web UI框架的未来 保密入髓:前苹果员工揭示公司是如此善于保守秘密 调查显示:软件开发公司出现“人才荒” 三星拟6月20日在伦敦召开新品发布会 推手机新品Galaxy和ATIV 历届中国云计算大会PPT集萃(五):数据安全隐患解析与应对 搞趣网创始人:做不了阳春白雪 就做下里巴人 CMDN Club 28期:创业公司一定不要浪费资源 浅谈Lean UX:我们到底该怎么设计? 有谁知道如何用VB执行类似网页POST操作? 用于控制edit,dbedit数字录入的问题 这样的事务怎样处理? 公司气人,不报销了,我的mcse考试票转让!我年前买的是250块一张, 为什么卸载oracle8i后再装就装不上了? 磁条卡阅读器编程!! vb的控件可以继承吗?我可以在原来的控件上加上一些事件和属性 但是原来的还在 不用自己从头写?可以吗? datawindow 一个搜索的问题,求救 有谁知道如何用VB执行类似网页POST操作? 如何用API取得windows的Company名称? ATL编写自定义属性页!!! 关于在sql 语句中 格式输出字段的内容………… 有对JSP标签库熟悉的吗? 关于delete的非法操作!! 关于COM程序 LInkError处理! 急。。。。关于xml解析器安装的问题 关于在 servlet 中,service 以及 doGet、doPost应用的问题?!------------请进:) 怎样得到用odbc创建的数据库类型信息 使用AfxBeginThread,将一个类CDownload down作为参数传递给线程,该怎么传递和接受参数??? 如何判断用户关闭了浏览器窗口还是转入了其他地址,或者刷新了页面? 大家谁作过数据导入导出的程序阿,能不能给点指点阿!急!!!! 新手求救:如何发布一个用JAVA/JSP/SQL SERVER开发的系统!!! SQL里update的使用问题 今天辞职,散分散分散分! 我form中一select中的option被选中,在提交后,如何用javascript来保存选中的那个option 怎样调用约定为CDECL的DLL? 弹出菜单的位置问题,简单,快进 LINUX下的虚拟主机的问题 用过网上的G711-G721-G723代码做语音压缩的请进,高分 在98上安装了apache+php+mysql,让用287端口测试,287端口是什么 字体设置, LogFont的lfFaceName... 关于随机 新手问题 如何动态改变 RichEdit 中的字体?很急! !!!怎样把stringgrid中已经选择得数据读出来!!!! 我该学些什么? CObject类是MFC类吗? 请问除了http://java.sun.com/j2se/1.4/download.html外,哪里还有jdk1.4下载? 有没有兄弟做过关于DSP与PC的并行通信? 请教接口查询的问题 如何清空表中的全部记录? 我是一个vb 的初学者,请大家介绍一两本好的关于数据库开发的书! 《Delphi淡手辑略 之 数据库篇》:数据安全保存(函数) DB2 store procedure Easy_Problem!!!关于对话框!!! weblogic下调用java bean出了点问题 (苯苯) 如何在两地用netmeeting通信,共享信息,两方为win98和win2000server,使用modem连接 tomcat 如何与 jboss 进行集成 Regular DLL中向导生成的winapp对象有什么用? 关于Install shield 的问题 一个高难度问题,特急! 和栩栩如生相近的词语 一个8横过来,右边不封口的符号是什么意思无 用意思相近的词语替换句子或词语打破沙锅问到底 ( )疑惑 ( ) 撑腰 ( ) 抱负( )欺凌 ( ) 求“测定角速度和角加速度”实验的设计方案 冬天的四字词语 英语好,数学能过得去,物理一窍不通,希望大家给我建议啊. 形容一个不如以前那么栩栩如生的词是什么啊?要贴切一点的如题 谁能帮我写出三个描写冬天的四字词语? 我是一名高中女生,数学、英语和物理特别好,化学也不错,请问我选什么科好 形容像真的一样的四字词语,如:栩栩如生 描绘四季的词,最好是四字词语 英语翻译1.低铬合金球2.稀土Rc:微量 6个8的答案13 请问加什么符号? 高一物理里的线速度和角速度是矢量还是标量啊?谢谢亲故! 像 代替—替代 这样的词还有哪些? 英语翻译 1 2 3 4 5 6 7 8 9=1中间加什么符号 描写梅花、四季的好词好句,要短一点,词语要四字词语,急需30好句,40好词, 《为人民服务》的论点.论据.论证 质量为3KG的物体,水平力F=6N的作用下,在光滑水平面从静止开始运动,时间3秒,求F力下T=3秒内对物体做的大哥大姐们给力啊 1、汽车车速是指车轮边缘的线速度?还是指车轮旋转中心的速度?2、角速度是标量?还是矢量? 静止在光滑水平面上的物体,在水平力F的作用下发生位移s并获得速度V.若水平面不光滑,物体运动时受到的摩擦力为F/n(n>1),若要使物体由静止出发通过位移S而获得速度V,则水平力变为A、[(n+1 一木块静止在水平面上,质量m=2kg,在水平向右,大小为6N的力作用下,由静止开始运动,若水平面间的动摩擦因数为0.2,求木块运动的加速度?木块运动6秒后的速度?(g=10m/s2)求详细过程. 15个描写四季的四字词语和含有相应词语的句子春夏秋冬都可以,注意是四字词语! 设一质量为m=80kg的木块,在力为F=10V的作用下,在光滑水平面上静止开始运动,问8S后其速度和位移是多少?在光滑水平面上静止开始给予微小扰动使之运动! 质量为3kg的物体,在水平力f为6n的作用下,在水平面运动,在运动时间为3s内对物体所做的功 描写美丽校园的词语要美丽赞美 光滑水平面上静止一个物体,现有水平恒力F作用在物体上,使物体的位移为x时,立刻换成-4F的力,作用相同时间,此刻物体的位移为_____ 在光滑的水平面上,质量为3kg的物体从静止开始,在向东的6N的力的作用下运动了4s在4s末这个向东的力消失,立即有一个向北的60N的力作用在物体上物体在这个力的作用下又运动了1s,则( )A物 角速度是否是矢量?如果是,那么公式v=rω中,等式右边速度方向沿切线,右边ω的方向为什么垂直与平面的,方向为何不一致? 质量为500g的物体,原来的速度v1=2m/s,受到一个与运动方向相同的力F=4N的作用,发生的位移s=2m,物体的末动能是多大?我这样做对吗?F=maS=v0t*1/2at^2两式联立,求出t.然后再v=at最后Ek=1/2mV^2 四字词语填空:( ) ( )喜爱 用什么词语来形容花坛 形容傍晚景象的四字词语 描述运动的相关知识点? 春,款款而来,走进了我们的校园.继续扩写,多一些,语句优美 倒8字形是什么天气符号 体育如何讲解知识点 大写八倒过来那个符号怎么打类似于\ /但是要短很多`不是∨`象丶ノ 25*8是什么意思?那个符号是什么意思? 质量m=2KG的物体,在水平力F=10N的作用力下,在光滑的水平面上从静止开始运动,T=2S1.在2S内的平均功率2.在2S末的瞬时功率 八卦里的八个符号都叫什么?都是什么样子? 一个静止的物体,质量2KG 水平方向受到6N的力 摩擦力2N 求3S末的速度和 3S内 在水平力F=30N的作用力下,质量m=5Kg的物体由静止开始沿水平面运动.动摩擦因素为0.2若力在作用6s后撤去,求物体还能向前运动多长时间?(g=10m/s*2) 关于中秋节的作文四百字左右 质量m=3kg的物体,在水平力F=6N的作用下,在光滑水平面上从静止开始运动,运动时间t=3s1.力F在t=3s内对物体做的功2.力F在t=3s内对物体所做功的平均功率3.在3s末力F对物体做功的瞬时功率 木块A以3m/s的速度沿水平地面匀速向右运动了2s,木块克服摩擦力做功为30J,则动滑轮移动的距离及作用在动滑轮上的拉力各是多少?(不计滑轮自重及滑轮与轴,绳之间的摩擦)这是图 高中化学和物理知识点,化学要详细点. 一个物体放置在桌上,当它做速直线运动时摩擦力是6N,那用6N的力去拉它,它做匀速直线运动速度只能是一个吗 已知公差不为0得的等差数列{an}与等比数列{bn}满足:a1=b1,a3=b3,a7=b5,A:b11=a13B:b11=a31C:b11=a63D:b63=a11 高中物理,化学必考知识点··可以发我邮箱,jyjyjy59@sina.com 栩栩如生 照样子写词语 在公差不为零的等差数列an和等比数列bn中,已知a1=b1=1,a2=b2,a6 =b3(1)求等差数列an的的通项公式an和bn的通项公式(2)求数列{an乘bn}的前n项和Sn(用错位相减法) 什么的中秋节写作文100字的 栩栩如生的词语是什么意思 是的是的古文怎么讲 中秋节的名作(作文)100字左右 怎样测试角速度与角加速度 8横起来是什么符号 急求1篇80到100字的中秋活动作文 介绍也行
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘