Jump to content

Autoit input blocked from a program.


Azathoth
 Share

Recommended Posts

Alright, here is the issue. I am trying to send text to a text box in a program using ControlSend, I can get it to function perfectly with notepad, with no issues, but the other program will not accept it. I can use WinActivate on said program, but I cannot ControlSend to its controls.

I have tried multiple ways of sending to the control, not even Send("test") will work. Any ideas? This script is not being written AS a bot for a GAME, so we can end the senseless flames before they start. If anyone has run into this before, and knows a way around it, please inform me, it would be greatly appreciated.

Link to comment
Share on other sites

The question will be asked however - Are you attempting to interact with a game? Does this game have a TOS against automation? You may want to check this. If it does, then the game in question may have software running to resist what you are attempting.

If it isn't a game, then is the window flash based? Is it web based? Know what you are attempting to automate would help in figuring out your issue.

Link to comment
Share on other sites

Ok, apparently we need to fully get this out of the way.

This script is not being written to interact with a game.

The program I am interacting with does not mention automation prevention in a TOS/EULA/Any other form of agreement.

So, with that out of the way.

Any opinions?

Have you run into this before?

Could they be custom controls that resist automation?

And if so, any work arounds?

Link to comment
Share on other sites

  • Developers

Any opinions?

Have you run into this before?

Could they be custom controls that resist automation?

And if so, any work arounds?

Show the info given by AU3INFO for this control and the scriptline that isn't working.

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Show the info given by AU3INFO for this control and the scriptline that isn't working.

Jos

>>>> Window <<<<
Title:  HB Login
Class:  WindowsForms10.window.8.app.0.33c0d9d
Position:   132, 132
Size:   307, 507
Style:  0x16CF0000
ExStyle:    0x00050100
Handle: 0x00030354

>>>> Control <<<<
Class:  WindowsForms10.EDIT.app.0.33c0d9d
Instance:   1
ClassnameNN:    WindowsForms10.EDIT.app.0.33c0d9d1
Name:   
Advanced (Class):   [CLASS:WindowsForms10.EDIT.app.0.33c0d9d; INSTANCE:1]
ID: 328486
Text:   
Position:   77, 12
Size:   210, 20
ControlClick Coords:    29, 12
Style:  0x560100C0
ExStyle:    0x00000200
Handle: 0x00050326

>>>> Mouse <<<<
Position:   242, 179
Cursor ID:  0
Color:  0xD4D0C8

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
Username:
Password:
Login


>>>> Hidden Text <<<<

And...

ControlSend("HB Login", "", "[CLASS:WindowsForms10.EDIT.app.0.33c0d9d; INSTANCE:1]", "TestTestTest")

ControlSend("HB Login", "", "[CLASS:EDIT; INSTANCE:1]", "TestTestTest")

I have tried it many, many, ways, doesn't seem to work.

Like I said before, I also tried WinActivate, which Will activate the window and bring it to the front, and tried just using Send("TestTestTest") and that will not work on this particular form either, am I missing something?

Link to comment
Share on other sites

WinList is pretty Limited, however, I can find the Hb Login window, title, and Hwnd, so it does find it.

However, ControlSetText, would not work either. I tried many variations of ControlSend, ControlSetText, and even tried to use a ControlClick on the login button, but nothing so far.

However, I can use the classnames to retrieve the hWnd of the controls via ControlGetHandle.

Any other ideas?

Link to comment
Share on other sites

Have you tried the simple form of Send instead of ControlSend?

Example: Opens Hardware in Windows XP and set acceleration to MAX

Run("control.exe desk.cpl,,4")         ;Run the Display Control Panel on 5th Tab "Settings" 
WinWaitActive("Display Properties")          ;Wait of it to open

Send("{TAB 3}{ENTER}")                       ;Tab 3 times to Advance then enter
WinWaitActive("Plug and Play Monitor")       ;Wait of it to open
Send("+{TAB}{RIGHT 3}{TAB}{RIGHT 5}{ENTER}") ;Scroll the slider all the way to the right
WinWaitActive("Display Properties")          ;Wait to close
Send("{TAB 2}{ENTER}")                       ;close display properties

If you are just wanting to send keyboard input to any program this seems simple enough.

Link to comment
Share on other sites

Have you tried the simple form of Send instead of ControlSend?

Example: Opens Hardware in Windows XP and set acceleration to MAX

Run("control.exe desk.cpl,,4")         ;Run the Display Control Panel on 5th Tab "Settings" 
WinWaitActive("Display Properties")          ;Wait of it to open

Send("{TAB 3}{ENTER}")                       ;Tab 3 times to Advance then enter
WinWaitActive("Plug and Play Monitor")       ;Wait of it to open
Send("+{TAB}{RIGHT 3}{TAB}{RIGHT 5}{ENTER}") ;Scroll the slider all the way to the right
WinWaitActive("Display Properties")          ;Wait to close
Send("{TAB 2}{ENTER}")                       ;close display properties

If you are just wanting to send keyboard input to any program this seems simple enough.

Not accepting Send input either. It is really odd to be honest.

Link to comment
Share on other sites

  • 11 months later...

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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...