3
我试图将密钥发送给应用程序。为了方便测试,我只用了记事本。这就是代码的样子:C#和SendMessage(键)不起作用
[DllImport("USER32.DLL", EntryPoint = "SendMessageW", SetLastError = true,
CharSet = CharSet.Unicode, ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern bool SendMessage(IntPtr hwnd, int Msg, int wParam, int lParam);
const int WM_KEYDOWN = 0x100;
const int WM_a = 0x41;
public void Press()
{
Process[] p = Process.GetProcessesByName("notepad");
IntPtr pHandle = p[0].MainWindowHandle;
SendMessage(pHandle, WM_KEYDOWN, WM_a, 0);
}
但没有任何反应。
我的主要目标是将密钥发送给高级应用程序,但我很乐意先将它发送到记事本。 我想使用SendMessage,因为我想控制按下按钮的时间长度,我也不想在前台使用其他应用程序。这就是我不使用SendKeys的原因。