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

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

Android游戏开发之旅16 异步音乐播放 Android游戏开发之旅15 按键中断处理 Android游戏开发之旅14 游戏开发实战一 Android游戏开发之旅13 Sensor感应示例 Android游戏开发之旅12 Sensor重力感应 Android游戏开发之旅11 View中手势识别 Android游戏开发之旅十 位图旋转 Android游戏开发之旅九 VideoView类剖析 Android游戏开发之旅八 SurfaceView类实例 Android游戏开发之旅七 自定义SurfaceView Android游戏开发之旅六 自定义View Android游戏开发之旅五 Path和Typeface Android游戏开发之旅四 Canvas和Paint实例 Android游戏开发之旅三 View类详解 Android游戏开发之旅二 View和SurfaceView Android游戏开发之旅一 长按Button原理 Android程序内存管理必读 Android按键事件映射表和转义符对照 Android Intent大全更新到API Level8 Android中Intent对应的category列表大全 Android中内嵌字体实现个性化 TextView多行本文滚动轻松实现 获取和设置ListView的选择项 EditText中显示隐藏Android输入法窗口 自定义ListView行间的分割线 Android程序完全退出的三种方法 WebView使用技巧和介绍 EditText仅允许特定类型数据输入 自定义Android应用的访问权限 android.text.format文件大小和日期解析类 Android Rootkit相关揭秘 十万火急,关于Unix平台下C编程(FTP传输方面) 我的英文还凑合,那么我应该选择4 中文版,还是 5英文版?(众所周知,5中文版翻译太差) 求开发 ActiveX Libary 的详细步骤! Com Object 与 Automation Object 区别,如何用? 用VB如何处理多个用户同时操作一个DBF文件的错误? 一个进程为VC2.0, 另一个为VC6编的MFC程序。如何控制从第2个控制第一个进程? 请assdeng(山野村夫)看看 pb,delphi,vb三种快速成型的语言都分别适合开发那些软件?欢迎大家来讨论 请问各位同仁如何设置sybase anywhere服务器参数? 串口通讯能否用pb做成动态连接库的形式?(急) 怎样使Response.redirect打开一个新窗口 为什么环境变量替换不正确? 怎么打开foxpro中,通过剪切板考过去的图片,dbimage和image控件都不能打开,显示“bitmap is not valid” vaj中如何使用自己的JAR? 怎样改变当前窗口的大小,是当前窗口最大化? 高手争峰 如何把一个log文件读到数据结构中去 请教一个很菜的问题:) 这个程序有什么问题? 怎样做???? 简单问题,可就是搞不定!! 请问jsp中servelet在win2000中的设置方法,需要下载什么类库文件么? 一个新问题,那就是点击工具栏的退出按钮以后只退出当前打开的窗口,而不是整个应用! 如何在 index.htm 中引用 count.asp ? 远程数据库访问的问题--亟待高手们解答 王国荣的电子信箱是哪里? 我的程序生活 先给50分,稍后在加:我正在做一个系统,需要做到每次开机时提醒用户有哪些事情要做! [Tips]获取Memo&Richedit中光标坐标的最简单方法! 急急,如何才能把图片的底色与窗口的底色自然地融为一体? 如何改变按钮的颜色? 在mtml help workshop 中如何制作带上下文关联ID的帮助 调试程序时,控制台程序与直接建立的C++程序有区别吗? 给菜鸟推荐本书 VB调用外部DLL问题 【洗心革面,重新做人,割发断指,庄严声明】 从今以后 kook 不近女色,不灌疯水,以 panda_w 为榜样,苦练VC,研习汇编,做一个 CSDN 的正面典型! 谁有ULTRAEDIT 的注册码 能否推荐几本关于VB提高和关于VB数据库的书 紧急问题,关于SSL通过MS PROXY String类的问题 连接数据库的东东真是奇怪! 如何打开pdm格式文件 ===========灌水传说=========== 奇怪的问题,怎么办? 呵呵,初学者,请多多指教 剖 尸 小问题:自定义组件的显示 怎样打印picturebox中的内容??? 关于Datawindow的Group的问题 谁能告诉我 Delphi6的序列号 紧急问题,关于SSL通过MS PROXY! 请问,如果用ASP作邮件发送,接收的功能,win2k怎么设置????????? 河套平原发展种植业的有利和不利自然条件 根据花的三种意思,各写一句话.1植物的花 为了迎接2012年的元旦,实验小学准备制作一些小红花,平均分给一些同学制作,如果7个人做,则多做3朵,如果4个人做,则少做2朵,如果9个人做,则多做5朵.你知道他们最少想做多少朵.(用最大公因 种植业什么前景最好 写出几种相应植物的名称.树木:(),(),();花:(),(),();草:(),(),().请帮下忙, 怎么剪小红花 我国的种植业主要分布在东部地区.西部地区.南部地区.北部地区 选择一种植物,写出它四季的不同特点不知道要不要是四季常绿的植物,如果要的话,兰花啊、月季啊,都是.花呀、树呀,什么都可以,要四季特点! 老师把一些小红花分给同学,如果减少一个同学,每人正好分5朵,如果增加一个同学,每人正好分4朵一共有多少朵小红花? 花卉种植业属不属于密集型农业? 一些能代表春夏秋冬四季的植物(花,树,草)是那些?最好每个季节给我4~5个具有代表性的 我今天语文课得了朵小红花,求英语 热带高原气候型花卉在环境要求上有什么特点 用一种植物的花朵,用仿佛写一句话反映这种花的特点怎么写 修改病句:国庆节那天,天安门前挂满了五颜六色的红旗 养观叶类花木一般晒几个小时太阳我的花卉大多是观叶类的,有花园,室内有南北窗户,花园在南面,花园没有低矮的灌木或树,请问观叶类植物在室内放那个窗台合适,南窗日照长,北窗过于阴蔽 写出十个含有花,草,树,木等植物名字的成语,并选起中2-3个写一两句连贯的话 广场上到处是五颜六色的红旗(修改病句) 请问,花卉的叶片类型有哪些?我们作业中需要这个...具体的是月季的叶片类型 描写花、草、树、木的成语各10个.花10个、草10个、树10个、木10个! 节日的校园里,插满了五颜六色的红旗.(修改病句) 怎么画花朵和叶片………总之就是一直学不会……把握不了啊这样………画出来太假都看不出来…… 含“花”“草”“叶”“树”的成语被选为最佳答案的条件:⒈数量最多者; ⒉举例最精者; ⒊速度最快者.(达到两条以上的所有答案全部成为备选) 修改病句:校园里生满了白的、红的、黄的等五颜六色的花. 有一种观叶植物,夏天的叶子是绿色的,冬天新长出叶子是粉色的向花朵,请问高手这种植物的名字是什么植物叶子的形状有点像吊株梅,也是没有叶柄,即不是南天竹也不是粉掌,是小型的没有主 分别以花、草、树、木四个字结尾的成语例如妙笔生花 春风吹得满山的桃树绽开了五颜六色的花,一片火红,非常精彩.修改病句按题修改 用塑料大棚种植蔬菜.1.在外界气温较低时,菜农场在大棚上遮盖草帘,温室前口加防寒裙,有时还将煤炉搬到大棚内.这些措施有什么作用?2.大棚内黄瓜开花时,有经验的菜农会将蜂蜜放养在自己 有树有花的成语有树有花字的(必须)急!1 <修改病句> 1.公园里生长着各种树和五颜六色的鲜花请修改以上病句 塑料大棚中蔬菜、花卉的种植农业属于(多项) 植物花的结构名称分别是什么?带插图~急用 病句:春天公园里五颜六色的花,竞相开放.请问怎么修改?急 关于花多花美花香的四字词语 用塑料大棚种植蔬菜时,为什么应选无色透明的塑料大棚? 花朵是季节的衣裳,请你分别写出四季中最有代表性的花、花卉的名称.写4个,春( ) 夏( )秋( )冬( ) 用四字词语描写春天开的花.比如娇艳美丽的玫瑰. 利用塑料大棚温室栽培种值反季节蔬菜是大力发展现代农业,使农民科技致富的重要途径之一,塑料大棚的主要作用是A保持水分B提供氧气C提高温度D防治害虫急 植物花的各部分名称请大家根据上面写出个名称,1.()2.()3.()4.() 描写美丽的花的四字词语有哪些? 想投资一个塑料大棚种植蔬菜大概投资多少? 图中植物的名称竹类 既然说宇宙无限大,那么科学家怎么知道它在膨胀呢?只是通过实验来证明的吗? 搭建一个占地1亩种铁皮石斛的大棚需要多少钱 冬天里,有哪些长绿叶和开花的植物主要说一下室外的 . 宇宙是不是无限大的我认为宇宙不是无限大的,宇宙是一个看不到的边的(因为科学家说宇宙大部分是由黑色物质组成)球体,它也同样运转着,而宇宙外又是另一个异度空间!宇宙是在慢慢的看 一亩蔬菜大棚一年种植成本是多少?我要是在安徽亳州地区包地最低大概在50亩(500元/年 一亩 )以上需要多少成本·?我 要全年种植蔬菜.·还有这50亩该怎么管理· 再加上 一些村民去 施肥打 绿叶在植物生长过程中有什么作用 宇宙无限大吗?如果无限大,那么他是怎么形成的.在它形成之前又什么.如果有生必有灭那么宇宙也会灭的喽?...如果宇宙不是无限大,那么他附近还有更大的大宇宙了吗?---回答1个也好...高几的 玉树所在地区制约当地种植业发展的自然因素是 植物的枝条和其绿叶 都是由植物的哪一部分发育而来 宇宙是无限大的吗我个人觉得宇宙应该是无限大的,我就想看看你们的看法,和理论,因为怎么可能有限呢,你说宇宙像个球一样?那球以外的呢?或许我觉得宇宙应该称为空间吧`我是这么认为的, 最大的花()最有力气的果实()永不落叶的植物()最甜的植物()最毒的树()寿命最长的花()要快寿命最短的花()最早的植物学著作() 能帮我看看这是什么植物吗? 为什么宇宙无限大? 花朵和果实是植物的什么? 植物花期随海拔高度是怎样变化的需要具体的 比如说同一种植物随海拔的升高花期向后推迟的天数变化规律 云南和贵州交界地区发展种植业有哪些不利的自然条件? 在日常食用的食物中,主要食用叶、茎、根、花、果实、种子的植物分别有哪些?分别举例一两个就行了急! 一条红绳长120分米,可以做4朵小红花,做25朵小红花需要红绳多少分米?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn