} } }

    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雷同

    我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
    分享到: