c# - 发送多媒体指令

标签 c#

有什么方法可以向操作系统发送多媒体控制命令,如下一首、暂停、播放、音量增大等? 按下 Fn + 一些映射的 ..key 时发送的命令。 我正在为 PC 制作 Remote ,发送这些命令是必不可少的。

最佳答案

你可以使用keybd_event来模拟按键,你必须先模拟按下然后再按下才能正确识别

    [DllImport("user32.dll", SetLastError = true)]
    public static extern void keybd_event(byte virtualKey, byte scanCode, uint flags, IntPtr extraInfo);
    public const int VK_MEDIA_NEXT_TRACK = 0xB0;
    public const int VK_MEDIA_PLAY_PAUSE = 0xB3;
    public const int VK_MEDIA_PREV_TRACK = 0xB1;
    public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
    public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag

    private void ButtonClick(object sender, EventArgs e)
        keybd_event(VK_MEDIA_PREV_TRACK, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
        keybd_event(VK_MEDIA_PREV_TRACK, 0, KEYEVENTF_KEYUP, IntPtr.Zero);
    }`

关于c# - 发送多媒体指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013582/

相关文章:

c# - 如何处理 EF 4.3.1 设置修改了 Rowversion 行

c# - 我可以在多线程环境中使用互锁类设置 2 个变量吗

c# - 如何解决 'Windows Azure' 转换 ASP.NET 3.5 到 4.0 的此错误?

c# - Tag Helpers 在 ViewComponent 中没有正确呈现

c# - 用高效代码(可能是 linq)替换 3 层嵌套 for 循环

c# - 从 MVC 5.1 EnumDropDownListFor 中排除/删除值

c# - 如何在 ASP NET MVC 中使用负数而不是括号显示货币?

c# - 如何获得属性(property)的 setter/getter ?

c# - 如何在处理使用 Facebook API 调用的服务方法时透明地更新 Facebook 访问 token ?

c# - 数据结构题