找回密码
 加入
搜索
查看: 1832|回复: 4

[AU3基础] 【已解决】关于 使用 X64 版本的 AutoIt3_x64/AUT2EXE_x64 的困惑

[复制链接]
发表于 2021-5-9 22:23:40 | 显示全部楼层 |阅读模式
本帖最后由 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 会对皮肤调用,还有控件文本获取有影响吗?还是我自己哪里弄错了,希望各位大佬能指点一二,万分感谢!
发表于 2021-5-9 22:54:29 | 显示全部楼层
是这样没错。有些只支持32位。获取一般是要对应的,x64获取x64的。

评分

参与人数 1金钱 +40 收起 理由
itzyx + 40 赞一个!

查看全部评分

 楼主| 发表于 2021-5-10 08:51:44 | 显示全部楼层
本帖最后由 itzyx 于 2021-5-10 08:53 编辑
afan 发表于 2021-5-9 22:54
是这样没错。有些只支持32位。获取一般是要对应的,x64获取x64的。

搜嘎 ,A大那如果要支持x64的,就要用 对应的支持x64 皮肤文件是嘛
发表于 2021-5-10 09:36:31 | 显示全部楼层
itzyx 发表于 2021-5-10 08:51
搜嘎 ,A大那如果要支持x64的,就要用 对应的支持x64 皮肤文件是嘛

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

一般如无必须,肯定编译为32位程序,因为兼容通用。
 楼主| 发表于 2021-5-10 10:41:05 | 显示全部楼层
afan 发表于 2021-5-10 09:36
我说的x64对应的指的是获取,就是你上面说的获取控件文本。至于皮肤,有没有x64版本不知道,没用过皮肤, ...

好的 感谢A大解答
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-19 23:00 , Processed in 0.075456 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表