
1遍历系统的所有进程,找到指定名称的进程ID
2打开进程ID,得到进程句柄
3用进程句柄做参数调用terminateProcess
你那是什么进程ID啊,如果你不会搜索,可以在任务管理器里看,那个列叫PID(默认是没有显示这列的,要自己加上去).
DWORD nPID = 代码找到的或是任务管理器里看的PID
HANDLE hProcess = OpenProcess( PROCESS_TERMINATE, FALSE, nPID );
TerminateProcess(hProcess,4);
ShellExecute使用这个函数,打开记事本,或IE,但要注意该函数的返回值,即应用程序的句柄,然后通过
[DllImport("user32", EntryPoint = "GetWindowThreadProcessId")]
private static extern int GetWindowThreadProcessId(IntPtr hwnd, out int pid);
获得进程ID。
Picture
control的类是CStatic。可以用如下语句获取bitmap。
CStatic
PictureBox;
HBITMAP
bmp
=
PictureBoxGetBitmap();
现成获取ID的函数没有,不过也很简单啊,继承CStatic添加一个记录ID值的功能就好啦。
TCHAR szPath[MAX_PATH];
DWORD nSize = MAX_PATH;
HANDLE hProc = GetCurrentProcess(); // 这里是举例,如果用指定进行,直接用下面函数
if (QueryFullProcessImageName(hProc, 0, szPath, &nSize))
{
_tprintf(szPath);
}
以上就是关于MFC中,知道进程的名称了,怎么通过进程来关闭程序全部的内容,包括:MFC中,知道进程的名称了,怎么通过进程来关闭程序、MFC 启动程序,获得窗口、请问mfc中如何获取一个picture control控件中的bitmap的id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)