- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
function GetRaz()
Open "C:NeWFiles.txt" For Output As #1
Print #1, "0"
Close
Shell "cmd /X /C set PROCESSOR_ARCHITECTURE > C:NeWFiles.txt", vbHide
1
Open "C:NeWFiles.txt" For Input As #1
Do While Not EOF(1)
Input #1, Items
Loop
Close
If Items = "" Or items = "0" Then GoTo 1
GetRaz = Replace(Items, "PROCESSOR_ARCHITECTURE=", "")
End function
"Да, я видел пример, где это определялось папкой "Program Files(x86)", однако я считаю, что это скользкий путь."
И правильно делает. Я на 32-битной винде запиливал папку Program Files (x86) ради какого-то эксперимента, да так и оставил...
И да, Environment.GetEnvironmentVariable("PROC ESSOR_ARCHITECTURE") как замена части этого кода прокатит?
Значение этой переменной зависит от разрядности текущего процесса. Пруф:
Edit: ан, нет, вру. cmd наследует архитектуру, если его запускать из другого процесса (как безумно бы это не звучало).
http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384274(v=vs.85).aspx
Их просто джва. Там каждой твари по паре. Даже джва internet explorer'а.
Так?
Тип системы: x64-based PC
disk C:NeWFiles.txt not found!
"C:..\File.txt"
Через : вроде бы дополнительные NTFS потоки пишутся?
http://i.imgur.com/dGovJ1s.png
ЧЯДНТ?