找回密码
 加入
搜索
楼主: gyp2000

[原创] AutoIt v3.3.18.0 中文整合版(2026-01-14)更新!

  [复制链接]
 楼主| 发表于 前天 18:20 来自手机 | 显示全部楼层
fybhwsx 发表于 2026-1-17 09:26
run函数有问题?!Run('C:\Windows\System32\pnputil.exe /add-driver D:\PPMDRV-1.0.00000.47\ipfppm_sw.i ...

从安装程序应用程序中可以看到PnPUtil.exe的位置取决于安装程序的比特性:

32位Windows上的32位安装程序:%WinDir%\System32 32
64位Windows上的64位安装程序:%WinDir%\System32 32
64位Windows上的32位安装程序:%WinDir%\Sysnative (Windows及以上)

64位系统中批处理会调用64位CMD。不会出现可执行程序找不到的问题。
用AU3调用  需要考虑程序目录的问题,或者编译成64位应用程序。
发表于 前天 20:35 | 显示全部楼层
本帖最后由 fybhwsx 于 2026-1-17 20:38 编辑
gyp2000 发表于 2026-1-17 18:20
从安装程序应用程序中可以看到PnPUtil.exe的位置取决于安装程序的比特性:

32位Windows上的32位安装程序 ...

感谢回复,但一样的代码,换装131738前辈的汉化版就能运行,所以应该不是程序路径问题吧。。

对了,我用的Win11系统。以后的系统应该没有32位的了。
 楼主| 发表于 昨天 00:01 | 显示全部楼层
fybhwsx 发表于 2026-1-17 20:35
感谢回复,但一样的代码,换装131738前辈的汉化版就能运行,所以应该不是程序路径问题吧。。

对了,我用 ...

根据你的代码描述和你说排查方法,你不去验证。反而去怀疑运行环境的问题。反而将问题又丢了回来
旧版汉化能执行,可能是配置环境和官方的不一样,可能是bug。

运行下边代码可以验证:
If @AutoItX64 Then
        If FileExists(@SystemDir & "\pnputil.exe") Then
                Run(@SystemDir & '\pnputil.exe /add-driver D:\PPMDRV-1.0.00000.47\ipfppm_sw.inf')
                MsgBox(0, "64位执行环境", "执行文件:" & @SystemDir & "\pnputil.exe")
        Else
                MsgBox(0, "64位执行环境,", "未找到:" & @SystemDir & "\pnputil.exe")
        EndIf
Else
        If FileExists(@SystemDir & "\pnputil.exe") Then
                Run(@SystemDir & '\pnputil.exe /add-driver D:\PPMDRV-1.0.00000.47\ipfppm_sw.inf')
                MsgBox(0, "32位执行环境", "执行文件:" & @SystemDir & "\pnputil.exe")
        Else
                DllCall('kernel32.dll', 'boolean', 'Wow64EnableWow64FsRedirection', 'boolean', False) ;禁用 WOW64 系统文件夹重定向
                If FileExists(@WindowsDir & "\System32\pnputil.exe") Then
                        Run(@WindowsDir & '\System32\pnputil.exe /add-driver D:\PPMDRV-1.0.00000.47\ipfppm_sw.inf')
                        MsgBox(0, "32位执行环境", "执行文件是64位程序:" & @WindowsDir & "\System32\pnputil.exe")
                Else
                        MsgBox(0, "32位执行环境,", "32位和64位都未找到:" & @WindowsDir & "\System32\pnputil.exe")
                EndIf
        EndIf
EndIf

评分

参与人数 1金钱 +40 收起 理由
fybhwsx + 40 感谢!

查看全部评分

发表于 昨天 09:36 | 显示全部楼层
gyp2000 发表于 2026-1-18 00:01
根据你的代码描述和你说排查方法,你不去验证。反而去怀疑运行环境的问题。反而将问题又丢了回来
旧版汉 ...

感谢!问题解决。这些东西有点绕,想再请教一下,我用的系统就是Win11,64位的系统,怎么一劳永逸的解决这个问题呢。我看SciTE - 文本编辑器也只有32位?怎么编译成64位的exe文件?
 楼主| 发表于 昨天 12:46 来自手机 | 显示全部楼层
fybhwsx 发表于 2026-1-18 09:36
感谢!问题解决。这些东西有点绕,想再请教一下,我用的系统就是Win11,64位的系统,怎么一劳永逸的解决 ...


勾选编译x64

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +40 收起 理由
fybhwsx + 40 谢谢!

查看全部评分

发表于 昨天 13:14 | 显示全部楼层

谢谢,这个只能在界面修改吗,有没有配置文件可以改这个选项。我觉得现在默认应该都勾选才最好,毕竟32位的系统是要慢慢淘汰的呀。
 楼主| 发表于 昨天 17:44 来自手机 | 显示全部楼层
fybhwsx 发表于 2026-1-18 13:14
谢谢,这个只能在界面修改吗,有没有配置文件可以改这个选项。我觉得现在默认应该都勾选才最好,毕竟32位 ...

具体设置,你可以查看SciTE的帮助,可以做到默认编译X64。
至于你说的32位应用会淘汰,未来30-50年都不一定会实现,Windows的系统最大特点就是向下兼容,目前大量新软件还是32位。
系统方面,Windows系统应该会停止发布32位系统。
发表于 5 小时前 | 显示全部楼层
gyp2000 发表于 2026-1-18 17:44
具体设置,你可以查看SciTE的帮助,可以做到默认编译X64。
至于你说的32位应用会淘汰,未来30-50年都不一 ...

是这个吧:#AutoIt3Wrapper_UseX64=y,我在界面选择X64后代码中就多了这个。。
 楼主| 发表于 3 小时前 | 显示全部楼层
本帖最后由 gyp2000 于 2026-1-19 09:29 编辑
fybhwsx 发表于 2026-1-19 07:40
是这个吧:#AutoIt3Wrapper_UseX64=y,我在界面选择X64后代码中就多了这个。。

创建文件:
%LOCALAPPDATA%\AutoIt v3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.ini
内容是:
[Autoit]
Usex64=1

就可以实现默认编译64位应用程序

评分

参与人数 1金钱 +40 收起 理由
fybhwsx + 40 感谢!

查看全部评分

发表于 2 小时前 | 显示全部楼层
本帖最后由 fybhwsx 于 2026-1-19 12:01 编辑
gyp2000 发表于 2026-1-19 09:26
创建文件:
%LOCALAPPDATA%\AutoIt v3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.ini
内容是:

在这个目录%LOCALAPPDATA%\AutoIt v3\SciTE\AutoIt3Wrapper\下有一《"AutoIt3Wrapper.ini.example"》文件!这个应该就是可以设置默认编译X64程序的配置文件吧,但它多了个后缀.example?如果我再创建一个ini文档,Au3会执行哪个配置呢。

哈哈,折腾出结果了。ini文档管用,#AutoIt3Wrapper_UseX64=y也管用,再次感谢楼主!谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2026-1-19 13:02 , Processed in 0.114349 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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