本帖最后由 听雨yu 于 2022-7-29 20:21 编辑
这两天肝程序的时候,遇见一个小问题就是我自己的程序需要32位的安装控制程序然后在64位电脑上安装时,程序安装包是可以直达C盘64位的program files目录,但安装控制程序使用目录宏跳转时候却定向到X86的目录去,我开始时候不知道重定向问题,就一直在看教程改代码,直到我后面明白X64文件重定向和win的一个api可以禁用重定向,然后呢,我特意新开了个程序去测试- #include <WinAPIFiles.au3>
- _WinAPI_Wow64EnableWow64FsRedirection(True)
- Global $OSA = @OSArch
- MsgBox(0, "1", $OSA)
- $ProFiles = EnvGet("ProgramFiles")
- Local $X64 = False
- MsgBox(0, $X64, $ProFiles)
- $ProFiles2 = @ProgramFilesDir
- Local $X64 = True
- MsgBox(0, $X64, $ProFiles2)
复制代码 测试程序的代码是这样的,也用了win禁用文件重定向的api,但就很奇怪,测试的弹窗(第三个)依然和第二个一样,第一个是测试检测位数的宏的反馈,完全没起到禁用重定向能访问X64解决重定向问题,函数改True和False都测试过了,没啥用,就很奇怪,最后我自己的安装控制程序只好改成检测系统为64位的时候使用系统盘的宏配合绝对路径变相解决问题,所以说有没大佬帮忙讲解下这个api该怎么用才能让X86的安装控制程序能直接通过宏访问到X64的Program Files目录
【PS:我自己的安装控制程序的策划是检测系统位数再决定是否启用重定向,所以这个api函数是套在主函数里的,我不确定是不是这个原因导致的问题,但我测试程序把它单独提出来放也没用】
烦请S大或者天空里懂这块的人帮忙解答解答,感谢
测试程序的运行截图
|