如何在程序中运行一个exe文件??

fwijqiut 2003-09-30 12:15:10
请问如何在程序中执行一个exe文件?我查到了一个函数
int _execl( const char *cmdname, const char *arg0, ... const char *argn, NULL )我是这样调用的:
_execl("good","good",NULL);
其中good是我放在同目录下的一个exe文件,功能是打印出一行文本。结果执行后什么都没有
请问有什么问题??或者还有什么别的方法??
非常感谢。
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonybaobao 2003-10-01
  • 打赏
  • 举报
回复
我看你像是控制台的程序,那就用winexec吧!
whoishere 2003-09-30
  • 打赏
  • 举报
回复
UINT WinExec(
LPCSTR lpCmdLine, // command line
UINT uCmdShow // window style
);
或者
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
或者
BOOL CreateProcess(
LPCTSTR lpApplicationName, // name of executable module
LPTSTR lpCommandLine, // command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
BOOL bInheritHandles, // handle inheritance option
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // new environment block
LPCTSTR lpCurrentDirectory, // current directory name
LPSTARTUPINFO lpStartupInfo, // startup information
LPPROCESS_INFORMATION lpProcessInformation // process information
);

自己选一个用吧
vcforever 2003-09-30
  • 打赏
  • 举报
回复
UINT WinExec(
LPCSTR lpCmdLine, // 命令行参数,就是可执行文件的路径如:"C:\\test.exe"
UINT uCmdShow // 窗口风格,可以为 SW_SHOW,SW_HIDE,SW_MAXIUM .....
);
上面这个函数是从16位的Windows沿用下来的,这个函数比较老,不过参数少很容易使用

HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
这个函数是Windows的外壳函数,其内部是调用了CreateProcess()函数,参数比较多,具体的就参考一下MSDN 吧!呵呵……

BOOL CreateProcess(
LPCTSTR lpApplicationName, // name of executable module
LPTSTR lpCommandLine, // command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
BOOL bInheritHandles, // handle inheritance option
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // new environment block
LPCTSTR lpCurrentDirectory, // current directory name
LPSTARTUPINFO lpStartupInfo, // startup information
LPPROCESS_INFORMATION lpProcessInformation // process information
);
这个函数是是这三个函数中功能最强大的一个函数,需要设置的信息比较多,可以完成的对子进程的控制也是最多的,值得楼主好好研究一下!
上面的就是俺说的,希望对楼主有所帮助!
vcforever 2003-09-30
  • 打赏
  • 举报
回复
UINT WinExec(
LPCSTR lpCmdLine, // 命令行参数,就是可执行文件的路径如:"C:\\test.exe"
UINT uCmdShow // 窗口风格,可以为 SW_SHOW,SW_HIDE,SW_MAXIUM .....
);
上面这个函数是从16位的Windows沿用下来的,这个函数比较老,不过参数少很容易使用

HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
这个函数是Windows的外壳函数,其内部是调用了CreateProcess()函数,参数比较多,具体的就参考一下MSDN 吧!呵呵……

BOOL CreateProcess(
LPCTSTR lpApplicationName, // name of executable module
LPTSTR lpCommandLine, // command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
BOOL bInheritHandles, // handle inheritance option
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // new environment block
LPCTSTR lpCurrentDirectory, // current directory name
LPSTARTUPINFO lpStartupInfo, // startup information
LPPROCESS_INFORMATION lpProcessInformation // process information
);
这个函数是是这三个函数中功能最强大的一个函数,需要设置的信息比较多,可以完成的对子进程的控制也是最多的,值得楼主好好研究一下!
上面的就是俺说的,希望对楼主有所帮助!
豆腐 2003-09-30
  • 打赏
  • 举报
回复
ShellExecute
ruihuahan 2003-09-30
  • 打赏
  • 举报
回复
up

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧