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关闭外部程序

#include #include using namespace std; int main() { WinExec( "C://WINDOWS//NOTEPAD.EXE", SW_SHOW);...
  • wbryfl
  • wbryfl
  • 2010年02月08日 23:35
  • 1121

VC程序中运行其他程序的三种方法

有三个函数可以使用: WinExec, ShellExecute,CreateProcess 1.WinExec(String lpCmdLine,Long nCmdShow); 参数说明: ...
  • qq_33266987
  • qq_33266987
  • 2016年06月08日 10:38
  • 1514

启动、关闭外部进程ShellExecute() 、CreateProcess()、TerminateProcess()、OpenProcess()==

学习用到了启动、关闭外部进程的知识,通过网上资料及自身实践作如下总结: 主要用到:ShellExecute() 、CreateProcess()、TerminateProcess()、OpenPro...
  • u010439291
  • u010439291
  • 2016年05月02日 22:52
  • 2770

c#打开和关闭外部程序

c#打开外部程序: System.Diagnostics.Process.Start("QQ"); c#关闭外部程序: 可以使用GetProcess方法得到当前所有进程的对象,然后遍...
  • xiebaochun
  • xiebaochun
  • 2014年04月15日 10:46
  • 5228

如何在自己的系统中打开并关闭外部程序

   大家知道,在一个大型复杂的系统中,有时会调用一些外部程序来帮助我们完成某些特定功能。     然而,如何打开并关闭这些外部程序呢?也许,这是一个老生常谈的话题,但笔者仍要继续讨论这个问题,原因有...
  • mitta
  • mitta
  • 2008年12月20日 00:05
  • 1377

初学VC之路:第一个任务,编写对话框——调用其他应用程序的方法

接下来的一个星期都?ldquo;找代码——抄代码——运行失败”,再“找代码——抄代码——运行失败”的恶性循环中度过,除了第一天搭好了对话框和按钮的框架以外,每天就只有小小的一点进展:    第一天查找...
  • fxpopboy
  • fxpopboy
  • 2006年12月29日 19:28
  • 1056

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

1.通过C++编程启动或关闭外部程序: (1-1)启动程序 WinExec("G://test//TestApp.exe",SW_SHOW)正常 WinExec("G://test//TestApp...
  • IT_ZB
  • IT_ZB
  • 2016年06月07日 12:48
  • 1062

关闭其它程序(BCB,API)

 由于上班不能被BOSS看到在上网,于是自己写了一个能关闭IE的程序,这样就能用一个快捷键及时关掉所有IE。下面是如何关掉IE的,都是GOOGLE+MSDN+摸索……void CloseIEProce...
  • wellerweldon
  • wellerweldon
  • 2007年05月22日 17:45
  • 1126

delphi启动外部程序执行结束

一、为什么要启动外部程序 也许,你想让你的程序完成全部的功能。不过,无论从物力还是人力上,你都应养成资源共享的习惯。更好的考虑是,充分利用已有的程序,而让你的程序专注于某一方面的功能。比如说,浏...
  • wlanye
  • wlanye
  • 2016年06月23日 16:14
  • 1903

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

VC上调用外部程序的方法大家应该很熟悉,比如ShellExecute,CreateProcess。 例子: system("D://adb.exe devices >c://temp.txt");...
  • zwlhoho
  • zwlhoho
  • 2015年11月13日 15:47
  • 1661
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc 关闭外部程序
举报原因:
原因补充:

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