public class sendKeys {
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr, lParam);
public static void sendKeystroke(ushort k)
{
const uint WM_KEYDOWN = 0x0100;
const uint WM_SYSCOMMAND = 0x018;
const uint SC_CLOSE = 0x053;
IntPtr WindowToFind = FindWindow(null, "processname");
IntPtr result3 = SendMessage(WindowToFind, WM_KEYDOWN, ((IntPtr)k), (IntPtr)0);
}
}
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646280%28v=vs.85%29.aspx 我在上面的頁面讀取,該lParam參數應該包含所有我想送個bit參數。例如,如果我想爲ScanCode發送一個「0x2D」值,我該怎麼做?設置WM_KEYDOWN lParam的參數
當你沒有真正發送指針,但實際的國際價值,你也可以使用: 函數[DllImport(「user32.dll中」) 靜extern IntPtr SendMessage(IntPtr hWnd,UInt32 Msg,Int32 wParam,Int32 lParam); 在這種情況下,您不需要投射到IntPtr。 – csgero
這看起來不是正確的解決方案,但我們不能告訴你正確的解決方案,因爲你沒有告訴我們問題 –