// 在消息处察态理程序中添加消息处理程序
ON_COMMAND(IDC_BUTTON1, &CExitButtonDlg::OnBnClickedButton1)
//锋橡 函数定义
void CExitButtonDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码银没旁
OnCancel()// 关闭窗口
EndDialog(IDCANCEL)// 结束对话框
}
在程序入口处添加freeconsole()函数。MFC界面控制台界面窗口,在运胡哗答行程序的时候芦棚会d出来,为了调试裤慧可以显示输出printf或cout信息,要关闭的话在程序入口处添加freeconsole()函数。BOOL KillProcessFromName(CString strProcessName){
//创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)
//PROCESSENTRY32进程快照的结构体
PROCESSENTRY32 pe
//实例化后使用Process32First获取第一个快照的进程前必做的初始化 *** 作
pe.dwSize = sizeof(PROCESSENTRY32)
//下面的IF效果同:
//if(hProcessSnap == INVALID_HANDLE_VALUE) 无效的句柄
if(!Process32First(hSnapShot,&pe))
{
return FALSE
}
//将字符串转换为小写
strProcessName.MakeLower()
//如果句柄有效 则一直获取下一个句柄循环下去
while (Process32Next(hSnapShot,&pe))
{
//pe.szExeFile获取当前进程的可执行文件名称
CString scTmp = pe.szExeFile
//将可执行文件名称所有英文字母修改为小写
scTmp.MakeLower()
//比较当前进程的可执行文件名称和传递进来的文件名称是否相同
//相同的话Compare返回0
if(!scTmp.Compare(strProcessName))
{
//从快照进程中获取该进程的PID(即任务羡搭管理器中的PID)
DWORD dwProcessID = pe.th32ProcessID
晌枝 HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessID)
::TerminateProcess(hProcess,0)
CloseHandle(hProcess)
return TRUE
}
scTmp.ReleaseBuffer()
}
兄谨拿 strProcessName.ReleaseBuffer()
return FALSE
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)