Hej! Du borde kuna skicka meddelande till fönstrets meddelande kö. Ja, det är möjligt. Meningen var att då en timers intervall inträffar ska programmet skicka en knapptryckning till ett speciellt fönster (i det här fallet ett spel). Detta skulle göra så att karaktären i spelet rör sig ett steg varje gång. Efter 10 steg ska karaktären vända om och gå tillbaka, först högerknappen sen vänsterknappen (om möjligt gärna så att man får med upp och nerknapparna däremellan, så att karaktären skulle gå i en fyrkant). SendKeys sänder alltid tangenttryckningarna till det program som är aktivt (i förgrunden). Så om ditt spel är programmet som är aktivt skickar knapptryckningarna dit.SendKey till ett speciellt fönster
Är det möjligt att använda SendKey (eller något annat möjligtvis) så att programmet sänder en knapptryckning till ett speciellt fönster (som man väljer) så att man slipper ha det fönstret aktivt hela tiden?
(Förstår ni hur jag menar...)
Tack, Jocke.Sv: SendKey till ett speciellt fönster
Förklara mer vad du tänkt.Sv: SendKey till ett speciellt fönster
Kolla in mitt WinlOOk program på Filarea => Api => Windows, det använder SendKeys för att simulera tangenttryckningar.Sv: SendKey till ett speciellt fönster
I och med att programmet skickar knapptrynkningen till ett speciellt fönster skulle man kunna göra annat samtidigt, dvs ha ett annat fönster aktivt/markerat.Sv: SendKey till ett speciellt fönster
Annars prova detta:
Public Const WM_KEYDOWN = &H100
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
WM_KEYDOWN
The WM_KEYDOWN message is posted to the window with the keyboard focus when a nonsystem key is pressed. A nonsystem key is a key that is pressed when the alt key is not pressed.
WM_KEYDOWN
nVirtKey = (int) wParam; // virtual-key code
lKeyData = lParam; // key data
Parameters
nVirtKey
Value of wParam. Specifies the virtual-key code of the nonsystem key.
lKeyData
Value of lParam. Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table. Value Description
0–15 Specifies the repeat count for the current message. The value is the number of times the keystroke is auto-repeated as a result of the user holding down the key. If the keystroke is held long enough, multiple messages are sent. However, the repeat count is not cumulative.
16–23 Specifies the scan code. The value depends on the original equipment manufacturer (OEM).
24 Specifies whether the key is an extended key, such as the right-hand alt and ctrl keys that appear on an enhanced 101- or 102-key keyboard. The value is 1 if it is an extended key; otherwise, it is 0.
25–28 Reserved; do not use.
29 Specifies the context code. The value is always 0 for a WM_KEYDOWN message.
30 Specifies the previous key state. The value is 1 if the key is down before the message is sent, or it is 0 if the key is up.
31 Specifies the transition state. The value is always 0 for a WM_KEYDOWN message.