AutoIt 大悲惨! windows7 64bit 被折腾了n久!!!!! ListView

我这个超级大笨蛋!!!!!!

每次编译 AutoIt 脚本都编译成 x64 版本, 然后写 第三方 32bit 的脚本. 

刚开始都没有问题的!

也完全没有意识到 64bit 32bit 的问题!

但是当涉及到:


_GuiCtrlListView_SetItemEx 这类函数,发现怎么都不起作用. 

设置 Item Text 只会使那个 Item 的字符变成空白!

我还自作聪明的以为 AutoIt 没有考虑到 跨进程SetText 需要打开目标进程,然后在对方的内存空间复制内容.

为此还深入 ListView.au3 一探究竟,结果发现Autoit 是处理过的,的确是在对方的内存空间复制内容.

然后百思不得其解, 

最后,自己写一个vc dll , 让autoit DllCall 解决这个问题.

还好,发现DllCall  无法调用这个 dll , 但是其他系统dll就可以!

突然想到,应该是这个 vc dll 是 32bit 的问题 . 

然后把脚本编译成 32bit , 发现可以顺利调用 vc dll

然后,然后!!!!!!!!!!!!!!!!!!!!

发现一切都正常了!!!!!!!!!!

原来就是32bit 的 问题 , 害的我调试了2天! 宝贵的两天!!!!!!


这种低级错误已经有好多次了. 说明!

千万不要怕麻烦,多尝试几个平台!

如果在多个平台上做,就不会有这个问题!

千万不要懒得不搭载平台!

多几台电脑,一起测试!!!!!


posted on   norsd  阅读(274)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏

导航

< 2011年11月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示