VK_SHIFT funktioniert nicht mit PostMessage(handle,WM_KEYDOWN,VK_SHIFT,virtkey)



  • 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);
    		}
    	}
    

Anmelden zum Antworten