【问题标题】:How can I simulate function key combinations using C#?如何使用 C# 模拟功能键组合?
【发布时间】:2012-12-01 13:13:15
【问题描述】:

我希望有人可以帮助我在 C# 中模拟功能键组合,在本例中为 FN + F4

这就是我想要做的... 我有一台较旧的触摸屏上网本,最近安装了 Windows 8。它有一个旋转屏幕,因此您可以将其折叠起来并像平板电脑一样使用它。 Windows 8 在它上面运行得非常好。我遇到了一些小问题,其中大部分我都能解决,但还有一个问题。

上网本第一次开机或从睡眠中唤醒时,屏幕亮度为 30%,Windows 认为这是最大设置,因此通过正常方法提高屏幕亮度不起作用。在我的上网本上,按 FN + F4 将屏幕恢复为全亮度。不过,这是一个小麻烦,因为我必须来回旋转屏幕才能使用物理键盘来固定亮度,而我只想将其留在平板电脑位置并尽量减少磨损。

我想做的是编写一个在启动时运行的小应用程序,并模拟功能键组合,以便自动恢复亮度。任何建议将不胜感激。谢谢。

【问题讨论】:

标签: c# function keypress


【解决方案1】:

FN 键不像其他修饰符(shiftaltctrl) 也不是像 F1 - F12 这样的功能键。 FN 键是仅硬件键,它只是告诉硬件在按下 FN 键时发送不同的击键。

因此,您将不得不手动调整亮度,如 cmets 中所述的“m-y”或通过其他机制。

参考Link.

【讨论】:

    【解决方案2】:

    Fn 键不是从键盘发送到计算机的键。它实际上是用来改变键盘上键的含义(这样当按住Fn键时,键盘会发送不同的扫描码)。

    您应该能够轻松编写一个简单的 Windows 窗体程序,该程序可以监听按键并显示收到的内容。注册KeyDown 活动。您的处理程序接收到的KeyEventArgs 具有各种属性,您可以检查这些属性以查看接收到的内容。

    【讨论】:

    • 亮度调节可能是在驱动级别完成的,如果是这样的话,获取扫描码也无济于事
    • @emartel:在我的宏基笔记本电脑上,使用showkey,亮度降低注册为0xe0 0x4c on down,0xe0 0xcc on up,而相同的键()没有Fn注册为0xe0 0x4b 用于向下,0xe0 0xcb 用于向上。
    • 是的,但是你如何注入呢?
    • @emartel:它将与那些发送到操作系统的笔记本电脑功能一起使用。我想有些按钮有可能直接连接到硬件中。
    猜你喜欢
    • 1970-01-01
    • 2021-11-01
    • 2018-08-07
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 2015-05-11
    • 2021-04-29
    • 2017-12-26
    相关资源
    最近更新 更多