我用下面的代码来实现调用一个程序,并让他掩藏,可是程序一调出来就显示,根本没有掩藏,可又不知道那里错了,请大家帮忙CString str= "a.exe"; STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags= STARTF_USESHOWWINDOW;
si.wShowWindow =SW_HIDE; CreateProcess(NULL,str, NULL, NULL, NORMAL_PRIORITY_CLASS,0,NULL, NULL, &si, &pi);
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags= STARTF_USESHOWWINDOW;
si.wShowWindow =SW_HIDE; CreateProcess(NULL,str, NULL, NULL, NORMAL_PRIORITY_CLASS,0,NULL, NULL, &si, &pi);
解决方案 »
- 如何获得已经打开文件的句柄
- 用VC++调用已经用C++做好的程序,应该怎办?
- 简单DLL调用出错
- 关于声音播放中使用BUffer的问题
- 请问如何在程序中得到JPG,GIF,BMP的图像尺寸
- 大家有没有缓解眼睛疲劳的方法,我的眼睛都花了
- 请教如何设置用Create出来的CListCtrl的属性(好菜的了)
- 有两个Radio Buttom,一个Static text控件。
- 在Dialog Based应用程序中怎样通过bottom连接其它对话筐
- 如何通过子对话框的添加按钮向付对话框的listbox添加数据,请高手指教!!
- 通过QQ或msn怎么能看到对方的ip地址么?
- 我用FTP(自己写的)上传了一个可执行文件,请问怎样才能启动该文件?
http://search.csdn.net/Expert/topic/2132/2132335.xml?temp=.3145258
char readBuf[5000];
DWORD bytesRead=0;
HANDLE hReadPipe,hWritePipe;
PROCESS_INFORMATION pi;
LPPROCESS_INFORMATION lppi;
SECURITY_ATTRIBUTES lsa; //安全属性
STARTUPINFO myStartup; lsa.nLength = sizeof(SECURITY_ATTRIBUTES);
lsa.lpSecurityDescriptor = NULL;
lsa.bInheritHandle = true; lppi = π
//创建管道
if(CreatePipe(&hReadPipe,&hWritePipe,&lsa,0))
ShowMessage("Pipe Created OK .\n");
else{
ShowMessage("Pipe Creation Error");
return;
} memset(&myStartup,0,sizeof(STARTUPINFO));
myStartup.cb = sizeof(STARTUPINFO);
myStartup.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
myStartup.wShowWindow = SW_HIDE;
myStartup.hStdOutput = hWritePipe; if(!CreateProcess("d:\\test.exe",NULL,NULL,NULL,true,CREATE_NEW_CONSOLE,
NULL,NULL,&myStartup,&pi)){
ShowMessage("CreateProcess error:"+IntToStr(GetLastError()));
return;
//也可以做个定时器查询该窗口并进行隐藏