a0r*_*ega 13 c windows cmd system
我正在编写Dev-C++中的C程序,我需要使用几个Windows(CMD)命令.这很容易,但是当执行system()函数中的命令时,程序在执行中运行控制台.
一个例子:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
system("if not exist c:\my_docs\doc.txt (xcopy /Y doc.txt c:\my_docs\)"); // Cmd command
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
是否存在其他功能,或者没有显示控制台的修改?
谢谢!最好的祝福.
Rol*_*ien 13
您可以使用CreateProcess执行此操作.
STARTUPINFOW si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (CreateProcessW(command, arg, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
Run Code Online (Sandbox Code Playgroud)