33 windows_33_Proc_windows_job 进程,windows作业

 windows_33_Proc_windows_job 进程,windows作业

  1. // windows_33_Proc_windows_job.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. #include <conio.h>
  6. HANDLE Create( LPSTR pszPath )
  7. {
  8. //创建一个进程,把句柄返回,交给后续的函数来处理
  9. STARTUPINFO si = { 0 };
  10. PROCESS_INFORMATION pi = { 0 };
  11. si.cb = sizeof( si );
  12. CreateProcess( pszPath, NULL, NULL, NULL, FALSE,
  13. NULL, NULL, NULL, &si, &pi );
  14. return pi.hProcess;
  15. }
  16. void Job( )
  17. {
  18. //1、创建一个作业
  19. //CreateJobObject
  20. HANDLE hJob = CreateJobObject( NULL, "MyJob" );
  21. //2、设置作业权限
  22. //SetInformationJobObject
  23. JOBOBJECT_BASIC_UI_RESTRICTIONS ui = { 0 };
  24. ui.UIRestrictionsClass = JOB_OBJECT_UILIMIT_READCLIPBOARD | JOB_OBJECT_UILIMIT_WRITECLIPBOARD;
  25. SetInformationJobObject( hJob, JobObjectBasicUIRestrictions,
  26. &ui, sizeof( ui ) );
  27. //创建进程
  28. HANDLE hProc = Create( "G:\\软件存盘包\\Note\\notebook.exe" );
  29. HANDLE hProc1 = Create( "G:\\软件存盘包\\Note\\notebook.exe" );
  30. //3、将进程加入作业
  31. //AssignProcessToJobObject
  32. AssignProcessToJobObject( hJob, hProc );
  33. AssignProcessToJobObject( hJob, hProc1 );
  34. getchar( );
  35. //结束作业
  36. TerminateJobObject( hJob, 0 );
  37. //4、关闭作业
  38. //CloseHandle
  39. CloseHandle( hJob );
  40. }
  41. int _tmain(int argc, _TCHAR* argv[])
  42. {
  43. Job( );
  44. return 0;
  45. }





posted @ 2016-06-10 13:12  -刀狂剑痴-  阅读(356)  评论(0编辑  收藏  举报