100分求教~~~ 把DEBUG_ONLY_THIS_PROCESS换成CREATE_NEW_PROCESS_GROUP就行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思是先要让程序B进入被调试状态,然后结束我的调试程序A希望程序B继续运行按你们说的方法就ok了?我实验实验 shellexecutesystem或者开一个新的进程 在Windows里,父进程结束以后,他的子进程会自动独立运行成新的进程。 PROCESS_INFORMATION pi; STARTUPINFO si; //初始化变量 memset(&si,0,sizeof(si)); si.cb=sizeof(si); si.wShowWindow=SW_SHOW; si.dwFlags=STARTF_USESHOWWINDOW; //打开记事本程序 BOOL fRet=CreateProcess(NULL, "c:\\windows\\notepad.exe c:\\autoexec.bat", NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); if(!fRet) {//创建失败,显示错误信息 LPVOID lpMsgBuf; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); AfxMessageBox( (LPCTSTR)lpMsgBuf); LocalFree( lpMsgBuf ); } else { AfxMessageBox("CreateProcess成功"); m_hPro=pi.hProcess; } 只是DebugActiveProcess 才可以用DebugActiveProcessStop可能要从PEB里去掉DEBUG_ONLY_THIS_PROCESS标记,不然调试程序关闭,被调也会被关 或者你可以以暂停方法CreateProcess, 后用 DebugActiveProcess ,再恢复子进程继续运行 开个新线程VC->我爱编程群,成立了,群号:65755783,欢迎学习和使用VC的朋友加入 ShellExecute就可以执行外部的应用程序的,没必要自己建立进程 你如果想要关闭,需要重新写代码,先用FindWindow()找到他的窗口句柄,然后发送WM_CLOSE消息即可。 仅在主进程退出需关闭子进程时需作特殊处理.如不需要主进程关闭后退出子进程的话,直接CreateProcess即可,无需作其它处理, 初次使用MSCHART遇到的困难,请高手们指导一下,在线等! 这怎么回事啊? CMainFrame 的子窗口问题,CChildView 不能换成其他的CWnd派生类? java调vc程序 Windows中密码的解密 高手帮忙:怎样只让软件只能安装3次. 一个非常容易但非常紧急的问题需要大家帮助 请问如何在两个局域网间通信,最好能附上原代码;高手指教!一定给分; 谁有这方面的经验或者是原代码,请赐教 关于全局钩子的几个问题.请高手指点! 当前实例与当前窗口句柄区别 如何用AfxMssageBox使字符串显示为红色
system
或者开一个新的进程
STARTUPINFO si;
//初始化变量
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.wShowWindow=SW_SHOW;
si.dwFlags=STARTF_USESHOWWINDOW; //打开记事本程序
BOOL fRet=CreateProcess(NULL,
"c:\\windows\\notepad.exe c:\\autoexec.bat",
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi); if(!fRet)
{//创建失败,显示错误信息
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL );
AfxMessageBox( (LPCTSTR)lpMsgBuf);
LocalFree( lpMsgBuf ); }
else
{
AfxMessageBox("CreateProcess成功");
m_hPro=pi.hProcess;
}
只是DebugActiveProcess 才可以用DebugActiveProcessStop可能要从PEB里去掉DEBUG_ONLY_THIS_PROCESS标记,不然调试程序关闭,被调也会被关
VC->我爱编程群,成立了,群号:65755783,欢迎学习和使用VC的朋友加入
你如果想要关闭,需要重新写代码,先用FindWindow()找到他的窗口句柄,然后发送WM_CLOSE消息即可。
如不需要主进程关闭后退出子进程的话,直接CreateProcess即可,无需作其它处理,