2017-10-17 18 views
0

私は以下のコードでクロムを開始します。C#なぜuser32.dllでChromeを非表示にしないのですかShowWindow()

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

あなたは試みているようにそれを行うことはできません。

あなたはChromeDriverを使用してに見て、何か試すことができます:入力パトリックをありがとう

var chromeDriverService = ChromeDriverService.CreateDefaultService(); 
chromeDriverService.HideCommandPromptWindow = true; 
return new ChromeDriver(chromeDriverService, new ChromeOptions()); 
+0

を:-) – jamie

+0

@jamie「C#の非表示クローム」のGoogle検索を行いますか」してくださいなぜ、あなたは手の込んだことができChromeDriver hide chrome "を選択すると、詳細が表示されます。 – Patrick

関連する問題