?
Hallo Leute,
folgendes Problem bringt mich um den letzten Nerv
Ich schicke Tastendrücke mit Postmessage an eine andere Anwendung.
Mit den Zeichen auf der ersten Tastaturebene funktioniert das auch wunderbar, nur wenn ich die zusätzlich gedrückte ShiftTaste simulieren will komm ich mit meinem Ansatz nicht weiter.
Der Code läuft, einzig an der Zeile
::PostMessage(handle1,WM_KEYDOWN,zuskey,(zusscancode<<16)+1);
macht das Programm nichts.
Danke, Erik
UINT key, scancode, zuskey, zusscancode;
switch (s_block.zusint) // Zusatz zuordnen
{
case 1:
zuskey = VK_MENU;
break;
case 2:
zuskey = VK_CONTROL;
break;
case 3:
zuskey = VK_SHIFT;
break;
}
// PostMessage 1
if (s_block.prozess1bool)
{
if (s_block.zusint > 0) // Zusatztaste gedrückt
{
zusscancode = MapVirtualKey(zuskey,0);
::PostMessage(handle1,WM_KEYDOWN,zuskey,(zusscancode<<16)+1);
}
key = m_daten->keycodearray.GetAt(s_block.tabint);
scancode = MapVirtualKey(key,0);
::PostMessage(handle1,WM_KEYDOWN,key,(scancode<<16)+1);
::PostMessage(handle1,WM_KEYUP,key,(scancode<<16)+0xc0000001);
if (s_block.zusint > 0) // Zusatztaste gedrückt
{
::PostMessage(handle1,WM_KEYUP,zuskey,(zusscancode<<16)+0xc0000001);
}
}