Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Funkcja : Keysend (Background Mode)


RobeM

Rekomendowane odpowiedzi

Opublikowano

Ciekawa funkcja do programów w AutoIt , wysyłanie naciskania klawiszy do konkretnego okienka nieaktywnego ( background mode , po naszemu - działającego w tle )

 

Jakiekolwiek pytania związane z zastosowaniem w Metin2 będą ignorowane, skrypt nie działa w tej grze.

 

Zastępuje funkce : ControlSend i Send

 

składnia polecenia KeySend("klawisz", "naciśnięcie/puszczenie klawisza", "czas") np : KeySend("x") - naciśnięcie klawisza x

 

Przykład : wciśnięcie klawisza x



KeySend("x") ; tylko x

KeySend("x", "down")  ; naciśnięcie x
KeySend("x", "up")  ; puszczenie x po naciśnięciu


KeySend("x", "", "2000))  ; naciśnięcie x przez 2000ms czyli 2s


 

 

do skryptu nalezy dodac :

 

#include <NomadMemory.au3> ; ściągnąc i skopiowac do katalogu autoit Include
#include <WindowsConstants.au3>

Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)

Global $client = "NAZWA OKIENKA"
$PID = WinGetProcess($client)
Global $hprocess = _MemoryOpen($PID)
Global $hwnd = WinGetHandle($client)

 

Funkcja

; send single keyboard event to non active window
; event = pressed, down, up
; kdown = key down delay
; note: supports only lower case keys + NUMx, Fx, some special keys and @
Func KeySend($inkey, $evt = "pressed", $kdown = 50)
$user32 = DllOpen("user32.dll")
If $user32 = -1 Then
	ConsoleWrite("KeySend: cannot open user32.dll")
	Exit
EndIf

; handling for special keys
Switch StringUpper($inkey)
	Case "@"
		$skey = 0x40
		$lparam = 0x00100001
		DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", 0x71, "long", $lparam)
		DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_CHAR, "int", $skey, "long", $lparam)
		Sleep(20)
		DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", 0x71, "long", BitOR($lparam, 0xC0000000))
	Case "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"
		$skey = 0x6f + Int(StringMid($inkey, 2))
		ContinueCase
	Case "NUM0", "NUM1", "NUM2", "NUM3", "NUM4", "NUM5", "NUM6", "NUM7", "NUM8", "NUM9"
		If StringUpper(StringLeft($inkey, 3)) = "NUM" Then
			$skey = 0x60 + Int(StringMid($inkey, 4))
		EndIf
		ContinueCase
	Case "RETURN", "SPACE", "TAB", "BACK", "END", "HOME", "SNAPSHOT", "INSERT", "DELETE", "LEFT", "RIGHT", "UP", "DOWN"
		Switch StringUpper($inkey)
			Case "RETURN"
				$skey = 0x0D
			Case "SPACE"
				$skey = 0x20
			Case "TAB"
				$skey = 0x09
			Case "BACK"
				$skey = 0x08
			Case "END"
				$skey = 0x23
			Case "HOME"
				$skey = 0x24
			Case "SNAPSHOT"
				$skey = 0x2c
			Case "INSERT"
				$skey = 0x2d
			Case "DELETE"
				$skey = 0x2e
			Case "LEFT"
				$skey = 0x25
			Case "RIGHT"
				$skey = 0x27
			Case "UP"
				$skey = 0x26
			Case "DOWN"
				$skey = 0x28
		EndSwitch
		$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)
		$lparam = BitShift($ret[0], -16)
		$lparam = BitOR($lparam, 1)
		DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)
		Sleep($kdown)
		DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))
	Case Else ; default lower case key handling
		$key = DllCall($user32, "int", "VkKeyScan", "int", Asc(StringLower($inkey)))
		$skey = $key[0]
		$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)
		$lparam = BitShift($ret[0], -16)
		$lparam = BitOR($lparam, 1)
		Select
			Case $evt = "pressed"
				DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)
				Sleep($kdown)
				DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))
			Case $evt = "down"
				DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)
			Case $evt = "up"
				DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))
		EndSelect
EndSwitch

DllClose($user32)
EndFunc   ;==>KeySend

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

Nawet wiem skąt to zerznięte. Takich alternatyw dla ControlSend jest kilka i wszykie wygladają niemal identyko. Zaczeło sie prawdopodobbnie od include _MouseClickPlus.au3. Rużnią sie tylko jednym wyrazem, w jednych jest SendMessange a w innych PostMessage.

 

W tym konkretnie przypadku nutruje mnie jednak pytanie co ma do tego ta rzecz:

#include<NomadMemory.au3>

i to:

Global $hprocess = _MemoryOpen($PID)

???

Opublikowano

już nawet nie wiem skąd to mam, z tego co zauważyłem większość odpiera sie na skryptach pisanych przez niemca Felixa Lehmanna głównie SimulKey, jako alternatywa dla ControlSend czy Send napewno jest lepszym rozwiązaniem i jej używam , jak dobrze poszukać są i też wersje z dodanyą obsługą myszki , u mnie tylko z obsługą klawiszy specjalnych

 

w <NomadMemory.au3> masz _MemoryOpen , reszta juz wiadomo do czego samo przez się zmienna potrzebna do nomada

jej działanie bardzo ułatwia prace bez szukania czy pisania dodatkowych funkcji w programie , jednym słowem można powiedzieć to taka malutka ale potężna namiastka Cheat Engine dla AutoIt, bez używania CE

 

z tego co pamiętam to przerobiona funkcja _Mem() ale z większą ilością opcji, ogólnie tu służy do odczytu pamięci , jeśli zauważyłeś większośc botów zawsze ma te funkcje w swoim kodzie, daleko nie szukać : Metin2, Aion, WoW itp

 

jesli cie interesuje link masz tu : NomadMemory , więcej to poczytać na forum autoit trzeba

 

p.s. dałem kawałek kodu z mojego bocika ;) , NomadMemory występuje w rożnych wersjach i modyfikacjach w zależności od potrzeby programu jest modyfikowany, u mnie w całym bocie automatycznie wyszukuje potrzebne adresy pamięci które zmieniają sie za kazdym razem uruchomienia

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

nie rozumiesz chyba pytania.

sformułuje je wiec inaczej na kilka alternatywnych sposobów to może załapiesz:

co ta biblioteka robi tu?

jakie ma tu zastosowanie?

do czego jest ten odpalony nomad potrzebny przy klikaniu tych klawiszy?

na chuj to kurwa tu?

Opublikowano

nie biblioteka tylko zwykły skrypt AutoIt , masz ich czasem dziesiątki w #include i pewnie nawet nie zastanawiasz się co robią, a nawet jeśli nie masz to i tak są używane w czasie wykonywania skryptu (te podstawowe). Identycznie działają pliki dll w programach

 

poczytaj temat który najwidoczniej przeoczyłeś na forum : http://www.mpcforum.pl/topic/108326-nomadau3-czyli-piszemy-trainera-%3B/

 

tu służy do odczytu PID-u procesu, odczytu i zapisu do pamięci , do obsługi funkcji i zmiennych jak już ci wyraźnie wczesniej napisałem , bez niej nie będzie działała funkcja wcale, zwłaszcza obsługa klawiatury wirtualnej poprzez bibliotekę user32.dll.

 

nie bede przecież pisał własnych funkcji specjalnie dla obsługi klawiszy kiedy mam gotową, można ją użyć i wykorzystać kiedy funkcje zawarte w podstawowym AutoIt nie robią tego jak nalezy

 

P.S. jak widać podawanie nawet prostych skryptów wymaga dogłębnego tłumaczenia, zainteresował byś sie czasem zawartością tego co Ci podano i przeglądną co napisano w komentarzach skryptu, ja poprostu podałem w najprostrzej formie jak tylko można bez rozpisywania się bo jak widzę stosunkowa większość chcących pisać "boty" ( jak to nazywają zwykłe wciśnięcie klawiszy, hehe ) nic nie potrafi zrobić sama nawet jeśli dostaną gotowy język skryptowy w super uproszczonej formie.

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

  • 1 miesiąc temu...
Opublikowano

Mam nadziję że się komuś przyda lista key send:

 

 

Case "LeftMouse"

Return 0x01

Case "RightMouse"

Return 0x02

Case "MiddleMouse"

Return 0x04

Case "X1Mouse"

Return 0x05

Case "X2Mouse"

Return 0x06

Case "BACKSPACE"

Return 0x08

Case "TAB"

Return 0x09

Case "CLEAR"

Return 0x0C

Case "ENTER"

Return 0x0D

Case "SHIFT"

Return 0x10

Case "CTRL"

Return 0x11

Case "ALT"

Return 0x12

Case "PAUSE"

Return 0x13

Case "CAPSLOCK"

Return 0x14

Case "ESC"

Return 0x1B

Case " "

Return 0x20

Case "SPACE"

Return 0x20

Case "PAGE UP"

Return 0x21

Case "PAGE DOWN"

Return 0x22

Case "END"

Return 0x23

Case "HOME"

Return 0x24

Case "LEFT"

Return 0x25

Case "UP"

Return 0x26

Case "RIGHT"

Return 0x27

Case "DOWN"

Return 0x28

Case "SELECT"

Return 0x29

Case "PRINT"

Return 0x2A

Case "EXECUTE"

Return 0x2B

Case "PRINT SCREEN"

Return 0x2C

Case "INS"

Return 0x2D

Case "DEL"

Return 0x2E

Case "0"

Return 0x30

Case "1"

Return 0x31

Case "2"

Return 0x32

Case "3"

Return 0x33

Case "4"

Return 0x34

Case "5"

Return 0x35

Case "6"

Return 0x36

Case "7"

Return 0x37

Case "8"

Return 0x38

Case "9"

Return 0x39

Case "A"

Return 0x41

Case "B"

Return 0x42

Case "C"

Return 0x43

Case "D"

Return 0x44

Case "E"

Return 0x45

Case "F"

Return 0x46

Case "G"

Return 0x47

Case "H"

Return 0x48

Case "I"

Return 0x49

Case "J"

Return 0x4A

Case "K"

Return 0x4B

Case "L"

Return 0x4C

Case "M"

Return 0x4D

Case "N"

Return 0x4E

Case "O"

Return 0x4F

Case "P"

Return 0x50

Case "Q"

Return 0x51

Case "R"

Return 0x52

Case "S"

Return 0x53

Case "T"

Return 0x54

Case "U"

Return 0x55

Case "V"

Return 0x56

Case "W"

Return 0x57

Case "X"

Return 0x58

Case "Y"

Return 0x59

Case "Z"

Return 0x5A

Case "LWin"

Return 0x5B

Case "RWin"

Return 0x5C

Case "NUMPAD0"

Return 0x60

Case "NUMPAD1"

Return 0x61

Case "NUMPAD2"

Return 0x62

Case "NUMPAD3"

Return 0x63

Case "NUMPAD4"

Return 0x64

Case "NUMPAD5"

Return 0x65

Case "NUMPAD6"

Return 0x66

Case "NUMPAD7"

Return 0x67

Case "NUMPAD8"

Return 0x68

Case "NUMPAD9"

Return 0x69

Case "Multiply"

Return 0x6A

Case "Add"

Return 0x6B

Case "Separator"

Return 0x6C

Case "Subtract"

Return 0x6D

Case "Decimal"

Return 0x6E

Case "Divide"

Return 0x6F

Case "F1"

Return 0x70

Case "F2"

Return 0x71

Case "F3"

Return 0x72

Case "F4"

Return 0x73

Case "F5"

Return 0x74

Case "F6"

Return 0x75

Case "F7"

Return 0x76

Case "F8"

Return 0x77

Case "F9"

Return 0x78

Case "F10"

Return 0x79

Case "F11"

Return 0x7A

Case "F12"

Return 0x7B

Case "F13"

Return 0x7C

Case "F16"

Return 0x7F

Case "F17"

Return 0x80

Case "F18"

Return 0x81

Case "F19"

Return 0x82

Case "F20"

Return 0x83

Case "F21"

Return 0x84

Case "F22"

Return 0x85

Case "F23"

Return 0x86

Case "F24"

Return 0x87

Case "NUM LOCK"

Return 0x90

Case "SCROLL LOCK"

Return 0x91

Case "LSHIFT"

Return 0xA0

Case "RSHIFT"

Return 0xA1

Case "LCTRL"

Return 0xA2

Case "RCTRL"

Return 0xA3

Case "LMENU"

Return 0xA4

Case "RMENU"

Return 0xA5

Case "="

Return 0x92

Case ";"

Return 0xBA

Case ":"

Return 0xBA

Case "+"

Return 0xBB

Case ","

Return 0xBC

Case "-"

Return 0xBD

Case "."

Return 0xBE

Case "/"

Return 0xBF

Case "?"

Return 0xBF

Case "`"

Return 0xC0

Case "~"

Return 0xC0

Case "["

Return 0xDB

Case "{"

Return 0xDB

Case "\"

Return 0xDC

Case "|"

Return 0xDC

Case "]"

Return 0xDD

Case "}"

Return 0xDD

Case "'"

Return 0xDE

Case '"'

Return 0xDE

Case "<"

Return 0xE2

Case ">"

Return 0xE2

 

stop1.png
  • 2 tygodnie później...
Opublikowano

Mówisz masz :)

 

 

 

Case "LeftMouse"

$skey = 0x01

Case "RightMouse"

$skey = 0x02

Case "MiddleMouse"

$skey = 0x04

Case "X1Mouse"

$skey = 0x05

Case "X2Mouse"

$skey = 0x06

Case "BACKSPACE"

$skey = 0x08

Case "TAB"

$skey = 0x09

Case "CLEAR"

$skey = 0x0C

Case "ENTER"

$skey = 0x0D

Case "SHIFT"

$skey = 0x10

Case "CTRL"

$skey = 0x11

Case "ALT"

$skey = 0x12

Case "PAUSE"

$skey = 0x13

Case "CAPSLOCK"

$skey = 0x14

Case "ESC"

$skey = 0x1B

Case " "

$skey = 0x20

Case "SPACE"

$skey = 0x20

Case "PAGE UP"

$skey = 0x21

Case "PAGE DOWN"

$skey = 0x22

Case "END"

$skey = 0x23

Case "HOME"

$skey = 0x24

Case "LEFT"

$skey = 0x25

Case "UP"

$skey = 0x26

Case "RIGHT"

$skey = 0x27

Case "DOWN"

$skey = 0x28

Case "SELECT"

$skey = 0x29

Case "PRINT"

$skey = 0x2A

Case "EXECUTE"

$skey = 0x2B

Case "PRINT SCREEN"

$skey = 0x2C

Case "INS"

$skey = 0x2D

Case "DEL"

$skey = 0x2E

Case "0"

$skey = 0x30

Case "1"

$skey = 0x31

Case "2"

$skey = 0x32

Case "3"

$skey = 0x33

Case "4"

$skey = 0x34

Case "5"

$skey = 0x35

Case "6"

$skey = 0x36

Case "7"

$skey = 0x37

Case "8"

$skey = 0x38

Case "9"

$skey = 0x39

Case "A"

$skey = 0x41

Case "B"

$skey = 0x42

Case "C"

$skey = 0x43

Case "D"

$skey = 0x44

Case "E"

$skey = 0x45

Case "F"

$skey = 0x46

Case "G"

$skey = 0x47

Case "H"

$skey = 0x48

Case "I"

$skey = 0x49

Case "J"

$skey = 0x4A

Case "K"

$skey = 0x4B

Case "L"

$skey = 0x4C

Case "M"

$skey = 0x4D

Case "N"

$skey = 0x4E

Case "O"

$skey = 0x4F

Case "P"

$skey = 0x50

Case "Q"

$skey = 0x51

Case "R"

$skey = 0x52

Case "S"

$skey = 0x53

Case "T"

$skey = 0x54

Case "U"

$skey = 0x55

Case "V"

$skey = 0x56

Case "W"

$skey = 0x57

Case "X"

$skey = 0x58

Case "Y"

$skey = 0x59

Case "Z"

$skey = 0x5A

Case "LWin"

$skey = 0x5B

Case "RWin"

$skey = 0x5C

Case "NUMPAD0"

$skey = 0x60

Case "NUMPAD1"

$skey = 0x61

Case "NUMPAD2"

$skey = 0x62

Case "NUMPAD3"

$skey = 0x63

Case "NUMPAD4"

$skey = 0x64

Case "NUMPAD5"

$skey = 0x65

Case "NUMPAD6"

$skey = 0x66

Case "NUMPAD7"

$skey = 0x67

Case "NUMPAD8"

$skey = 0x68

Case "NUMPAD9"

$skey = 0x69

Case "Multiply"

$skey = 0x6A

Case "Add"

$skey = 0x6B

Case "Separator"

$skey = 0x6C

Case "Subtract"

$skey = 0x6D

Case "Decimal"

$skey = 0x6E

Case "Divide"

$skey = 0x6F

Case "F1"

$skey = 0x70

Case "F2"

$skey = 0x71

Case "F3"

$skey = 0x72

Case "F4"

$skey = 0x73

Case "F5"

$skey = 0x74

Case "F6"

$skey = 0x75

Case "F7"

$skey = 0x76

Case "F8"

$skey = 0x77

Case "F9"

$skey = 0x78

Case "F10"

$skey = 0x79

Case "F11"

$skey = 0x7A

Case "F12"

$skey = 0x7B

Case "F13"

$skey = 0x7C

Case "F16"

$skey = 0x7F

Case "F17"

$skey = 0x80

Case "F18"

$skey = 0x81

Case "F19"

$skey = 0x82

Case "F20"

$skey = 0x83

Case "F21"

$skey = 0x84

Case "F22"

$skey = 0x85

Case "F23"

$skey = 0x86

Case "F24"

$skey = 0x87

Case "NUM LOCK"

$skey = 0x90

Case "SCROLL LOCK"

$skey = 0x91

Case "LSHIFT"

$skey = 0xA0

Case "RSHIFT"

$skey = 0xA1

Case "LCTRL"

$skey = 0xA2

Case "RCTRL"

$skey = 0xA3

Case "LMENU"

$skey = 0xA4

Case "RMENU"

$skey = 0xA5

Case "="

$skey = 0x92

Case ";"

$skey = 0xBA

Case ":"

$skey = 0xBA

Case "+"

$skey = 0xBB

Case ","

$skey = 0xBC

Case "-"

$skey = 0xBD

Case "."

$skey = 0xBE

Case "/"

$skey = 0xBF

Case "?"

$skey = 0xBF

Case "`"

$skey = 0xC0

Case "~"

$skey = 0xC0

Case "["

$skey = 0xDB

Case "{"

$skey = 0xDB

Case "\"

$skey = 0xDC

Case "|"

$skey = 0xDC

Case "]"

$skey = 0xDD

Case "}"

$skey = 0xDD

Case "'"

$skey = 0xDE

Case '"'

$skey = 0xDE

Case "<"

$skey = 0xE2

Case ">"

$skey = 0xE2

 

 

stop1.png
Opublikowano

człowieku !! pomyliłeś funkcje w tej w ogule coś takiego nie występuje

 

no chyba ze ja się mylę to pokaż mi jakie zastosowanie ma to co piszesz w swoich postach ??

 

pokasu swoje wpisy albo dodaj w spoilery , zaśmieca tylko temat

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

Po hu* sie bulwersujesz omg!

To są dodatkowe Case bo u Ciebie jest tylko troche nie wszystkie, a to są dodatkowe.

Co za typ....

 

Przykład:

 

 

#include <NomadMemory.au3> ; ściągnąc i skopiowac do katalogu autoit Include

#include <WindowsConstants.au3>

 

Opt("WinWaitDelay", 100)

Opt("WinTitleMatchMode", 4)

 

Global $client = "NAZWA OKIENKA"

$PID = WinGetProcess($client)

Global $hprocess = _MemoryOpen($PID)

Global $hwnd = WinGetHandle($client)

while 1

sleep(1000)

KeySend("+")

KeySend("-")

KeySend("ESC")

KeySend("8")

KeySend("9")

WEnd

Func KeySend($inkey, $evt = "pressed", $kdown = 50)

$user32 = DllOpen("user32.dll")

If $user32 = -1 Then

ConsoleWrite("KeySend: cannot open user32.dll")

Exit

EndIf

 

; handling for special keys

Switch StringUpper($inkey)

Case "@"

$skey = 0x40

$lparam = 0x00100001

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", 0x71, "long", $lparam)

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_CHAR, "int", $skey, "long", $lparam)

Sleep(20)

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", 0x71, "long", BitOR($lparam, 0xC0000000))

Case "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"

$skey = 0x6f + Int(StringMid($inkey, 2))

ContinueCase

Case "NUM0", "NUM1", "NUM2", "NUM3", "NUM4", "NUM5", "NUM6", "NUM7", "NUM8", "NUM9"

If StringUpper(StringLeft($inkey, 3)) = "NUM" Then

$skey = 0x60 + Int(StringMid($inkey, 4))

EndIf

ContinueCase

Case "RETURN", "SPACE", "TAB", "BACK", "END", "HOME", "SNAPSHOT", "INSERT", "DELETE", "LEFT", "RIGHT", "UP", "DOWN"

Switch StringUpper($inkey)

Case "RETURN"

$skey = 0x0D

Case "SPACE"

$skey = 0x20

Case "TAB"

$skey = 0x09

Case "BACK"

$skey = 0x08

Case "END"

$skey = 0x23

Case "HOME"

$skey = 0x24

Case "SNAPSHOT"

$skey = 0x2c

Case "INSERT"

$skey = 0x2d

Case "DELETE"

$skey = 0x2e

Case "LEFT"

$skey = 0x25

Case "RIGHT"

$skey = 0x27

Case "UP"

$skey = 0x26

Case "DOWN"

$skey = 0x28

Case "LeftMouse"

$skey = 0x01

Case "RightMouse"

$skey = 0x02

Case "MiddleMouse"

$skey = 0x04

Case "X1Mouse"

$skey = 0x05

Case "X2Mouse"

$skey = 0x06

Case "BACKSPACE"

$skey = 0x08

Case "TAB"

$skey = 0x09

Case "CLEAR"

$skey = 0x0C

Case "ENTER"

$skey = 0x0D

Case "SHIFT"

$skey = 0x10

Case "CTRL"

$skey = 0x11

Case "ALT"

$skey = 0x12

Case "PAUSE"

$skey = 0x13

Case "CAPSLOCK"

$skey = 0x14

Case "ESC"

$skey = 0x1B

Case " "

$skey = 0x20

Case "SPACE"

$skey = 0x20

Case "PAGE UP"

$skey = 0x21

Case "PAGE DOWN"

$skey = 0x22

Case "END"

$skey = 0x23

Case "HOME"

$skey = 0x24

Case "LEFT"

$skey = 0x25

Case "UP"

$skey = 0x26

Case "RIGHT"

$skey = 0x27

Case "DOWN"

$skey = 0x28

Case "SELECT"

$skey = 0x29

Case "PRINT"

$skey = 0x2A

Case "EXECUTE"

$skey = 0x2B

Case "PRINT SCREEN"

$skey = 0x2C

Case "INS"

$skey = 0x2D

Case "DEL"

$skey = 0x2E

Case "0"

$skey = 0x30

Case "1"

$skey = 0x31

Case "2"

$skey = 0x32

Case "3"

$skey = 0x33

Case "4"

$skey = 0x34

Case "5"

$skey = 0x35

Case "6"

$skey = 0x36

Case "7"

$skey = 0x37

Case "8"

$skey = 0x38

Case "9"

$skey = 0x39

Case "A"

$skey = 0x41

Case "B"

$skey = 0x42

Case "C"

$skey = 0x43

Case "D"

$skey = 0x44

Case "E"

$skey = 0x45

Case "F"

$skey = 0x46

Case "G"

$skey = 0x47

Case "H"

$skey = 0x48

Case "I"

$skey = 0x49

Case "J"

$skey = 0x4A

Case "K"

$skey = 0x4B

Case "L"

$skey = 0x4C

Case "M"

$skey = 0x4D

Case "N"

$skey = 0x4E

Case "O"

$skey = 0x4F

Case "P"

$skey = 0x50

Case "Q"

$skey = 0x51

Case "R"

$skey = 0x52

Case "S"

$skey = 0x53

Case "T"

$skey = 0x54

Case "U"

$skey = 0x55

Case "V"

$skey = 0x56

Case "W"

$skey = 0x57

Case "X"

$skey = 0x58

Case "Y"

$skey = 0x59

Case "Z"

$skey = 0x5A

Case "LWin"

$skey = 0x5B

Case "RWin"

$skey = 0x5C

Case "NUMPAD0"

$skey = 0x60

Case "NUMPAD1"

$skey = 0x61

Case "NUMPAD2"

$skey = 0x62

Case "NUMPAD3"

$skey = 0x63

Case "NUMPAD4"

$skey = 0x64

Case "NUMPAD5"

$skey = 0x65

Case "NUMPAD6"

$skey = 0x66

Case "NUMPAD7"

$skey = 0x67

Case "NUMPAD8"

$skey = 0x68

Case "NUMPAD9"

$skey = 0x69

Case "Multiply"

$skey = 0x6A

Case "Add"

$skey = 0x6B

Case "Separator"

$skey = 0x6C

Case "Subtract"

$skey = 0x6D

Case "Decimal"

$skey = 0x6E

Case "Divide"

$skey = 0x6F

Case "F1"

$skey = 0x70

Case "F2"

$skey = 0x71

Case "F3"

$skey = 0x72

Case "F4"

$skey = 0x73

Case "F5"

$skey = 0x74

Case "F6"

$skey = 0x75

Case "F7"

$skey = 0x76

Case "F8"

$skey = 0x77

Case "F9"

$skey = 0x78

Case "F10"

$skey = 0x79

Case "F11"

$skey = 0x7A

Case "F12"

$skey = 0x7B

Case "F13"

$skey = 0x7C

Case "F16"

$skey = 0x7F

Case "F17"

$skey = 0x80

Case "F18"

$skey = 0x81

Case "F19"

$skey = 0x82

Case "F20"

$skey = 0x83

Case "F21"

$skey = 0x84

Case "F22"

$skey = 0x85

Case "F23"

$skey = 0x86

Case "F24"

$skey = 0x87

Case "NUM LOCK"

$skey = 0x90

Case "SCROLL LOCK"

$skey = 0x91

Case "LSHIFT"

$skey = 0xA0

Case "RSHIFT"

$skey = 0xA1

Case "LCTRL"

$skey = 0xA2

Case "RCTRL"

$skey = 0xA3

Case "LMENU"

$skey = 0xA4

Case "RMENU"

$skey = 0xA5

Case "="

$skey = 0x92

Case ";"

$skey = 0xBA

Case ":"

$skey = 0xBA

Case "+"

$skey = 0xBB

Case ","

$skey = 0xBC

Case "-"

$skey = 0xBD

Case "."

$skey = 0xBE

Case "/"

$skey = 0xBF

Case "?"

$skey = 0xBF

Case "`"

$skey = 0xC0

Case "~"

$skey = 0xC0

Case "["

$skey = 0xDB

Case "{"

$skey = 0xDB

Case "\"

$skey = 0xDC

Case "|"

$skey = 0xDC

Case "]"

$skey = 0xDD

Case "}"

$skey = 0xDD

Case "'"

$skey = 0xDE

Case '"'

$skey = 0xDE

Case "<"

$skey = 0xE2

Case ">"

$skey = 0xE2

EndSwitch

$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)

$lparam = BitShift($ret[0], -16)

$lparam = BitOR($lparam, 1)

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)

Sleep($kdown)

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))

Case Else ; default lower case key handling

$key = DllCall($user32, "int", "VkKeyScan", "int", Asc(StringLower($inkey)))

$skey = $key[0]

$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)

$lparam = BitShift($ret[0], -16)

$lparam = BitOR($lparam, 1)

Select

Case $evt = "pressed"

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)

Sleep($kdown)

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))

Case $evt = "down"

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)

Case $evt = "up"

DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))

EndSelect

EndSwitch

 

DllClose($user32)

EndFunc ;==>KeySend

 

 

stop1.png
Opublikowano

w sumie chodzi o podstawe tylko , czesc nie dzialala by wcale , np obsluga myszy bo to inna funkcja i niektore z tej listy tez nie dzialaja .

uaktywnione tylko podstawowe klawisze na standartowej klawiaturze , dopisana funkcja dla specjalnych np @ , reszte niepotrzebnie dopisywac albo definiowac drugo raz akcje ale...

 

ale powiedzmy troche mnie zastanowiles , wczesniej nie wpadlem na to bo takie bylo proste, zauwazylem swietny sposob do skryptu remapowania klawiszy na klawiaturze

 

potar , za spoilerki dzieki uwazam ze zbedne rzeczy zasmiecaja albo wrecz zniechecaja nawet do przegladania , a kto potrzebuje zerknie i tak

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

  • 1 miesiąc temu...
  • 3 tygodnie później...
Opublikowano

Hahahhaha wuwhahahahahahaaha :D hAhahahahahahahah HAhahaahahah :DDDDD Kłąnia się znajomość autoit ;]

Jebią mnie te wasze + i - ... Co to do chuja ma być? Oni Wam za nie wypłacają czy co ,ze tak je zbieracie ? ;) Pozdrawiamy wszystkie dzieci...

  • 2 miesiące temu...
  • 1 rok później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...