【问题标题】:How do I open default browser in fullscreen mode from a C# desktop application?如何从 C# 桌面应用程序以全屏模式打开默认浏览器?
【发布时间】:2012-01-28 17:52:05
【问题描述】:

您好,感谢您的关注!

如何从 C# 桌面应用程序以全屏模式打开默认浏览器?我在 SO 上看到过类似的问题:

How to open in default browser in C#

。 . .BUT 没有解决从 C# 在全屏浏览器窗口中打开本地 HTML 文件(C:驱动器)的问题。

我可以用这个打开窗口:

Process.Start("http://google.com");

但是如何让它默认为全屏呢?有没有办法模拟 F11 按键,或者更直接的方法?

编辑:理想情况下,我不需要打开表单。我不想混淆这个问题,但我正在试验 Kinect 语音识别引擎,并且将在系统托盘中运行一个程序,始终在听。我已经达到了可以说命令的程度,它会的。 . .

//do stuff

。 . .在这种情况下,我只希望它以全屏模式打开默认浏览器。

因此,我不必在全屏和常规屏幕之间来回切换,只需以全屏模式启动即可。我在想 F11 压力机的模拟会是答案,但听起来我需要为此打开一个表单??

谢谢!

马特

【问题讨论】:

  • 对此没有标准机制,每个浏览器都以不同的方式实现其“无框最大化”模式。 ProcessStartInfo.WindowStyle 就是你所拥有的。
  • F11 似乎适用于 Chrome、Firefox 和 IE;虽然没有明确的标准,但这似乎可以让大约 90% 的流行浏览器出现。

标签: c# .net windows sendkeys


【解决方案1】:

为此,您需要使用sendkeys

查看列表,您需要以下内容:

ActiveForm.SendKeys("{F11}");

希望能解决您的问题。

【讨论】:

  • SendKeys 需要一个表单句柄,我猜默认浏览器不一定是他的应用程序的子表单。
  • @M.Babcock 对我来说,我发现 sendkeys 对任何 activeform 都可以,例如,您可以在创建该进程后使用发送键到垃圾邮件记事本
【解决方案2】:

SendKeys 不需要是

ActiveForm.SendKeys.Send("{F11}"); 

而不是

ActiveForm.SendKeys("{F11}");

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 2019-09-06
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2011-11-22
    • 2010-12-26
    • 1970-01-01
    相关资源
    最近更新 更多