Jump to content

Recommended Posts

Posted

i want to get the handle to an external (windows sytem) program. as i always try to internationalize my scripts, i use the classname rather than the title, which is not the same in all languages, like this:

Opt("WinTitleMatchMode",4)
Run("calc.exe","",@SW_HIDE)
ProcessWait("calc.exe",5)
WinWaitActive("[CLASS:SciCalc]")
$hwnd=WinGetHandle("")

this works fine, but now i want the handle to a process with the classname: "Afx:1000000:0:10011:6:2ce107b". my normal way:

WinWaitActive("[CLASS:Afx:1000000:0:10011:6:2ce107b]")

does not work, maybe for the amount of ":". furthermore, the last part, "2ce107b", changes from instance to instance. can someone tell me how to do this or maybe a complete different way to get an "international handle" ?

merry xmas

j.

  Reveal hidden contents

 

Posted

  Quote

does not work, maybe for the amount of ":"

Try to escape these characters, like this \: or double them :: :) ...

  Quote

furthermore, the last part, "2ce107b", changes from instance to instance.

I posted an AutoIt Feature Request a while ago about this issue, i hope some day it will be implemented.

 

  Reveal hidden contents

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Posted (edited)

thank you very much,

  Quote

Try to escape these characters, like this \: or double them :: smile.gif ...

i am not sure if i understand this correctly. could you give me an example ?

like this:

WinWaitActive("[CLASS:Afx\:1000000\:0\:10011\:6\:2ce107b]") ?

or this:

WinWaitActive("[CLASS:Afx::1000000::0::10011::6::2ce107b]") ?

maybe escape them by using the Asc instead of char ?

WinWaitActive("[CLASS:Afx"&chr(..)&"1000000"&char(..)&"\:0......"]) ?

looks funny ?!? does it make sense ?

so, meanwhile, there is no other reliable possibility to catch a window like that ?

j.

Edited by jennico
  Reveal hidden contents

 

Posted

  Quote

could you give me an example ?

Well, now that i thought about it again, i do not think that there is need to escape those chars, because what counted as title, is what between [CLASS: and ; (delimiter between properties) or ] (closing square brakets).

And what you have shown, its what i meant before :)

 

  Reveal hidden contents

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Posted

  Quote

what counted as title, is what between [CLASS: and ; (delimiter between properties) or ]

should be so, but does not work. :)

your wildcard attempt is not accepted either. maybe i try another feature request. it cannot be that certain windows cannot be caught (at least the regular system windows, i am not talking about exotic ones like flash windows).

j.

  Reveal hidden contents

 

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
  • Recently Browsing   0 members

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