-
Shellute的各类用法
添加时间:2013-6-26 点击量:一、哄骗体系默认的邮件收发器发送电子邮件
Uses
..., ShellAPI;
Var
lpHwnd: HWND;
lpOperation, lpFile, lpParameters, lpDirectory: String;
Begin
lpHwnd:= GetDesktopWindow();
lpOperation:= open;
lpFile:= mailto: + Maple119@263.net + ? //主邮件地址后以?停止
+ &cc= + balaba960808@163.com //抄送
+ &bcc= + lyf.kibosoft.com //暗送
+ &subject= + 主题
+ &body=+ 第一行内容 + %0d + 第二行内容 //主题内容以 %0d 转行
+ &File= + D:\Help.rtf; //附件只对 Outlook Express 有效
lpParameters:= ;
lpDirectory:= ;
Shellute(lpHwnd, pChar(lpOperation),
pChar(lpFile), pChar(lpParameters),
pChar(lpDirectory), SW_SHOWNORMAL);
End;
二、打开一个网页
Shellute(0, open, http://www.google.com, , , SW_SHOWNORMAL);
三、打印文档
Shellute(0, print, D:\Help.rtf, , , SW_SHOWNORMAL)
四、哄骗体系默认的法度打开指定的文件
Shellute(0, open, D:\Help.rtf, , , SW_SHOWNORMAL))
五、用指定的法度打开指定的文件
Shellute(0, open, notepad.exe, D:\Help.rtf, , SW_SHOWNORMAL)
六、履行快捷体式格式(.LNK)
Shellute(handle,open,c:\windows\desktop\aaa.lnk,, , sw_hide); Win首要运行EXE文件。如:Win(’Notepad.exe Readme.txt’, SW_SHOW);
Shellute不仅可以运行EXE文件,也可以运行已经接洽关系的文件。
起首必须引用shellapi.pas单位:uses ShellAPI;1.标准用法
Shellute函数原型及参数含义如下:
function Shellute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;
●hWnd:用于指定父窗口句柄。当函数调用过程呈现错误时,它将作为Windows消息窗口的父窗口。例如,可以将其设置为应用法度主窗口句柄,即Application.Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得)。
●Operation:用于指定要进行的操纵。此中“open”操纵默示履行由FileName参数指定的法度,或打开由FileName参数指定的文件或文件夹;“print”操纵默示打印由FileName参数指定的文件;“explore”操纵默示浏览由FileName参数指定的文件夹。当参数设为nil时,默示履行默认操纵“open”。
●FileName:用于指定要打开的文件名、要履行的法度文件名或要浏览的文件夹名。
●Parameters:若FileName参数是一个可履行法度,则此参数指天号令行参数,不然此参数应为nil或PChar(0)。
●Directory:用于指定默认目次。
●ShowCmd:若FileName参数是一个可履行法度,则此参数指定法度窗口的初始显示体式格式,不然此参数应设置为0。
若Shellute函数调用成功,则返回值为被履行法度的实例句柄。若返回值小于32,则默示呈现错误。
上述仅仅是Shellute函数的标准用法,下面将介绍它的特别用法。2.特别用法
若是将FileName参数设置为“http:”和谈格局,那么该函数将打开默认浏览器并链接到指定的URL地址。若用户机械中安装了多个浏览器,则该函数将按照Windows 9x/NT注册表中http和谈处理惩罚法度(Protocols Handler)的设置断定启动哪个浏览器。
格局一:http://网站域名。
如:Shellute(handle, ‘open’, http:// ; www.neu.edu.cn’, nil, nil, SW_SHOWNORMAL);
格局二:http://网站域名/网页文件名。
如:Shellute(handle, ‘open’, http:// ; , SW_SHOWNORMAL);
若是将FileName参数设置为“mailto:”和谈格局,那么该函数将启动默认邮件客户法度,如Microsoft Outlook(也包含Microsoft Outlook Express)或Netscape Messanger。若用户机械中安装了多个邮件客户法度,则该函数将按照Windows 9x/NT注册表中mailto和谈处理惩罚法度的设置断定启动哪个邮件客户法度。
格局一:mailto:
如:Shellute(handle,‘open’, ‘mailto:’, nil, nil, SW_SHOWNORMAL);打开新邮件窗口。
格局二:mailto:用户账号@邮件办事器地址
如:Shellute(handle, ‘open’,‘ , nil, nil, SW_SHOWNORMAL);打开新邮件窗口,并主动填入收件人地址。若指定多个收件人地址,则收件人地址之间必须用分号或逗号分隔开(下同)。
格局三:mailto:用户账号@邮件办事器地址?subject=邮件主题&body=邮件正文
如:Shellute(handle, ‘open’, ‘ ?subject=Hello&Body=This is a test’, nil, nil, SW_SHOWNORMAL);打开新邮件窗口,并主动填入收件人地址、邮件主题和邮件正文。若邮件正文包含多行文本,则必须在每行文本之间参加换行转义字符%0a。
例子(delphi):
在一个应用法度调用c:Project1.exe;
Shellute(handle, ’open’,’c:Project1.exe’,’字串内容’,nil, SW_SHOWNORMAL);
在Project1.exe里可以调用:
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=1 to paramcount do
if ParamStr(i)〈〉’’ then showmessage(ParamStr(i));
end;最后的那个参数,为窗口指定可视性方面的一个号令。
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
请用下述任何一个常数
SW_HIDE 隐蔽窗口,活动状况给令一个窗口
SW_MINIMIZE 最小化窗口,活动状况给令一个窗口
SW_RESTORE 用本来的大小和地位显示一个窗口,同时令其进入活动状况
SW_SHOW 用当前的大小和地位显示一个窗口,同时令其进入活动状况
SW_SHOWMAXIMIZED 有效窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和地位显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用比来的大小和地位显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE雷同