写一个window简单的shell代码
时间: 2023-06-14 13:03:12 浏览: 83
简单的shell编写
4星 · 用户满意度95%
以下是一个简单的 Windows 命令行 Shell 的代码示例:
```c++
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main() {
string command;
while (true) {
cout << "> ";
getline(cin, command);
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (CreateProcess(NULL, const_cast<LPSTR>(command.c_str()), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
} else {
cout << "Error: " << GetLastError() << endl;
}
}
return 0;
}
```
该代码使用了 Windows API 中的 `CreateProcess` 函数来启动新的进程,从而执行命令行输入的命令。在 Windows 中,每个命令都是一个可执行文件,因此我们只需将用户输入的命令作为参数传递给 `CreateProcess` 函数即可。通过 `WaitForSingleObject` 函数等待进程的结束,然后关闭进程句柄和线程句柄。如果 `CreateProcess` 函数返回错误,则输出错误码。
阅读全文