Digital3D Posted September 7, 2011 Share Posted September 7, 2011 Hello I'm a .Net C# Developer. I use in my code on my PC Windows 7 32 bits this line: string text = au3.ControlListView(windowTitle, "", "SysListView321", "GetText", "1", ""); I receive a correct result but on my second PC Windows 7 64 bits, the same line give me a blank result ?? I touch anything, I open the same project but on two different machines (32 bits and 64 bits), on 32 bits, I've installed 32 bits version of AutoIT, and on 64 bits version 64 bits. If I install 32 bits version on Windows 7 64 bits, my script crash Do you plan a new version or a Beta version correct this ? Thanks for your good job David Link to comment Share on other sites More sharing options...
KaFu Posted September 7, 2011 Share Posted September 7, 2011 From the help-file for the function ControlListView(): "Some commands may fail when using a 32-bit AutoIt process to read from a 64-bit process. Likewise commands may fail when using a 64-bit AutoIt process to read from a 32-bit process." I guess that's not really a bug but windows internal? OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2022-Nov-26) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Feb-16) HMW - Hide my Windows (2018-Sep-16) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2023-Jun-03) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
AFONTANEZ Posted October 27, 2011 Share Posted October 27, 2011 Any work around for this? Link to comment Share on other sites More sharing options...
Zedna Posted October 27, 2011 Share Posted October 27, 2011 You can write your own implementation for string text = au3.ControlListView(windowTitle, "", "SysListView321", "GetText", "1", ""); Look at sources of _GUICtrlListView_GetItemText() and rewrite it in your language from which you now call AutoitX. "C:\Program Files\AutoIt3\Include\GuiListView.au3" Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
KaFu Posted October 27, 2011 Share Posted October 27, 2011 (edited) The only AutoIt internal way I know of is compiling your script in x64 ... then accessing the data should be no problem. What I did once for SSD was to write a 32bit wrapper for a script complied to 32bit AND 64bit to work in both worlds... Global $sFilename, $iPID, $timer If Not FileExists(@ScriptDir & "\SSD") Then DirCreate(@ScriptDir & "\SSD") Global $sConfig_Path = @ScriptDir & "\SSD" If @OSArch = "X86" Then $sFilename = $sConfig_Path & "\SSD_32bit.exe" FileInstall("SSD_32bit.exe", $sFilename) Else $sFilename = $sConfig_Path & "\SSD_64bit.exe" FileInstall("SSD_64bit.exe", $sFilename) EndIf If Not FileExists($sFilename) Then _Exit("Could not extract OSArch file to" & @CRLF & @CRLF & $sFilename) Run(FileGetShortName($sFilename) & " " & $CmdLineRaw, $sConfig_Path) Func _Exit($sMsg = "") If $sMsg Then MsgBox(16 + 262144, "SSD Install Error", $sMsg) Exit EndFunc ;==>_Exit Edited October 27, 2011 by KaFu OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2022-Nov-26) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Feb-16) HMW - Hide my Windows (2018-Sep-16) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2023-Jun-03) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
chachew Posted October 27, 2011 Share Posted October 27, 2011 Im an currently working with a script doing this exact thing that you are asking and it works fine for 32bit and 64bit, (Obviously a 64bit compiled exe wont work on a 32bit machine) string text = ControlListView("WindowTitle", "", "SysListView321", "GetText", "1", "") should work with no issues - I run this exact line of code on 32bit and 64bit machines all day long 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