shellexecute打开和结束进程
时间: 2023-09-28 13:13:17 浏览: 240
强力打开和结束进程模块源码
Shellexecute函数可以用来打开一个程序或文件,而不需要知道它的执行路径,因为它会在注册表中查找。
下面是一个使用Shellexecute打开程序的示例代码:
```
#include <windows.h>
#include <shellapi.h>
int main()
{
ShellExecute(NULL, "open", "notepad.exe", NULL, NULL, SW_SHOWNORMAL);
return 0;
}
```
其中,第一个参数是父窗口句柄,可以为NULL;第二个参数是操作类型,可以为"open"、"print"、"explore"等;第三个参数是要打开的程序或文件名,可以是绝对路径或者注册表中的关联名称;第四个参数是命令行参数,可以为NULL;第五个参数是工作目录,可以为NULL;第六个参数是窗口显示类型,可以为SW_SHOWNORMAL、SW_HIDE等。
结束进程可以使用TerminateProcess函数,示例如下:
```
#include <windows.h>
int main()
{
DWORD pid = 1234; // 要结束的进程ID
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
return 0;
}
```
其中,第一个参数是进程权限,可以为PROCESS_ALL_ACCESS、PROCESS_TERMINATE等;第二个参数是是否继承句柄,可以为TRUE或FALSE;第三个参数是进程ID。TerminateProcess函数可以强制结束进程,第二个参数是退出码,可以为0。结束进程之后,需要使用CloseHandle函数关闭句柄。
阅读全文