Je veux envoyer WM_HOTKEY pour être capturé par une autre application en utilisant un bureau global HotShortCut.Comment envoyer WM_HOTKEY avec PostMessage?
Les touches sont attendues CTRL + F10
Ceci est la seule façon que j'ai trouvé pour déclencher la capture de WM_HOTKEY:
procedure TfmMain.ButtonTalkClick(Sender: TObject);
var
Article: TArticleBase;
Msg: TMessage;
begin
Article:= GetSelectedArticle;
if Article <> nil then
begin
Clipboard.AsText:= Article.SelectedText;
Msg.LParamLo:= MOD_CONTROL;
Msg.LParamHi:= VK_CONTROL or VK_F10;
PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, Msg.LParam);
end;
end;
si je change l'une des valeurs de Msg.LParamLo ou Msg. LParamHi, WM_HOTKEY n'est pas déclenché par l'autre application. Mais l'utilisation de cette façon, avant que le WM_HOTKEY message est capturé par la méthode:
procedure ManageHotKeyMsg(var Msg: TMessage); message WM_HOTKEY;
Les « Windows Exécuter dialogue » est exécuté (raccourci « Touche Windows » + R)
Comment est la bonne façon de passez Msg.LParamLo et Msg.LParamHi, pour vous assurer que je suis en train d'envoyer WM_HOTKEY + "CTRL + F10".
Je ne t pense que vous devriez OR'ing VK_CONTROL ou VK_F10; Msg.LParamLo: = MOD_CONTROL vous indique que vous voulez Ctrl + f10 –