能够在默认浏览器中打开网址(如果不是默认浏览器,那么只需要Microsoft Edge,硬编码),并在以后刷新页面。
我认为我需要这个(不确定):
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
然后我可以做类似的事情:
Process.Start("http://localhost:5000/");
var list1 = Process.GetProcessesByName("MicrosoftEdgeCP");
var list2 = Process.GetProcessesByName("MicrosoftEdge");
// and for each of those processes:
SetForegroundWindow(process.MainWindowHandle);
SendKeys.SendWait("{F5}");
从理论上讲,这应该有效。但事实并非如此。它适用于记事本。我可以发送一些字符串,它在编辑器中正确写入。但是,我无法抓住打开页面的窗口。
哪些 有时 正在捕捉ApplicationFrameHost
进程并发送密钥"{F5}"
。
非常感谢任何帮助:)
似乎始终有效的是将"{F5}
发送到所有进程。但那太危险了。为什么MicrosoftEdge
进程不起作用?