簡體   English   中英

SendMessage,嘗試發送 F4

[英]SendMessage, Trying to send F4

我的 SendMessage 簽名:

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);

要獲取窗口句柄,我從要向其發送消息的進程中找到 MainWindowHandle:

whandle = MemClass.Process.MainWindowHandle;

在這里,我試圖將消息發送到該進程窗口:(0x73 = F4 鍵)

SendMessage(whandle, 0x73, 0, 0);

而且它顯然會出錯,因為我將最后 2 個參數作為 int 而不是 IntPtr 發送:

IntPtr wParam, IntPtr lParam

通過此調用進行測試:

SendMessage(whandle, 0x73, IntPtr.Zero, IntPtr.Zero);

0 個錯誤,但它沒有將 F4 發送到窗口

如何正確調用此函數? 我想將 F4 發送到進程窗口。

第二個參數是 msg 而不是 key,如:keyup (0x100) 或 keydown (0x101)

第三個參數是密鑰為0x73(F4)

SendMessage(whandle, 0x100, 0x73, IntPtr.Zero);
SendMessage(whandle, 0x101, 0x73, IntPtr.Zero);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM