【已解决】x86编译程序,为什么不可以在x64上正常运行???
本帖最后由 arkhe 于 2011-8-18 19:25 编辑在x64的系统下,如果编译为x86,那么show的系统安装日期不正确,为:1970/01/01 08:00:00
如果编译为x64,那么就可以正确的显示了。
一般x86的程序是可以在x64上run的,可是为什么会出现这个问题?求解
在什么时候会区分x64和x86?
我看了date.au3的 _DateAdd()函数,没有发现撒有用信息。。。。
求解
ps:我有搜索以前的帖子,但是那个帖子的问题也没有解答。。。Func _InstallRunTime()
Local $_Date, $_TickCount, $iDate, $iHours, $iMins, $iSecs, $_Time
$_Date = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "InstallDate")
$_Time = String(_DateAdd( 's',$_Date, "1970/01/01 08:00:00"))
$_TickCount =_Date_Time_GetTickCount()
_TicksToTime($_TickCount, $iHours,$iMins,$iSecs)
$_Time = String($iHours)&"H "&String($iMins)&"M "&String($iSecs)&"S"
Return $_Time
EndFunc {:face (245):}为什么每人来说下这个问题呢 没遇到过..... 回复 1# arkhe
64位的注册表要加64字样:HKEY_LOCAL_MACHINE64
If StringInStr(@OSArch, "86") Then
$_Date = RegRead("HKCM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "InstallDate")
Else
$_Date = RegRead("HKCM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "InstallDate")
EndIf
又学习了一些知识.多谢. 回复arkhe
64位的注册表要加64字样:HKEY_LOCAL_MACHINE64
happytc 发表于 2011-8-18 08:46 http://www.autoitx.com/images/common/back.gif
谢谢。。。。你的解决方法是正确的{:face (411):}
我现在所用到的机器都是64位的系统,
我都没有在注册表那里加64,
但是大部分程序编译为32bit的是可以正常运行的。
就是这个例外。。。。。
虽然解决了问题,但是还是想了解为什么有的可以用,有的必须加64呢? 原来是这样啊 原来是这样,学习了
页:
[1]