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.   

    发现ShellExecute(0,'','NOTEPAD.EXE','','',Sw_Shownormal);可以打开可是我这show.exe 用另一程序测试 都可以打开啊
      

  2.   

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

  3.   

    文件是肯定在同一目录的
    show.exe 只是个简单的form,
    我后面新建了个工程show2.exe就可以了 ,也不知道什么原因
      

  4.   

    ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);