C++中利用系统函数启动或关闭外部程序(待完善)

通过C++编程启动或关闭外部程序:

(1-1)启动程序

WinExec("G://test//TestApp.exe",SW_SHOW)正常
WinExec("G://test//TestApp.exe",SW_SHOWMINIMIZED)最小化

其它相关参数:
SW_HIDE 隐藏窗口,活动状态给令一个窗口 
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口 
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态 
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态 
SW_SHOWMAXIMIZED 最大化窗口,并将其激活 
SW_SHOWMINIMIZED 最小化窗口,并将其激活 
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口 
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口 
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口 
SW_SHOWNORMAL 与SW_RESTORE相同

(1-2)针对(1-1)的简单变形

std::string  m_exeString = "G://test//TestApp.exe";
int ret = WinExec(m_exeString.c_str(), SW_SHOW);
 
if (ret > 31)  cout<<"CALL SUCCESS"<    //程序调用成功 
if (ret ==0)  cout<<"NOT ENOUGH MEMORY"<  //内存不足
if (ret ==2)  cout<<"ERROR_FILE_NOT_FOUND"<if (ret ==3)  cout<<"ERROR_PATH_NOT_FOUND"<if (ret ==11)  cout<<"ERROR_BAD_FORMAT"< //exe文件损坏

【注】:
WinExec()函数的第一个参数是LPCSTR类型的,string转换成LPCSTR(即const char *)需要用到转换函数c_str();
================================================================================ 
(2-1)  关闭程序
system("TASKKILL /F /IM TestApp.exe")   //直接关闭程序,不需要加路径

(2-2)针对(2-1)变形
std::string temp = std::string("TASKKILL /F /IM ") + std::string("TestApp.exe"); 
system(temp.c_str());

你可能感兴趣的:(C++中利用系统函数启动或关闭外部程序(待完善))