joelb Posted August 23, 2012 Posted August 23, 2012 (edited) Hi everyone , I am a newb with Autoit , yet we consider using it for a project in our company so I could really use help. Here's my problem : I have made a tool whose job is to run a couple of processes , take a snapshot of the window with a specific process and shut down. I wrote the script , made an exe (with auto2exe tool) and ran it on my machine and it works alright . However , running my exe on a friend's machine yields bad result - the snapshot taken is not of the wanted window but of everything 'behind' the window (I get a screenshot of the portion of the desktop that is behind the window that I want). Both of our machines run windows7 so I don't know what's the difference other than obviously he does not have autoit installed (does it matter?) I suspect that maybe the #include <ScreenCapture.au3> line got messed up somehow otherwise I'm completely lost ... My code : #include <ScreenCapture.au3> FileInstall("C:UsersJuelDesktoptoolv3.0releaseexecute.exe", @WorkingDir & "execute2.exe") FileInstall("C:UsersJuelDesktoptoolv3.0releasetool.exe" , @WorkingDir & "tool2.exe") ;takes process id and returns window handle Func _GetHwndFromPID($PID) $hWnd = 0 $winlist = WinList() Do For $i = 1 To $winlist[0][0] If $winlist[$i][0] <> "" Then $iPID2 = WinGetProcess($winlist[$i][1]) If $iPID2 = $PID Then $hWnd = $winlist[$i][1] ExitLoop EndIf EndIf Next Until $hWnd <> 0 Return $hWnd EndFunc Run("tool2.exe") ProcessWait("execute2.exe") $pid=ProcessExists("execute2.exe") Sleep(8000) $handle=_GetHwndFromPID($pid) _ScreenCapture_CaptureWnd(@DesktopDir & "offer_Image.jpg", $handle) ProcessClose($pid) Edited August 23, 2012 by Melba23
Moderators Melba23 Posted August 23, 2012 Moderators Posted August 23, 2012 joelb,Welcome to the AutoIt forum. Just a guess, but does your friend have Aero enabled and you not? M23P.S. Please use more descriptive titles in future - "Newb really needs help" is not very informative. Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Andy007 Posted November 8, 2012 Posted November 8, 2012 Hi Melba, Could you please explain the problem with aero or please tell me what to type into the search to find out what are you talking about. I am always FEARFUL of posting in these forums, just in case someone flames me for putting in a dumb question. I have found this thread because I too am having problems with my Window (screen) capture program as a result of the latest AutoIt version (v3.3.8.1), it has changed the way _ScreenCapture_CaptureWnd works. Whether I have Aero on or off does not seem to matter. I am passing the window control ID from a different program (that part has not changed) but it looks like _ScreenCapture_CaptureWnd does not like the old controlID. So now, I get the entire desktop screen instead of just the window. Any help would be greatly appreciated. joelb, did you get any further? Regards,Andy (no, the other one)
BrewManNH Posted November 8, 2012 Posted November 8, 2012 The handle for a window is different every time the program is run, what are you using to get the handle from the window you're trying to capture? If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Andy007 Posted November 8, 2012 Posted November 8, 2012 Hi BewManNH, Thanks for responding. I am using an object oriented language called OpenROAD (by Ingres Corp)... Internally, each frame that is instantiated has its own "widgetid" and in the past this worked as the windows control id. eg: hwnd = curframe.widgetid; Regards,Andy (no, the other one)
Moderators Melba23 Posted November 8, 2012 Moderators Posted November 8, 2012 Andy007,I am always FEARFUL of posting in these forums, just in case someone flames me for putting in a dumb question.Please do not be - as you can see from the Forum Rules we do not tolerate flaming here. Everyone is welcome as long as they respect those rules, regardless of their experience level - after all everyone of us started at the beginning at one point in our coding lives. And if it does happen because someone slept badly the night before - just report it and the Moderating team will deal with it. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Andy007 Posted November 9, 2012 Posted November 9, 2012 Hi Melb23, Why would Aero be a problem? Regards,Andy (no, the other one)
Moderators Melba23 Posted November 9, 2012 Moderators Posted November 9, 2012 Andy007,Using Aero can give problems with some screen reading functions (particularly the Pixel* ones), so I thought it worthwhile asking. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now