?? 019.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI專題文檔-程序應用-->用Delphi創建Internet快捷方式</TITLE>
<META NAME="keywords" CONTENT=" DELPHI專題文檔-程序應用 用Delphi創建Internet快捷方式">
<META NAME="description" CONTENT=" - DELPHI專題文檔-程序應用 - 用Delphi創建Internet快捷方式">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<a href="index6.html">返回</a>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">用Delphi創建Internet快捷方式</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p><font color="#ffffff">----</font> 在Windows中,為了方便文件或者文件夾的訪問,我們常常為某些文件或者文件夾建立快捷方式(shortcut)。同樣,在Internet
Explorer中,我們也可以為自己喜愛的網址建立Internet快捷方式(Internet Shortcut)。只要點擊快捷方式,Internet
Explorer就會啟動,并聯接到相應的網站。事實上,除了Internet Explorer可以創建Internet快捷方式之外,在我們的應用程序中也同樣可以實現此功能。在本文中,我將要向讀者介紹如何在Delphi程序中為網址建立Internet快捷方式。
</p>
<p><font color="#ffffff">----</font> <b>Internet快捷方式的格式</b> </p>
<p><font color="#ffffff">----</font> 為了分析Internet快捷方式的文件格式,我們可以先用Internet
Explorer為某個網址建立一個快捷方式,然后在DOS窗口中用DIR命令找到Internet快捷方式所對應的文件,并且用edit查看文件的內容。不難發現,Internet快捷方式的文件格式與INI文件的格式是一樣的,只不過它的擴展名必須是
.URL罷了。 Internet快捷方式的文件格式如下: </p>
<pre>[DEFAULT]
BASEURL=
[InternetShortcut]
URL=
WorkingDirectory=
ShowCommand=
IconIndex=
IconFile=
Modified=
HotKey=</pre>
<p><font color="#ffffff">----</font> 其中BASEURL、URL和WorkingDirectory這3項的含義是不言而明的。ShowCommand規定Internet
Explorer啟動后窗口的初始狀態:7表示最小化,3表示最大化;如果沒有ShowCommand這一項的話則表示正常大小。IconFile和IconIndex用來為Internet快捷方式指定圖標;如果你不想指定圖標,Windows會使用缺省的Internet快捷方式圖標。HotKey指定一個整數值;HotKey的值及其含義如下:
</p>
<pre>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</pre>
<p><font color="#ffffff">----</font> <b>快捷方式的創建</b> </p>
<p><font color="#ffffff">----</font> 接下來,我們來看一個非常簡單的Delphi例子。此程序將在Windows的桌面上建一個一個名為“計算機世界”的快捷方式,它指向《計算機世界》的首頁;快捷方式的圖標使用Windows
98/95中System目錄(或者Windows NT中的System32目錄)下的shell32.dll動態聯接庫中的第41號圖標。
</p>
<p><font color="#ffffff">----</font> 由于Internet快捷方式的文件格式與INI文件的是相同的,我們可以使用Delphi的TiniFile類來讀寫.URL文件的內容。而要使快捷方式出現在桌面上,我們只要把.URL文件保存在Windows桌面所對應的那個目錄之下即可。當前用戶的桌面目錄可以從注冊表中獲取,此信息保存在Windows注冊表HKEY_CURRENT_USER
根鍵下的Software\Microsoft\Windows <br>
\CurrentVersion\Explorer\Shell Folders主鍵的Desktop項中。 </p>
<p><font color="#ffffff">----</font> 示例程序的單元文件的代碼如下: </p>
<pre>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.
</pre>
<hr color="#EE9B73" size="1" width="94%">
</TD>
</TR>
</table>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -