中间件标准版5.1git,去除基础模块

AutoStart.cpp 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "StdAfx.h"
  2. #include "AutoStart.h"
  3. AutoStart::AutoStart(void)
  4. {
  5. }
  6. AutoStart::~AutoStart(void)
  7. {
  8. }
  9. AutoStart* AutoStart::GetInstance()
  10. {
  11. return new AutoStart();
  12. }
  13. bool AutoStart::StartAll()
  14. {
  15. ReadDataFromtxt();
  16. //Sleep(m_PowerTimeDelay*1000);
  17. STARTUPINFO si; //一些必备参数设置
  18. memset(&si, 0, sizeof(STARTUPINFO));
  19. si.cb = sizeof(STARTUPINFO);
  20. si.dwFlags = STARTF_USESHOWWINDOW;
  21. si.wShowWindow = SW_SHOW;
  22. PROCESS_INFORMATION pi; //必备参数设置结束
  23. for (auto iter=m_ExeNameVec.begin();iter!=m_ExeNameVec.end();iter++)
  24. {
  25. CString currentName=*iter;
  26. if(!CreateProcess(NULL,currentName.GetBuffer(0),NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)) //8888为命令行参数,ExcuteApp.exe为当前目录下的一个exe文件。
  27. {
  28. return false;
  29. }
  30. Sleep(m_TimeDelay*1000);
  31. }
  32. return true;
  33. }
  34. void AutoStart::ReadDataFromtxt()
  35. {
  36. FILE* pfile=NULL;
  37. pfile=fopen("AutoStart.txt","r");
  38. if(pfile==NULL)
  39. {
  40. m_PowerTimeDelay=0;
  41. m_TimeDelay=0;
  42. m_Conut=0;
  43. return;
  44. }
  45. fscanf(pfile,"%d",&m_PowerTimeDelay);
  46. fscanf(pfile,"%d",&m_TimeDelay);
  47. fscanf(pfile,"%d",&m_Conut);
  48. char chName[300]={0};
  49. for (int x=0;x<m_Conut;x++)
  50. {
  51. fscanf(pfile,"%s",chName);
  52. m_ExeNameVec.push_back(chName);
  53. }
  54. }