C# 键盘上的特殊键
我的程序是否有办法“启动”键盘上的特殊键,如媒体键(播放、暂停、下一步等)。我正在尝试创建一个执行这些功能的应用程序,一个简单的方法就是模拟按键。如果让它更容易,这是一个个人项目,所以我不介意解决方案是否通用和/或不适用于所有键盘。我已经看过了,我想SDEKEY可能是一种方法,但我不知道扫描代码是什么特殊键。< / P> < P>下面的链接提供了在你的应用程序中使用多媒体键盘键的伟大想法,但是这篇文章是C++的,你必须自己找出如何使用这些函数。 编辑: 在这些文章的基础上,我实现了一些媒体功能键,让您可以通过应用程序控制音量C# 键盘上的特殊键,c#,.net,input,keyboard,sendkeys,C#,.net,Input,Keyboard,Sendkeys,我的程序是否有办法“启动”键盘上的特殊键,如媒体键(播放、暂停、下一步等)。我正在尝试创建一个执行这些功能的应用程序,一个简单的方法就是模拟按键。如果让它更容易,这是一个个人项目,所以我不介意解决方案是否通用和/或不适用于所有键盘。我已经看过了,我想SDEKEY可能是一种方法,但我不知道扫描代码是什么特殊键。< / P> < P>下面的链接提供了在你的应用程序中使用多媒体键盘键的伟大想法,但是这篇文章是C++的,你必须自己找出如何使用这些函数。 编辑: 在这些文章的基础上,我实现了一些媒体功能键
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
private const int APPCOMMAND_MEDIA_PLAY_PAUSE = 0xE0000;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
IntPtr wParam, IntPtr lParam);
public Form1()
{
InitializeComponent();
}
private void btnPlayPause_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_MEDIA_PLAY_PAUSE);
}
private void btnMute_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_MUTE);
}
private void btnDecVol_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_DOWN);
}
private void btnIncVol_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_UP);
}
只要复制和使用你想要的任何地方
+1感谢您的链接。我没有C++的经验,所以不知道如何包含。我让C#代码正常工作,但我如何将该键“发送”到系统,使其看起来像是用户按下了它?您能否共享其他功能按钮,如play next、play previous、stop。。。。。。谢谢你看: