seadoggie01 Posted July 31, 2019 Share Posted July 31, 2019 I'm attempting to control a 32 bit application (Perceptive Content aka ImageNow Client v7.2.3.384) from a Win 10 Enterprise - 64 bit. Everything was going fine until the AntiVirus software updated. Now any 32 application I compile is picked up as a Trojan horse and reported to the IT Security department. So now I have to use `#AutoIt3Wrapper_UseX64=y` to get my code to compile without errors. This makes `ControlTreeView` stop working however. Here's a quick example... Spoiler ; Even when running the script, changing from =n to =y breaks the script #AutoIt3Wrapper_UseX64=n Global Const $sImageNowTitle = "Perceptive Content Explorer" Global Const $sTreeViewTitle = "[ID: 26023; CLASS: SysTreeView32; INSTANCE:1]" ; Activate ImageNow Local $hWnd = WinActivate($sImageNowTitle) ; If ImageNow is open if $hWnd <> 0 then WinWaitActive($hWnd) ; If my search exists in the tree view If ControlTreeView($hWnd, "", $sTreeViewTitle, "Exists", "Documents|PS Invoices|My Search") Then ; Rest of my code Else ; Error catching code EndIf EndIf TLDR; Is there a way to use the equivalent of a 32-bit ControlTreeView function from a script compiled in 64-bit? Is there another way around this? All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
Nine Posted July 31, 2019 Share Posted July 31, 2019 Just remove the directory from the scan of the AV. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
seadoggie01 Posted July 31, 2019 Author Share Posted July 31, 2019 @Nine I wish it was that easy, but I'm not in IT, I have admin rights, but I can't mess with the AV Thank you though! All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
Nine Posted July 31, 2019 Share Posted July 31, 2019 It is not a mess, it is very simple. I am doing it for lot of my scripts. And it saves my life multiple times. Even if you find a way around this time, you will be facing the same problem in the future. So may as well start doing it. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
seadoggie01 Posted July 31, 2019 Author Share Posted July 31, 2019 I think you misunderstood me, when I said "I can't mess with the AV" I meant, I can't change it. IT has the AV software locked, I can only look at values, not change anything about it. All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
Nine Posted July 31, 2019 Share Posted July 31, 2019 I see. Then compile it as a .a3x. AV shouldn't detect virus in those... seadoggie01 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
jdelaney Posted July 31, 2019 Share Posted July 31, 2019 (edited) That's an interesting problem...maybe something like: _WinAPI_Wow64EnableWow64FsRedirection I believe that would force the 32bit windows dlls to be used...with the proper parmater. Even when compiled 64bit. Easy to verify in that handles returned will be half the character count. Can you white list a directory with your AV? Edit, unfortunately, the handle returned is always a 64 bit version, disregard this suggestion) Edited July 31, 2019 by jdelaney IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window. Link to comment Share on other sites More sharing options...
Zedna Posted August 20, 2019 Share Posted August 20, 2019 Try to use _GUICtrlTreeView_FindItemEx() instead of ControlTreeView(Exists) like this: ; Even when running the script, changing from =n to =y breaks the script #AutoIt3Wrapper_UseX64=n #include <GuiTreeView.au3> Global Const $sImageNowTitle = "Perceptive Content Explorer" Global Const $sTreeViewTitle = "[ID: 26023; CLASS: SysTreeView32; INSTANCE:1]" ; Activate ImageNow Local $hWnd = WinActivate($sImageNowTitle) ; If ImageNow is open if $hWnd <> 0 then WinWaitActive($hWnd) $hTree = ControlGetHandle($hWnd, "", $sTreeViewTitle) ; If my search exists in the tree view ;~ If ControlTreeView($hWnd, "", $sTreeViewTitle, "Exists", "Documents|PS Invoices|My Search") Then If _GUICtrlTreeView_FindItemEx($hTree, "Documents|PS Invoices|My Search") Then ; Rest of my code Else ; Error catching code EndIf EndIf Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
seadoggie01 Posted August 21, 2019 Author Share Posted August 21, 2019 (edited) @Zedna Thank you! I tried it, but it never finds the item under x64. The _GUICtrlTreeView_GetText returns empty text for each item, though I can get each of the list view item handles. I'm trying to check further, but I've hit DLL territory... which I don't understand well. Edited August 21, 2019 by seadoggie01 All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
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