我正在尝试向前台窗口发送WM_APPCOMMAND消息,但它无效。 有人可以向我解释如何正确地做到这一点吗?
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(int hWnd, int Msg, int wParam, int lParam);
[DllImport("user32.dll")]
public static extern int GetForegroundWindow();
public const int WM_APPCOMMAND = 0x319;
public const int APPCOMMAND_UNDO = 34;
SendMessage(GetForegroundWindow(), WM_APPCOMMAND, 0, WM_UNDO * 65536);
修改
Hans Passant:大多数AppCommands都映射到键盘上的专用键,并在您按下这样的键时自动触发。由于很少有键盘实际具有撤销键,因此应用程序响应APPCOMMAND_UNDO的几率为zilch。
谢谢汉斯。这就是答案。