ShellExecute的多种用法  
官方Delphi 学习QQ群: 682628230(三千人)
频道

ShellExecute的多种用法


ShellExecute的多种用法
━━━━━━━━━━━━━━━━━━━━━━━━━━

use ShellAPI

ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。
  有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。下面举例说明它的用法。

打开应用程序
   ShellExecute(Handle, 'open', PChar('c:\test\app.exe'), nil, nil, SW_SHOW);
打开记事本,并打开一个文件(系统能识别记事本应用程序的路径,因此我们不必使用绝对路径)
   ShellExecute(Handle, 'open', PChar('notepad'), PChar('c:\test\readme.txt'), nil, SW_SHOW);
打印一个文档
   ShellExecute(Handle, 'print', PChar('c:\test\test.doc'), nil, nil, SW_SHOW);
   注意:可能你会看到word暂时的被打开,但它会自动关闭。
打开一个HTML页面
   ShellExecute(Handle, 'open', PChar('http://www.3464.com/'), nil, nil, SW_SHOW);
你能通过一个已经注册的文件类型来打开应用程序
   ShellExecute(Handle, 'open', PChar('c:\test\readme.txt'), nil, nil, SW_SHOW);
用windows Explorer 打开一个目录
   ShellExecute(Handle, 'explore', PChar('c:\windows)', nil, nil, SW_SHOW);运行一个DOS命令并立即返回
   ShellExecute(Handle, 'open', PChar('command.com'), PChar('/c copy file1.txt file2.txt'), nil, SW_SHOW);
运行一个DOS命令并保持DOS窗口存在
ShellExecute(Handle, 'open', PChar('command.com'), PChar('/k dir'), nil, SW_SHOW); //从Memo1取得批处理命令并运行:
procedure TForm2.Button1Click(Sender: TObject);
begin
ExecBat(Handle,Memo1.Lines);
end;procedure ExecBat(Handle : HWND; AStrings : TStrings);
begin
AStrings.Add('del ExecBat.bat');
AStrings.SaveToFile('ExecBat.bat');
ShellExecute(Handle,'open',PChar('ExecBat.bat'),nil,nil,SW_HIDE);
AStrings.Delete(AStrings.Count - 1);
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.13241100311279 seconds