lokeland Skrevet 1. november 2004 Del Skrevet 1. november 2004 Jeg spiller et nettspill der man automatisk blir logget ut om man står stille i ca. 10 min.! Jeg ønsker da å kunne lage et lite program som trykker på de forskjellige piltastene regelmessig, slik at jeg ikke står helt stille, og dermed ikke blir helt logga ut. Hvordan kan dette gjøres? Lenke til kommentar
GeirGrusom Skrevet 1. november 2004 Del Skrevet 1. november 2004 Public Const WM_KEYDOWN = &H100 Public Const WM_KEYUP = &H101 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 Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Du må bruke disse funksjonene. Du kan finne hvilken class det er ved å bruke det vedlagte programmet (som jeg har laget) det viser en oversikt over alle vinduene som er i gang i windows (også skjulte) Der finner du vinduet til spillet ditt, og henter "Window class" som du bruker i FindWindow() sin lpClassName. Du finner det som skal stå i lpWindowName i "Window text" Så når programmet starter, henter du hWnd'en til spillet med FindWindow() Denne bruker du på SendMessage(hWnd, WM_KEYDOWN, (Scan code), 0) deretter sender du det samme med WM_KEYUP istedet. lParam skal ha veldig mye spesielle parameter, det er et bitfelt. wedit.zip Lenke til kommentar
lokeland Skrevet 1. november 2004 Forfatter Del Skrevet 1. november 2004 Okey, skal prøve det! Takk for hjelpa Lenke til kommentar
aadnk Skrevet 1. november 2004 Del Skrevet 1. november 2004 (endret) Man kan også benytte seg av SendInput og simulere et globalt tastatur-trykk derifra, men da kan man risikere at trykket kommer på avveie og havner i et helt anneledes vindu. Det er dog du som bør ta avgjørelsen i hva du vil bruke. SendMessage er en helt legitim metode, kan hende bedre enn denne, men jeg syntes den var verd å nevne. Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Const INPUT_MOUSE = 0 Const INPUT_KEYBOARD = 1 Const INPUT_HARDWARE = 2 Const KEYEVENTF_KEYUP = &H2 Private Type KEYBDINPUT wVk As Integer wScan As Integer dwFlags As Long time As Long dwExtraInfo As Long End Type Private Type GENERALINPUT dwType As Long xi(0 To 23) As Byte End Type Private Sub SendKey(bKey As Byte) Dim GInput(0 To 1) As GENERALINPUT Dim KInput As KEYBDINPUT ' Trykk knapp KInput.wVk = bKey KInput.dwFlags = 0 GInput(0).dwType = INPUT_KEYBOARD CopyMemory GInput(0).xi(0), KInput, Len(KInput) ' Slipp knapp KInput.wVk = bKey KInput.dwFlags = KEYEVENTF_KEYUP GInput(1).dwType = INPUT_KEYBOARD CopyMemory GInput(1).xi(0), KInput, Len(KInput) SendInput 2, GInput(0), Len(GInput(0)) End Sub Private Sub Form_KeyPress(KeyAscii As Integer) ' Skriver alle tastetrykk Me.Print Chr$(KeyAscii); End Sub Private Sub Form_Paint() Me.Cls ' Sender tastetrykkene til det aktive vinduet SendKey vbKeyH SendKey vbKeyE SendKey vbKeyL SendKey vbKeyL SendKey vbKeyO End Sub Endret 1. november 2004 av aadnk Lenke til kommentar
Brandaran Skrevet 1. november 2004 Del Skrevet 1. november 2004 Jeg spiller et nettspill der man automatisk blir logget ut om man står stille i ca. 10 min.! Jeg ønsker da å kunne lage et lite program som trykker på de forskjellige piltastene regelmessig, slik at jeg ikke står helt stille, og dermed ikke blir helt logga ut. Hvordan kan dette gjøres? er det rs (runescape) du mener? Lenke til kommentar
lokeland Skrevet 1. november 2004 Forfatter Del Skrevet 1. november 2004 Jeg spiller et nettspill der man automatisk blir logget ut om man står stille i ca. 10 min.! Jeg ønsker da å kunne lage et lite program som trykker på de forskjellige piltastene regelmessig, slik at jeg ikke står helt stille, og dermed ikke blir helt logga ut. Hvordan kan dette gjøres? er det rs (runescape) du mener? Nei, spiller ikke det lenger.. Det er nok Tibia jeg mener *flau* Jeg vet det ofte blir beregnet som et fjortis spill, men det er alt fro lett å bli hekta! Og angående aadnk sin kode: Jeg må innrømme at jeg er ganske noob i VB, så det tar meg nok minst en uke å skjønne koden, så jeg bruker heller et par dager å finner ut av den andre koden først Men jeg har absloutt ikke noe imot flere måter å kunne gjøre en ting på.. Lenke til kommentar
Brandaran Skrevet 1. november 2004 Del Skrevet 1. november 2004 link til spill?? =p Lenke til kommentar
Loke-- Skrevet 1. november 2004 Del Skrevet 1. november 2004 på norwegian mafia tar jeg bare oppdater hvert 10ende sekund eller noe i den duren og stikker så er jeg på når jeg kommer hjem og Lenke til kommentar
lokeland Skrevet 4. november 2004 Forfatter Del Skrevet 4. november 2004 link til spill?? =p www.tibia.com Lenke til kommentar
GeirGrusom Skrevet 4. november 2004 Del Skrevet 4. november 2004 Får vel legge til litt virtual key code konstanter: Const VK_LEFT = &H25 Const VK_UP = &H26 Const VK_RIGHT = &H27 Const VK_DOWN = &H28 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå