1
[DllImport("user32.dll")]
public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg, int wParam, IntPtr lParam);
public void keyPress(){
const uint WM_KEYDOWN = 0x100;
const uint WM_KEYUP = 0x0101;
PostMessage(Process, WM_KEYDOWN, (int)Keys.Q, (IntPtr)Convert.ToInt32("00100001", 16));
Thread.Sleep(1000);
PostMessage(Process, WM_KEYUP, (int)Keys.Q, (IntPtr)Convert.ToInt32("C0100001", 16));
}
我想用Keydown和keyup調用PostMessage。我知道這個過程得到了消息,因爲我正在用spy ++觀看消息,並且發送了當我自己點擊窗口上的按鈕時產生的相同的wParam和lParams。我已經嘗試使用SendKeys.sendwait和setforeground,但同樣的問題發生在間諜++中出現相同的消息,但窗口中沒有活動響應。Windows PostMessage問題C#
「過程」是一個窗口句柄嗎? – Jumpei
對不起,Process是一個從Processes.MainWindowHandle獲取的IntPtr。 – vifs
那麼,解決? :) – Jumpei