C#启动apache服务,并隐藏窗体

背景

xampp中的apache架设了一个php的服务,这个服务是提供缓存于同步用的,但是会出现不定期的嗝屁,于是就在调度中定时重启apache,所以发现xampp中的start.bat,也是执行xampp中的apache的某个exe执行,现在像将exe执行后并隐藏

解决方案:

可以使用窗口句柄来实现窗体的隐藏,方法如下:nCmdshow :1=显示,0=隐藏

   [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
   static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);

此时只要在启动exe的Process中获取句柄即可

  Process process = new Process();
  pdatePath = ConfigurationManager.AppSettings["xamppStartPath"];
  LogHelper.WriteLog("PHP服务启动路径:" + updatePath);
  process.StartInfo.FileName = updatePath;
  process.Start();
  Thread.Sleep(3000);
  IntPtr intPtr = process.MainWindowHandle;
  ShowWindow(intPtr, 0);

你可能感兴趣的:(C#,随手笔记)