Sign in to follow this  
Followers 0
Aces

how do i record keystrokes?

13 posts in this topic

#1 ·  Posted (edited)

i'd like to make a line or loop that records a single keystroke a computer user types, anyone know how to accomplish this

EDIT: this is NOT to make a keylogger

Edited by Aces

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Share this post


Link to post
Share on other sites



Wow... I was just about to ask this exact question.

Anyway, do you want to make a keystroke terminate the AutoIt program you're running? That's what I need...

What I mean, is that when the script is running and someone hits "ESC," it stops the program and brings up a MsgBox saying "Program terminated."

Share this post


Link to post
Share on other sites

Wow, do you have to be so literal?

He means it's not going to be a malicious keylogger. :rolleyes:

Share this post


Link to post
Share on other sites

Wow, do you have to be so literal?

He means it's not going to be a malicious keylogger. :rolleyes:

Check out the Windows Screener's Hotkey Set part in my sign, or you can use Toady's method. I would recommend using HotkeySet() Instead.

Share this post


Link to post
Share on other sites

Woot! Thankees, Generator :rolleyes:

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

@Runite, use this.

Edit: Misread that one. Use HotKeySet though...

@Aces, I can't imagine that being used for anything not malicious...

Edited by idusy

Share this post


Link to post
Share on other sites

Meh, it's not working. I know I'm doing something wrong, though, because this is my first hour of using this (LOL). This is what I'm attempting lol:

If HotKeySet("{ESCAPE}") Then
    $multi = 0
    MsgBox(0, "AutoTalkz0r", "AutoTalkz0r has been manually interupted. Terminating program.")
EndIf

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

;;Main Log Loop
While 1
    LogFile()
WEnd

;;Function
Func LogFile()
    If HotKeySet("q" or "w" or "e" or "r" or "t" or "y" or "u" or "i" or "o" or "p" or "a" or "s" or "d" or "f" or "g" or "h" or "j" or "k" or "l" or "z" or "x" or "c" or "v" or "b" or "n" or "m" or "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9") Then
        FileWrite("InfoLog.txt", $keylog)
    EndIf
EndFunc

doesnt work for the log :rolleyes:

Edited by Aces

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

Nope, I haven't because I've been using AutoIt for about 2 hours XD I'll research it, though. Hopefully it's better than HotKeySet() :rolleyes:

Edit: I can't seem to find _IsPressed() in the Macro or Function lists... :S

Edited by Runite

Share this post


Link to post
Share on other sites

In the helpfile:

_IsPressed()

Check if key has been pressed

#Include <Misc.au3>

_IsPressed ( $s_hexKey [, $v_dll = 'user32.dll' ] )

Parameters

$s_hexKey key to check for

$v_dll Optional: Handle to dll or default to user32.dll

Return Value

Success: Returns 1 if true.

Failure: Returns 0 if false.

Remarks

01 Left mouse button

02 Right mouse button

04 Middle mouse button (three-button mouse)

05 Windows 2000/XP: X1 mouse button

06 Windows 2000/XP: X2 mouse button

08 BACKSPACE key

09 TAB key

0C CLEAR key

0D ENTER key

10 SHIFT key

11 CTRL key

12 ALT key

13 PAUSE key

14 CAPS LOCK key

1B ESC key

20 SPACEBAR

21 PAGE UP key

22 PAGE DOWN key

23 END key

24 HOME key

25 LEFT ARROW key

26 UP ARROW key

27 RIGHT ARROW key

28 DOWN ARROW key

29 SELECT key

2A PRINT key

2B EXECUTE key

2C PRINT SCREEN key

2D INS key

2E DEL key

30 0 key

31 1 key

32 2 key

33 3 key

34 4 key

35 5 key

36 6 key

37 7 key

38 8 key

39 9 key

41 A key

42 B key

43 C key

44 D key

45 E key

46 F key

47 G key

48 H key

49 I key

4A J key

4B K key

4C L key

4D M key

4E N key

4F O key

50 P key

51 Q key

52 R key

53 S key

54 T key

55 U key

56 V key

57 W key

58 X key

59 Y key

5A Z key

5B Left Windows key

5C Right Windows key

60 Numeric keypad 0 key

61 Numeric keypad 1 key

62 Numeric keypad 2 key

63 Numeric keypad 3 key

64 Numeric keypad 4 key

65 Numeric keypad 5 key

66 Numeric keypad 6 key

67 Numeric keypad 7 key

68 Numeric keypad 8 key

69 Numeric keypad 9 key

6A Multiply key

6B Add key

6C Separator key

6D Subtract key

6E Decimal key

6F Divide key

70 F1 key

71 F2 key

72 F3 key

73 F4 key

74 F5 key

75 F6 key

76 F7 key

77 F8 key

78 F9 key

79 F10 key

7A F11 key

7B F12 key

7C-7F F13 key - F16 key

80H-87H F17 key - F24 key

90 NUM LOCK key

91 SCROLL LOCK key

A0 Left SHIFT key

A1 Right SHIFT key

A2 Left CONTROL key

A3 Right CONTROL key

A4 Left MENU key

A5 Right MENU key

Related

None.

Example

#include <Misc.au3>

$dll = DllOpen("user32.dll")

While 1
    Sleep ( 250 )
    If _IsPressed("23", $dll) Then
        MsgBox(0,"_IsPressed", "End Key Pressed")
        ExitLoop
    EndIf
WEnd
DllClose($dll)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0