itzyx 发表于 2021-5-9 22:23:40

【已解决】关于 使用 X64 版本的 AutoIt3_x64/AUT2EXE_x64 的困惑

本帖最后由 itzyx 于 2021-5-10 10:41 编辑

首先,下面是一段 我从论坛学习到的调用皮肤的代码,但是必须加上#PRE_UseX64=n 才能起效果,不知道是为啥。。。FileInstall("Skin.dll", @TempDir & "\Skin.dll")
FileInstall("black.she", @TempDir & "\black.she")
$skins = @TempDir & "\black.she"
$Dll = DllOpen(@TempDir & "\Skin.dll")
DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
DllCall($Dll, "int", "SkinH_SetAero", "int", 1)其次,我用下面的代码,获取SysListView321 的文本内容,加上#PRE_UseX64=n就获取不到, 去除之后就可以获取了,这又是为啥?
$handle = ControlGetHandle("窗口", "", "SysListView321")
MsgBox(4096, "Test", _GUICtrlListView_GetItemText($handle,2,2))

因为学习AU3时间也没多久, 所以有些DLLCALL的皮肤调用可以实现功能,就没花时间去具体研究细节了,今天偶然发现使用 X64 版本的 AutoIt3_x64/AUT2EXE_x64 居然对皮肤调用,还有控件文本获取有影响,所以架不住内心的困惑,想要咨询一下各位论坛的大佬们,加上#PRE_UseX64=n 会对皮肤调用,还有控件文本获取有影响吗?还是我自己哪里弄错了,希望各位大佬能指点一二,万分感谢!

afan 发表于 2021-5-9 22:54:29

是这样没错。有些只支持32位。获取一般是要对应的,x64获取x64的。

itzyx 发表于 2021-5-10 08:51:44

本帖最后由 itzyx 于 2021-5-10 08:53 编辑

afan 发表于 2021-5-9 22:54
是这样没错。有些只支持32位。获取一般是要对应的,x64获取x64的。
搜嘎 ,A大那如果要支持x64的,就要用 对应的支持x64 皮肤文件是嘛

afan 发表于 2021-5-10 09:36:31

itzyx 发表于 2021-5-10 08:51
搜嘎 ,A大那如果要支持x64的,就要用 对应的支持x64 皮肤文件是嘛

我说的x64对应的指的是获取,就是你上面说的获取控件文本。至于皮肤,有没有x64版本不知道,没用过皮肤,没兴趣

一般如无必须,肯定编译为32位程序,因为兼容通用。

itzyx 发表于 2021-5-10 10:41:05

afan 发表于 2021-5-10 09:36
我说的x64对应的指的是获取,就是你上面说的获取控件文本。至于皮肤,有没有x64版本不知道,没用过皮肤, ...

好的 感谢A大解答
页: [1]
查看完整版本: 【已解决】关于 使用 X64 版本的 AutoIt3_x64/AUT2EXE_x64 的困惑