ttmv2019sx 发表于 2020-5-20 08:20:41

关于编译后的一些问题!【已解决】

本帖最后由 ttmv2019sx 于 2020-5-20 16:33 编辑

Local $ieVar = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer", "Version")

If StringInStr($ieVar,"9.11",0,1) Then
请问大神们。为什么。在源码中。。运行F5。。都是可以正常的判断的。。但是一但编译后。。只能是生成64位的EXE是可以判断成功的。。而32位EXE文件是不能判断成功的。。这样的话。。32位系统上就无法运行了。。

目的是判断IE的版本是否是11,所以我是看了好多的各种不同的IE的版本的编号后,,才去相到判断这个9.11是比较准的。。。但是。我只要是源码。。在任意的系统中都是可以准确的判断的。。只是编译成EXE后。。就问题来了。只有编译成64的才行。。编译成32的就不行。。。

ttmv2019sx 发表于 2020-5-20 08:21:16

@afan 大神可以解答一下的吗。

afan 发表于 2020-5-20 08:52:21

Hklm64\softw...

ttmv2019sx 发表于 2020-5-20 09:33:24

afan 发表于 2020-5-20 08:52
Hklm64\softw...

A大。。。要这样缩写。。才是可以的。???我上面的这样写。就会出现64位与32位。。生成的EXE出现不一样的情况。??

ttmv2019sx 发表于 2020-5-20 09:35:53

afan 发表于 2020-5-20 08:52
Hklm64\softw...

Hklm64\SOFTWARE\Microsoft\Internet Explorer", "Version"   是这样写吗。???如果是这样写。这个64是会导致我上面提到的。。编译EXE所产生的现象的。?

afan 发表于 2020-5-20 10:55:39

#AutoIt3Wrapper_UseX64=n        ;在64位系统中,注释掉这行就等于编译成64位执行;取消注释就等于编译成32位执行,不需要编译后再测试这么耽误时间。
Local $ieVar = RegRead("HKLM64\SOFTWARE\Microsoft\Internet Explorer", "Version")
MsgBox(0, '', $ieVar)        ;看看读取到了什么再判断,这是最基本的调试方法
中文标点符号不要乱打,非常影响阅读。

ttmv2019sx 发表于 2020-5-20 16:33:23

afan 发表于 2020-5-20 10:55
中文标点符号不要乱打,非常影响阅读。

好的,我已经处理好了,我是在原来的基础上增加了64,是有效果了,多谢大神,

afan 发表于 2020-5-20 22:08:38

ttmv2019sx 发表于 2020-5-20 16:33
好的,我已经处理好了,我是在原来的基础上增加了64,是有效果了,多谢大神,

HKEY_LOCAL_MACHINE64 跟 HKLM64 执行没区别。

ttmv2019sx 发表于 2020-5-21 08:32:08

afan 发表于 2020-5-20 22:08
HKEY_LOCAL_MACHINE64 跟 HKLM64 执行没区别。

好的,谢谢大神了。
页: [1]
查看完整版本: 关于编译后的一些问题!【已解决】