vc 关闭外部程序

转载 2012年03月23日 13:54:21
举个例子,通过VC编程来关闭外部的程序或结束一个进程,如下:

//通过判断当前的进程名来结束指定的进程(即关闭指定的程序)
bool TerminateProcessByName(const CString strProcessName)
{
bool bResult = false; //函数返回值

HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hSnapshot == INVALID_HANDLE_VALUE)
{
bResult = false;
}

PROCESSENTRY32 ProcessInfo;
ProcessInfo.dwSize = sizeof(PROCESSENTRY32);

//获取第一个进程的信息
BOOL bStatus = Process32First(hSnapshot,&ProcessInfo);

while(bStatus)
{
//获取当前进程的进程名
CString strCurrentProcessName = ProcessInfo.szExeFile;

//判断是否找到了指定的文件
if (strProcessName.CompareNoCase(strCurrentProcessName) == 0)
{
//获取当前进程的句柄
HANDLE hCurrentProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,ProcessInfo.th32ProcessID);

if (hCurrentProcess == NULL)
{
bResult = false;
}

else
{
//结束当前的进程
TerminateProcess(hCurrentProcess,0);
bResult = true;
break;
}

}

else
{
//获取下一个进程的信息
bStatus = Process32Next(hSnapshot,&ProcessInfo);
}

}

return bResult;
}

这里用到的函数主要是:
CreateToolhelp32SnapshotPROCESSENTRY32、Process32First、OpenProcess、TerminateProcess、Process32Next。
注意:这里是通过判断进程名来结束指定的进程,有时候多个程序有相同的进程名,比如当打开多个IE浏览器时,这多个IE浏览器的进程名都是一样的,如果这时通过上面的方法来结束进程时,会同时关闭所有的IE浏览器(因为它们的进程名相同)。

相关文章推荐

vc中调用外部程序方法

  • 2011年12月12日 16:06
  • 148KB
  • 下载

VC++获得外部程序的图标

  • 2012年08月23日 09:27
  • 13KB
  • 下载

VC中调用外部程序方式总结

目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了《vc中调用其他应用程序的方法(函数) winexec,shellexecute ,cre...
  • cs_21cn
  • cs_21cn
  • 2012年06月01日 11:05
  • 374

vc调用外部程序参考

  • 2011年05月20日 11:11
  • 13KB
  • 下载

VC 调用外部程序

1 WinExec原型:UINT WinExec(  LPCSTR lpCmdLine,  // address of command line  UINT uCmdShow      // wind...

VC 获取外部程序执行结果

VC上调用外部程序的方法大家应该很熟悉,比如ShellExecute,CreateProcess。例子:system("D://adb.exe devices >c://temp.txt"); She...
  • pcsuite
  • pcsuite
  • 2011年04月01日 14:58
  • 3155

VC中调用并获取外部程序输出

VC上调用外部程序的方法大家应该很熟悉,比如ShellExecute,CreateProcess。 例子: system("D://adb.exe devices >c://temp.txt");...
  • zwlhoho
  • zwlhoho
  • 2015年11月13日 15:47
  • 1331

VC 调用外部可执行程序

方法一: WinExec( "notepad.exe,SW_SHOW "); 方法二: ShellExecute(NULL, "open ", "notepad.exe ",NULL,NU...

VC中调用外部EXE程序方法

在VC中,有些时候,我们需要调用其他一些现有的EXE可执行文件,当然,有些时候,我们也调用自己编写生成的EXE文件,以完成对不同选择条件的反应。   通过总结,基本上调用EXE文件的办法有四种: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc 关闭外部程序
举报原因:
原因补充:

(最多只允许输入30个字)