我使用下面的代码启动chrome。
Process OpenYouTube = new Process();
Chrome.StartInfo.FileName = "chrome.exe";
Chrome.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
Chrome.Start();
然后使用下面的代码尝试隐藏它。
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_HIDE = 0;
const int SW_SHOW = 5;
HideProcessAndChildren(Chrome.Id);
private void HideProcessAndChildren(int pid)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + pid);
ManagementObjectCollection moc = searcher.Get();
foreach (ManagementObject mo in moc)
{
HideProcessAndChildren(Convert.ToInt32(mo["ProcessID"]));
}
try
{
Process proc = Process.GetProcessById(pid);
ShowWindow(proc.MainWindowHandle, SW_HIDE);
}
catch (ArgumentException ex)
{
// Process already exited.
}
}
此代码适用于记事本等,但Chrome拒绝隐藏。
启动或启动后如何隐藏它?我知道硒等。
答案 0 :(得分:1)
您将无法以您尝试的方式进行此操作。
您可以尝试使用ChromeDriver并尝试以下内容:
var chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
return new ChromeDriver(chromeDriverService, new ChromeOptions());