因此,我分别制作了两个控制台应用程序,一个名为“周期表”,另一个命名为“搜索元素”。
“搜索元素”应用程序是“周期表”应用程序的子部分。这意味着我想从“周期表”中调用“搜索元素”,当用户关闭“周期表”时,我想结束“搜索元素”的所有实例。
那我该怎么做??
更多信息
操作系统: Windows 7 32位编译器: Visual C++
发布于 2014-01-14 00:39:06
发布于 2014-01-14 03:03:01
这是样品。请注意,没有错误或Ctrl+C处理。
int main()
{
std::vector < PROCESS_INFORMATION > processes_;
while (true)
{
char command_;
std::cout << "Press n for new Notepad instance or x for Exit\n";
std::cin >> command_;
switch(command_)
{
case 'n':
case 'N':
{
std::array<TCHAR, 1024> args_ = {};
PROCESS_INFORMATION info_;
STARTUPINFO details_ = {};
details_.cb = sizeof(details_);
if(CreateProcess(_T("C:\\Windows\\System32\\Notepad.exe"), args_.data(), NULL, NULL, false, 0, NULL, NULL, &details_, &info_))
processes_.push_back(info_);
break;
}
case 'x':
case 'X':
{
for(auto process_ : processes_)
{
TerminateProcess(process_.hProcess, 0);
CloseHandle(process_.hProcess);
CloseHandle(process_.hThread);
}
processes_.resize(0);
}
default:
{
std::cin.clear();
std::cout << "Invalid input";
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
}
}
}
https://stackoverflow.com/questions/21108967
复制