Как проверить разрядность винды (желательно API)

Dimon89

В идеале - API-вызов, на худой конец ключ реестра. Метод "попробовать запустить 64-битную программу" работает, но неудобен.

kokoc88

GetVersionEx
ms-help://MS.MSDNQTR.v90.en/sysinfo/base/getversionex.htm

Dimon89

GetVersionEx
И что? Где там хоть слово про разрядность?

kokoc88

И что? Где там хоть слово про разрядность?
Если бы ты подумал головой и почитал хэлпы в эпсилон окрестности, то нашёл бы то, что тебе надо минуты за две. Не начни ты минусовать, я бы тебе даже код написал.
Ненавижу таких уебанов.

Dimon89

Если бы ты подумал головой и почитал хэлпы в эпсилон окрестности, то нашёл бы то, что тебе надо минуты за две.
Уже час думаю и хэлпы читаю. Эта функция не проверяет разрядность. Она проверяет версию, билд и сервиспак.
PS А еще есть элементарные правила вежливости.

kokoc88

Уже час думаю и хэлпы читаю. Эта функция не проверяет разрядность. Она проверяет версию, билд и сервиспак.
Отлично. Я написал ответ по памяти, но после твоего возмущения пролистал страничку. Там всё рядом, удачи в поиске.

Dimon89

Пиздел, пизжу и буду пиздеть!
Интересная подпись. Очень в тему, мне кажется.
Ненавижу таких уебанов(c которые хвастаются своими неебаццо познаниями, но подтвердить их не могут. Гугль у меня тоже рядом, однако ж я не нашёл. Поделись же своими познаниями, о мудрейший, ибо я уже задолбался искать :smirk:
PS А возмущаться я начал только в этом посте, так что ты поторопился с выводами.
PPS Дрочить на рейтинг - удел неудачников =)

Dimon89

Кстате, вот что возвращает функция:
dwOSVersionInfoSize -  The size of this data structure, in bytes.
dwMajorVersion -  The major version number of the operating system.
dwMinorVersion - The minor version number of the operating system.
dwBuildNumber - The build number of the operating system.
dwPlatformId - The operating system platform. This member can be VER_PLATFORM_WIN32_NT (2).
szCSDVersion - A null-terminated string, such as "Service Pack 3", that indicates the latest Service Pack installed on the system. If no Service Pack has been installed, the string is empty.
wServicePackMajor - The major version number of the latest Service Pack installed on the system. For example, for Service Pack 3, the major version number is 3. If no Service Pack has been installed, the value is zero.
wServicePackMinor - The minor version number of the latest Service Pack installed on the system. For example, for Service Pack 3, the minor version number is 0.
wSuiteMask - A bit mask that identifies the product suites available on the system. .
wProductType - Any additional information about the system.
wReserved - Reserved for future use.

И где же тут разрядность?

kokoc88

Ненавижу таких уебанов(c которые хвастаются своими неебаццо познаниями, но подтвердить их не могут. Гугль у меня тоже рядом, однако ж я не нашёл.
Даже в гугле не нашёл? Это диагноз.
Ладно, так и быть, дам тебе две подсказки. Три правильно написанных слова и клик на первую же ссылку в гугле. Или два клика в MSDN, начиная со странички описания GetVersionEx.
PPS Дрочить на рейтинг - удел неудачников =)
Если бы я дрочил на рейтинги, то пошёл бы написать что-нибудь сопливое в Love&Sex и за пару дней получил бы плюсов в пять раз больше, чем у меня есть сейчас. Речь об отношении: тебе берутся помогать, а ты сразу посылаешь на хуй со своим минусом.

evolet

здесь была неудачная шутка...

Dimon89

а ты сразу посылаешь на хуй со своим минусом.
Вот это я и называю "дрочить на рейтинг". Минус - это не посыл нахуй, а оценка поста. Для меня он оказался совершенно не информативен, так как никоим образом не отвечает на мой вопрос. Я просил функцию, возвращающую разрядность винды. Та функция, которую ты написал, мне известна, но она этого не делает.

SPARTAK3959

Возможно тебе стоит погуглить по слову WOW64. Разрядность можно определить по присутствию ее ключей реестра или соотвествующих api в kernel32.

Dimon89

Возможно тебе стоит погуглить по слову WOW64
Проверить, запущено ли мое приложение под WOW64? Это можно и это выход, хотя и не совсем то, что я хотел.

kokoc88

Ладно, затрахали... В гугл, жЫвотоное:
 http://www.google.ru/search?complete=1&hl=ru&newwindow=1&q=programmatically+check+x64&lr=&aq=f

Dasar

первая ссылка подходит только для языков без IL-а и не скриптовых :)
дальше не смотрел.

kokoc88

первая ссылка подходит только для языков без IL-а
Автор просит API вызов.

Dasar

Автор просит API вызов.
а что API нельзя уже вызывать из языков с IL-ом или скриптов?

Dimon89

Ладно, затрахали... В гугл, жЫвотоное: http://www.google.ru/search?complete=1&hl=ru&newwindow=1&q=programmatically+check+x64&lr=&aq=f
Первая ссылка, про которую ты говорил, ведет на применение функции IsWow64Process, про которую уже говорили 10 раз.
Насчет архитектуры процессора - совсем не понял, почему на компьютере с 32-битной виндой, но 64-битным процессором AMD в качестве wProcessArchitecture возвращается INTEL, а не AMD64. Однако оно работает. Спасибо.

kokoc88

а что API нельзя уже вызывать из языков с IL-ом или скриптов?
Для этого там третья или четвёртая ссылка. И не еби мне мозг... :mad: Если бы ему это надо было на C#, он должен был об этом сказать. Там у вас работает и без API вызова.

kokoc88

Первая ссылка, про которую ты говорил, ведет на применение функции IsWow64Process, про которую уже говорили 10 раз.
На первой ссылке так же написано, почему нельзя использовать что-то ещё. Я тоже сначала подумал про получение версии процессора, но потом почитал хэлпы и статьи. В любом случае оба решения в двух кликах от моего первого поста в этой теме, так что слив защитан.

Dasar

Насчет архитектуры процессора - совсем не понял, почему на компьютере с 32-битной виндой, но 64-битным процессором AMD в качестве wProcessArchitecture возвращается INTEL, а не AMD64. Однако оно работает. Спасибо.
потому что в online msdn сейчас более корректно пишут, что wProcessorArchitecture - это тип процессора, как его воспринимает операционка, а не реальный тип процессора
The processor architecture of the installed operating system.
в local msdn - да, там написано обтекаемая фраза
The processor architecture
из которой фиг поймешь - что это за тип процессора.

Dimon89

В любом случае оба решения в двух кликах от моего первого поста в этой теме, так что слив защитан.
В любом случае оба решения в одном клике в гугле. И что? Я просил решение, а не ссылку, где можно почитать что-нибудь на эту тему.

kokoc88

В любом случае оба решения в одном клике в гугле. И что? Я просил решение, а не ссылку, где можно почитать что-нибудь на эту тему.
Тогда читай мой второй пост. Здесь вообще-то помогают найти решение, а не сопельки подтирают, и не с ложечки кормят, как в детском садике.

Dimon89

Во втором твоем посте личные оскорбления и рекомендации почитать хелпы.
Повторяемся. Считаю, что дискуссию можно закрывать. Ответ получен, спасибо alepar'у. В моём хелпе написано так, как процитировал , а то, что под архитектурой процессора подразумевается именно архитектура операционки - нетривиальный факт.

kokoc88

Во втором твоем посте личные оскорбления и рекомендации почитать хелпы.
Повторяемся. Считаю, что дискуссию можно закрывать. Ответ получен, спасибо alepar'у. В моём хелпе написано так, как процитировал , а то, что под архитектурой процессора подразумевается именно архитектура операционки - нетривиальный факт
По второму сообщению: если бы ты не распонтовался и не стал минусовать, то получил бы ответ на все свои вопросы ещё два часа назад. Кстати, по версии определять битность винды - это недальновидно, что и объясняют по ссылке на Is64BitWindows.

dgaf

как у вас всё тяжко :ooo:
$ uname -m
sparc64

pitrik2

GetVersionEx
ms-help://MS.MSDNQTR.v90.en/sysinfo/base/getversionex.htm
имхо, Майк изначально был слишком аггресивен
мог бы написать так
копай в сторону GetVersionEx
ms-help://MS.MSDNQTR.v90.en/sysinfo/base/getversionex.htm
или так
что-то типа GetVersionEx
посмотри подробнее тут:
ms-help://MS.MSDNQTR.v90.en/sysinfo/base/getversionex.htm
и все было бы акейно
а так получается что Майк сказал что GetVersionEx это ответ на вопрос, за что заслуженно получил минус, так как это не ответ на вопрос
а потом еще и проявил излишнее дрочение на этот минус перейдя на оскорбления
кароч я считаю что не прав Майк и все остальные кто продолжил гнобить автора треда

kokoc88

а так получается что Майк сказал что GetVersionEx это ответ на вопрос, за что заслуженно получил минус, так как это не ответ на вопрос
Блядь, вот такая хуета и отбивает желание вообще кому-то тут помогать. С таким невзъебенным подходом лучше сидеть, смотреть, что пишут другие и гнобить. Я стал агресивен на втором посте, а не на первом. Потому что меня заёбывают уроды, которые об тебя же вытирают ноги, когда пытаешься им помогать.
Я уже сказал, что напиши он что-нибудь типа "не понимаю", или "дай код", или "это не помогает", или "ты ошибся, там этого нет", он мог бы получить более детальную информацию о решении своей проблемы. Как ты понимаешь, я решил её минут за пять максимум. Кроме того, если я немного ошибся, то не вижу в этом ничего страшного. Но нет, стоит сделать шаг влево или вправо и всё, ты бля расстрелян. Остальное я писал уже без всякого желания помочь, я просто издевался.

evolet

не согласен, майк ответил акейно
ответ
GetVersionEx
ms-help://MS.MSDNQTR.v90.en/sysinfo/base/getversionex.htm
я прочитал так " по-моему, GetVersionEx подойдет, уточни сам в ms-help://MS.MSDNQTR.v90.en/sysinfo/base/getversionex.htm"
почему я так прочитал, а потому что я понимаю ,что расписывать со свеми точностями и оговрками всем неохота, особенно когда не ты не посишь помощи, а просто советуешь
в ответ топикстартер просто начал грубить(я прочитал так "не пори фуфло, идиот, я эту функцию знаю, там ничего нет")
даже если бы и Майк действительно фигню написал, элементарные правила вежливости, про которые он почему-то сам упомянул, не дают ему право грубить человеку, который (добровольно!) не поленился, как минимум сделать попытку ему помочь

klyv

под архитектурой процессора подразумевается именно архитектура операционки - нетривиальный факт.
очень вряд ли 32битная ОС хоть как-то обнаружит, что она работает на 64битном процессоре. как и любая программа, не задуманная на использование 64битных инструкций.

Andbar

и все было бы акейно
а так получается что Майк сказал что GetVersionEx это ответ на вопрос, за что заслуженно получил минус, так как это не ответ на вопрос
а потом еще и проявил излишнее дрочение на этот минус перейдя на оскорбления
кароч я считаю что не прав Майк и все остальные кто продолжил гнобить автора треда
Вот только GDM либо не читал, либо забыл о том, что написано в статье ...
Отрицать сказанное советчиком без детального изучения сабжа - это, конечно, экономит время если советуют то, про что точно знаешь, что оно не делает того, что нужно, однако это весьма опасная стратегия. Я сам пару раз так отвечал (конечно, стараясь не задеть при этом собеседника а потом признавал свою неправоту.

nik93

не дают ему право грубить человеку, который (добровольно!) не поленился, как минимум сделать попытку ему помочь
правильно, таких надо ценить, ибо большинство личности которые заходят в тред, читают первый пост, ставят минус и уходят
Оставить комментарий
Имя или ник:
Комментарий: