如何发送WM_APPCOMMAND消息

时间:2014-01-16 15:23:27

标签: c# sendmessage user32

我正在尝试向前台窗口发送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。

谢谢汉斯。这就是答案。

0 个答案:

没有答案