怎样创建console的进程,但不显示控制台?
一个GUI程序,创建进程调用了一个console程序。但不想显示控制台,怎么写?
我用的是spawn函数创建进程。
问题点数:60、回复次数:4Top
1 楼Featured(我握着爱情的门票静静排队……)回复于 2005-11-29 21:30:11 得分 40
使用CreateProcess:
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof STARTUPINFO;
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
PROCESS_INFORMATION pi;
BOOL res = CreateProcess(NULL,
"xxx", NULL,NULL,NULL,
NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW,
NULL,NULL,&si,&pi);
Top
2 楼Featured(我握着爱情的门票静静排队……)回复于 2005-11-29 21:30:47 得分 0
或者:
WinExec("cmd /c d:\xxx\yourExe.exe",SW_HIDE);Top
3 楼rulorse(rulorse)回复于 2005-11-29 21:40:30 得分 0
哈哈,明白了,谢谢!Top
4 楼lifengice0706(无)回复于 2005-11-29 22:27:21 得分 20
说个绝的。
在可执行文件中(.exe)找到PE\0\0,及pe头,从这里向后偏移5c,可以看到那个字节是3,改为2就可以了。
其实就是修改了subsystem,改为了windows(原为console)。
下来你不管怎么调他,都不会有console了!
Top




