#x86 #64-bit #autoit #cpu-architecture
#x86 #64-разрядная #автоматический запуск #архитектура процессора
Вопрос:
Это код, который у меня есть на данный момент:
#include <MsgBoxConstants.au3>
If FileExists(@HomeDrive amp; "Program Files (x86)") Then
$arc = 64
Else
$arc = 32
EndIf
MsgBox("Hello", "Bit", "The computer that the program is been run on is a " amp; $arc amp; "bit one.")
На моем компьютере будет указано, что он 32-разрядный, когда он равен 64. Итак, я взглянул на путь и создал новый код:
#include <MsgBoxConstants.au3>
If FileExists(@HomeDrive amp; "Program Files (x86)") Then
$arc = 64
Else
$arc = 32
EndIf
$path = @HomeDrive amp; "Program Files (x86)"
MsgBox("Hello", $path, "The computer that the program is been run on is a " amp; $arc amp; "bit one.")
Это показывает путь и, похоже, все в порядке. Где я ошибаюсь?
Ответ №1:
Вам нужно прочитать @OSArch
макрос.
Возвращает одно из следующих значений: «X86», «IA64», «X64» — это тип архитектуры текущей операционной системы.
Комментарии:
1. Для архитектуры процессора вам следует использовать макрос @CPUArch.
Ответ №2:
Кто-нибудь знает, где я ошибаюсь.
Согласно документации — Макросы:
@OSArch
Возвращает одно из следующих значений: «X86», «IA64», «X64» — это тип архитектуры текущей операционной системы.
@CPUArch
Возвращает «X86», когда процессор является 32-разрядным, и «X64», когда процессор 64-разрядный.
Пример:
Global Const $g_sTpl = 'OS : %snCPU : %sn'
Global Const $g_sMsg = StringFormat($g_sTpl, @OSArch, @CPUArch)
ConsoleWrite($g_sMsg)
Ответ №3:
Попробуйте это :
#include <MsgBoxConstants.au3>
if FileExists (@HomeDriveamp;"Program Files (x86)") then
$arc=64
Else
$arc=32
EndIf
MsgBox("Hello", "Bit", "The computer that the program is been run on is a "amp;$arcamp;"bit one.")
Или это :
#include <MsgBoxConstants.au3>
if FileExists (@HomeDriveamp;"Program Files (x86)") then
$arc=64
Else
$arc=32
EndIf
$path=@HomeDriveamp;"Program Files (x86)"
MsgBox("Hello", $path, "The computer that the program is been run on is a "amp;$arcamp;"bit one.")
Ваш код не сработал, потому что вы не установили флажок обратной косой черты.