WinAPI: WinExec - 运行外部程序 //声明 WinExec( lpCmdLine: LPCSTR; {文件名和参数; 如没指定路径会按以下顺序查找 : 程序目录/当前目录/System32/Windows/PATH 环境变量} uCmdShow: UINT {启动选项} ): UINT; //返回值: 大于 31 {调用成功 } 等于 0 {内存不足 } ERROR_FILE_NOT_FOUND = 2; {文件名错误 } ERROR_PATH_NOT_FOUND = 3; {路径名错误 } ERROR_BAD_FORMAT = 11; {EXE 文件无效} //uCmdShow 参数可选值: SW_HIDE = 0; {隐藏, 并且任务栏也没有最小化图标 } SW_SHOWNORMAL = 1; {用最近的大小和位置显示 , 激活} SW_NORMAL = 1; {同 SW_SHOWNORMAL} SW_SHOWMINIMIZED = 2; {最小化, 激活} SW_SHOWMAXIMIZED = 3; {最大化, 激活} SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED} SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活} SW_SHOW = 5; {同 SW_SHOWNORMAL} SW_MINIMIZE = 6; {最小化, 不激活} SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE} SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE} SW_RESTORE = 9; {同 SW_SHOWNORMAL} SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL} SW_MAX = 10; {同 SW_SHOWNORMAL} //举例, 启动记事本: procedure TForm1.Button1Click(Sender: TObject); begin WinExec('notepad.exe' , SW_SHOWNORMAL); end; WinAPI: ShellExecute - 打开外部程序或文件 ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; {指定动作, 譬如: open、print} FileName: PChar; {指定要打开的文件或程序} Parameters: PChar; {给要打开的程序指定参数 ; 如果打开的是文件这里应该是 nil} Directory: PChar; {缺省目录} ShowCmd: Integer {打开选项} ): HINST; {执行成功会返回应用程序句柄; 如果这个值 <= 32, 表示执行错误} //返回值可能的错误有 : = 0 {内存不足 } ERROR_FILE_NOT_FOUND = 2; {文件名错误 } ERROR_PATH_NOT_FOUND = 3; {路径名错误 } ERROR_BAD_FORMAT = 11; {EXE 文件无效} SE_ERR_SHARE = 26; {发生共享错误} SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效} SE_ERR_DDETIMEOUT = 28; {超时} SE_ERR_DDEFAIL = 29; {DDE 事务失败} SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务...