关于网友提出的“ 为什么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