32 windows_32_ProcUse 进程使用

本文详细阐述了一个控制台应用程序的实现方式,包括创建、等待和终止进程操作,重点介绍了如何利用C++语言进行Windows环境下进程的管理和控制。

windows_32_ProcUse 进程使用


   
  1. // windows_32_ProcUse.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. void Wait( )
  6. {
  7. //创建一个进程
  8. STARTUPINFO si = { 0 };
  9. PROCESS_INFORMATION pi = { 0 };
  10. si.cb = sizeof( si );
  11. CreateProcess( "C:\\Program Files\\Microsoft Games\\Minesweeper\\MineSweeper.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi );
  12. printf( "Winmine is running\n" );
  13. //等候进程结束
  14. WaitForSingleObject( pi.hProcess, INFINITE );
  15. printf( "Winmine is stop\n" );
  16. }
  17. void Terminate( DWORD dwProcID)
  18. {
  19. //3、结束进程
  20. //ExitProcess
  21. //TerminateProcess
  22. HANDLE hProc = OpenProcess( PROCESS_ALL_ACCESS, FALSE, dwProcID );
  23. TerminateProcess( hProc, 0 );
  24. }
  25. void Create( )
  26. {
  27. //1、创建进程
  28. //WinExec 16位windows的东西,退伍了
  29. //ShellExecute 带有环境参数的命令行,尽量用这个
  30. //CreateProcess 执行一个EXE可执行文件,创建一个进程以及它的主线程
  31. STARTUPINFO si = { 0 };
  32. PROCESS_INFORMATION pi = { 0 };
  33. si.cb = sizeof( si ); //还得给它赋点值
  34. CreateProcess( "C:\\Program Files\\Microsoft Games\\Minesweeper\\MineSweeper.exe", NULL, NULL, NULL,
  35. FALSE, 0, NULL, NULL, &si, &pi );
  36. //输出信息
  37. printf( "Process Handle: %p\n", pi.hProcess );
  38. printf( "Process ID: %d\n", pi.dwProcessId );
  39. printf( "Thread Handle: %p\n", pi.hThread );
  40. printf( "Thread ID: %d\n", pi.dwThreadId );
  41. }
  42. int _tmain(int argc, _TCHAR* argv[])
  43. {
  44. Create( );
  45. Terminate( 8244 );
  46. Wait( );
  47. return 0;
  48. }





转载于:https://www.cnblogs.com/nfking/p/5573567.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值