调用ShellExecute打开进程
时间: 2023-10-03 22:10:59 浏览: 120
VC调用DOS命令浅析
你可以使用 `ShellExecute` 函数来打开一个进程。这个函数可以接受多种参数,包括要打开的文件名、命令行参数、工作目录等等。下面是一个示例代码,演示如何使用 `ShellExecute` 打开一个记事本程序:
```c++
#include <windows.h>
#include <shellapi.h>
int main()
{
// 要打开的文件名
LPCWSTR lpFile = L"notepad.exe";
// 命令行参数
LPCWSTR lpParameters = NULL;
// 工作目录
LPCWSTR lpDirectory = NULL;
// 打开方式
int nShowCmd = SW_SHOW;
// 调用ShellExecute函数打开进程
ShellExecute(NULL, L"open", lpFile, lpParameters, lpDirectory, nShowCmd);
return 0;
}
```
上述代码中,`ShellExecute` 函数被调用时,第一个参数为窗口句柄,这里我们传入 `NULL` 表示不需要指定窗口;第二个参数是要执行的动作,这里我们传入 `"open"` 表示打开文件或者程序;第三个参数是要打开的文件或程序名;第四个参数是命令行参数,这里我们不需要传入任何参数,所以传入 `NULL`;第五个参数是工作目录,同样不需要指定,传入 `NULL`;最后一个参数是打开方式,这里我们传入 `SW_SHOW` 表示打开窗口时显示出来。
注意,`ShellExecute` 函数返回的是一个 `HINSTANCE` 类型的句柄,如果打开进程失败,则返回值为 `NULL`。
阅读全文