Search the Community
Showing results for tags 'instance'.
-
Hi friends, Suppose MyProgram is a tabbed program, meaning that it allows for opening multiple files in the same instance. I want to open File1, File2 and File3 in one instance of MyProgram from an AutoIT script. How can I do this? I have read the AutoIT Help File about "ShellExecute" and "Run", but I have found nothing helpful. Thanks for reading my question. Any answer would be very appreciated.
-
I'm trying to automate some things utilizing both firefox and chrome and a flash website. I would like to know the best and fastest way to correctly identify the flash control (and instance) for both browsers. Here is the code that I use now. I had to remove the instance checking because it wasn't identifying anything. Called in every loop of the main program: Func CheckHWnd($HWnd, $Call) Local $size = WinGetPos($HWnd) Select Case (Not IsArray($size) Or Not IsDeclared($size[3])) Or $HWnd = "" Call($Call) Return Case Else If ($size[2] <> 1024 Or $size[3] <> 820) Then Call($Call) EndSelect EndFunc ;==>CheckHWnd The above function will call either of these functions: Func GetFireFox() Local $classlist = StringSplit(WinGetClassList($Title_Firefox, ""), @LF, 2) Local $PluginWindows = _ArrayFindAll($classlist, "GeckoPluginWindow") For $flash = 0 To (UBound($PluginWindows) - 1) Local $str = "[CLASS:GeckoPluginWindow]" Local $FFC = ControlGetHandle($Title_Firefox, "", $str) Local $posi = WinGetPos($FFC, "") If ($posi[2] = 1024) Then $FF_Pos = $posi $FireFoxCtrl = $FFC Return $FFC EndIf Next Return $FireFoxCtrl EndFunc ;==>GetFireFox Func GetChrome() Local $classlist = StringSplit(WinGetClassList($Title_Chrome, ""), @LF, 2) Local $PluginWindows = _ArrayFindAll($classlist, "NativeWindowClass") For $flash = 0 To (UBound($PluginWindows) - 1) Local $str = "[CLASS:NativeWindowClass]" Local $CHC = ControlGetHandle($Title_Chrome, "", $str) Local $posi = WinGetPos($CHC, "") If ($posi[2] = 1024) Then $CH_Pos = $posi $ChromeCtrl = $CHC Return $CHC EndIf Next Return $ChromeCtrl EndFunc ;==>GetChrome I use the returned HWnd pointer in both direct drawing and in these functions: Func FirefoxClick($x, $y) ControlClick("", "", $FireFoxCtrl, "primary", 1, $x, $y) EndFunc ;==>FirefoxClick Func ChromeClick($x, $y) ControlClick("", "", $ChromeCtrl, "primary", 1, $x, $y) EndFunc ;==>ChromeClick The direct drawing (a cross and text, found in these forums) and the clicking work correctly, when the pointer is valid. But, say, when the window in chrome is refreshed and the flash plugin instance is incremented. It doesn't return the correct pointer at all. If you know of any ways to optimize this code, or correctly identify the instance number, I would much appreciate it.