windows下安全的创建子进程
来源:互联网 发布:淘宝秒刷钻 编辑:程序博客网 时间:2024/05/21 10:43
- #include <windows.h>
- int main()
- {
- STARTUPINFO si = { sizeof(si) };
- PROCESS_INFORMATION pi;
- TCHAR szCommandLine[] = TEXT("c://o//yes");
- SetErrorMode( SEM_NOGPFAULTERRORBOX );
- BOOL bCreateRet = CreateProcess(NULL, szCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, π);
- if (!bCreateRet)
- return 0;
- DWORD dwRet = WaitForSingleObject(pi.hProcess, 2000);
- TerminateProcess(pi.hProcess, 0);
- }
1、函数执行后,创建子进程,父进程必须挂起直到子进程运行结束。
2、子进程如果出现异常,如运行崩溃、死循环等情况,父进程无法通过超时询问等方式来处理。
所以,在windows下编写可靠程序时,应避免使用system函数,而应该使用CreateProcess函数。
以上代码段创建子进程,通过SetErrorMode设置标记位,使得子进程运行崩溃时不弹出调试信息,否则,父进程即使通过
询问超时来关闭子进程也无法完成关闭,因为调试程序也引用了该子进程。
以上API详细信息参见MSDN
- windows下安全的创建子进程
- windows下创建子进程
- windows 创建子进程
- zz: Python subprocess创建子进程(Windows下打开新的CMD窗口)
- windows、linux创建子进程
- windows、linux创建子进程
- windows下进程和线程的创建
- Windows操作系统下创建进程的过程
- 子进程的创建
- 子进程的创建
- [Windows]_[初级]_[创建独立子进程和读取子进程的输出]
- linux下的创建子进程的方法
- c++,在windows下调用子进程,并获得子进程的返回值。
- Windows下创建进程-CreateProcess()
- Windows进程的创建
- Windows的进程创建
- Windows的进程创建
- CreateProcess创建的子进程
- 全面解析 Windows 网上邻居
- 天天坐着,将来会腿瘫
- C#.net 连接SQL Server2000数据库,密码加密
- snmp 监控端 mib.txt文件制作
- 最新消息Silverlight 2.0 RTM正式版下周发布
- windows下安全的创建子进程
- 比较日期的大小
- 如何删除SP Home界面的Recent Programs图标
- Agile Web Development wiht Rails 2nd ed
- 栈对象和堆对象
- 'MessageBoxA' : function does not take 1 parameters
- ORDER BY 的特殊写法
- Red-Green-Refactor
- 自动换行word-break:break-all和word-wrap:break-word的区别