Sign in to follow this  
Followers 0
hookLine

Help with identifying a text statement on a screen

10 posts in this topic

Alright, so I want to have AutoIt type something like:

Ancient Shield
Stats: Blah blah blah
Blah blah blah
Blah blah blah

I want AutoIt to type that in the game window when a user types "ancient shield" into the game window. How would I do this?

Share this post


Link to post
Share on other sites



You would have to use a keyboard hook to catch the user input. This information could be used to make a keylogger so I will not post it here. There are topics in the forums about hooking the keyboard so search them.

Share this post


Link to post
Share on other sites

You would have to use a keyboard hook to catch the user input. This information could be used to make a keylogger so I will not post it here. There are topics in the forums about hooking the keyboard so search them.

Would you mind giving me a little more information on this?

Share this post


Link to post
Share on other sites

"...when a user types..."

That's the hard part if you mean another use, not yourself, search for ocr but I guess you will fail.

Using nomad memory or CE will most likely give a better result.

Share this post


Link to post
Share on other sites

That's the hard part if you mean another use, not yourself, search for ocr but I guess you will fail.

Using nomad memory or CE will most likely give a better result.

I referred to "user" being the user of this script, meaning myself pretty much, until I release it.

Share this post


Link to post
Share on other sites

Ugh, this is for Diablo II right? You can read chat messages by reading memory, but for some odd reason. It can't work on Vista. It just returns a blank string.

Obviously you will need the memory functions which are easy to find, but this works on XP to get the last msg, but not on vista.

Func D2GetLastMsg()
    Local $Handle = _MemoryOpen(WinGetProcess("Diablo II"))
    Local $Temp = _MemoryReadWideString(_MemoryRead(_MemoryRead(0x6FBCB830, $Handle, 'dword'), $Handle, 'dword'), $Handle, 'ushort[256]')
    Local $f = _MemoryClose($Handle)
    Return $Temp
EndFunc  ;==>GetLastChatMessage

Share this post


Link to post
Share on other sites

Ugh, this is for Diablo II right? You can read chat messages by reading memory, but for some odd reason. It can't work on Vista. It just returns a blank string.

Obviously you will need the memory functions which are easy to find, but this works on XP to get the last msg, but not on vista.

Func D2GetLastMsg()
    Local $Handle = _MemoryOpen(WinGetProcess("Diablo II"))
    Local $Temp = _MemoryReadWideString(_MemoryRead(_MemoryRead(0x6FBCB830, $Handle, 'dword'), $Handle, 'dword'), $Handle, 'ushort[256]')
    Local $f = _MemoryClose($Handle)
    Return $Temp
EndFunc ;==>GetLastChatMessage
Yes, this is for Diablo II.

Is there any other code I can use to make it work on Vista? I am running Vista right now :)

Share this post


Link to post
Share on other sites

Is there any way to make the above code work on Vista?

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

You would have to use a keyboard hook to catch the user input. This information could be used to make a keylogger so I will not post it here. There are topics in the forums about hooking the keyboard so search them.

I currently have the hook.dll file and the .au3 file.

Edited by hookLine

Share this post


Link to post
Share on other sites

Still need some help with this :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0