Jump to content
Sign in to follow this  
hookLine

Help with identifying a text statement on a screen

Recommended Posts

hookLine

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
dbzfanatic

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
hookLine

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
Pain

"...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
hookLine

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
TehWhale

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
hookLine

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
hookLine

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

Share this post


Link to post
Share on other sites
hookLine

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
hookLine

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  

×