您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 为什么ShellExecute,WinExec无法打开外部程序?

为什么ShellExecute,WinExec无法打开外部程序?

来源:网络整理     时间:2016/7/5 9:26:15     关键词:

关于网友提出的“ 为什么ShellExecute,WinExec无法打开外部程序?”问题疑问,本网通过在网上对“ 为什么ShellExecute,WinExec无法打开外部程序?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 为什么ShellExecute,WinExec无法打开外部程序?
描述:

procedure TForm1.Timer3Timer(Sender: TObject);
begin
ShellExecute(0,'','show.exe','','',Sw_Shownormal);
//WinExec('show.exe',Sw_Shownormal);
end;
上面两个都无法打开,ShellExecute返回值是42,执行时 光标也有正在处理的提示,闪了下 就是不打开这show.exe.
在同一目录新建个程序也是用Timer3Timer又完全可以打开show.exe
这会是什么原因呢?


解决方案1:

确保,执行程序与调用程序在同一文件夹中,否则请指名路径

解决方案2:

ShellExecute函数原型及参数含义如下: 
  ShellExecute( 
  HWND hwnd, //父窗口句柄 (如:NULL,Handle等)
  LPCSTR lpOperation, //操作类型 (如:"open")*要加英文双引号
  LPCSTR lpFile, //要进行操作的文件或路径 
  LPCSTR lpParameters, //当lpOperation为“explore”时指定要传递的参数,通常设为NULL 
  LPCSTR lpDirectory, //指定默认目录,通常设为NULL 
  INT nShowCmd //文件打开的方式,以通常方式还是最大化或最小化显示,一般为SW_SHOWNORMAL 
  ) 


以上介绍了“ 为什么ShellExecute,WinExec无法打开外部程序?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2291895.html

相关图片

相关文章