Hej http://blogs.msdn.com/toub/archive/2006/05/03/589423.aspx Av koden du länka ser jag att när jag trycker ner CTRL+0 så får jag detta resultatetSkicka CTRL+ klickningar till ett program?
Har ett litet problem här. Jag använder WinAPI'et PostMessage för att skicka tangenttryckningar till ett program och allt fungerar fint så länge det inte är CTRL+något som ska skickas till programmet
Detta fungerar, programmet svarar på ENTER tryckningen. =)
PostMessage(hWnd, WM_KEYDOWN, VK_RETURN, IntPtr.Zero);
Men när jag ska testa att skicka CTRL+0 så går det inte. Inget händer. =(
PostMessage(hWnd, WM_KEYDOWN, Keys.VK_CONTROL, IntPtr.Zero);
PostMessage(hWnd, WM_KEYDOWN, Keys.VK_0, IntPtr.Zero);
Har även testat att skicka en WM_KEYUP efter VK_0, men det gjorde ingen skillnad. Tips? Har jag missat något?
<b>P.S</b>
Har tillfälligt löst det med <b>SendKeys</b>, men då måste programmet ha fokus. Vore perfekt om det gick utan det. =)
Sv: Skicka CTRL+ klickningar till ett program?
där har du rutiner för en lågnivå hook för att läsa av knapptryckningar
kanske den hjälper dig på vägen?Sv:Skicka CTRL+ klickningar till ett program?
<citat>256 - LControlKey
256 - D0
257
257</citat>
256 är WM_KEYDOWN och 257 är WM_KEYUP. Testar då att skicka meddelandena i den ordningen men fungerade inte, programmet reagerar inte på CTRL+0
//VK_0 = 0x30
//VK_CONTROL = 0xA2
//WM_KEYDOWN = 0x100
//WM_KEYUP = 0x101
PostMessage(hWnd, WM_KEYDOWN, VK_CONTROL, IntPtr.Zero);
PostMessage(hWnd, WM_KEYDOWN, VK_0, IntPtr.Zero);
PostMessage(hWnd, WM_KEYUP, VK_0, IntPtr.Zero);
PostMessage(hWnd, WM_KEYUP, VK_CONTROL, IntPtr.Zero);
Även testat med SendMessage istället, samma sak. Inget händer.
---
<b>Edit</b>, övergav PostMessage för den delen, det blev SendKeys istället.