Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2012, 23:06   #1
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию Отличить Win xp от Win 7

Здравствуйте, собственно как отличить Windows xp от Windows 7? Способ реестра не подходит.
aank10 вне форума Ответить с цитированием
Старый 14.06.2012, 23:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Способ реестра не подходит.
Почему?
Цитата:
как отличить
У Севена в корневом диске по другому расположены каталоги. Например есть каталог Users вместо Documents and Settings.
Не очень удачный пример, но если в реестр лезть неохота просто определи наличие каталогов, присущих только севену.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2012, 23:53   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

хм, а GetVersionEx() использовать уже не модно?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 15.06.2012, 00:10   #4
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Почему?

У Севена в корневом диске по другому расположены каталоги. Например есть каталог Users вместо Documents and Settings.
Не очень удачный пример, но если в реестр лезть неохота просто определи наличие каталогов, присущих только севену.
тоже думал так решить проблему, но думал что есть более продвинутый вариант.
aank10 вне форума Ответить с цитированием
Старый 15.06.2012, 00:10   #5
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
хм, а GetVersionEx() использовать уже не модно?
эта функция не может определить windows 7
aank10 вне форума Ответить с цитированием
Старый 15.06.2012, 00:20   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

aank10

хм, а GetVersionEx() использовать уже не модно?
эта функция не может определить windows 7


Такое бывает, в китайской версии GetVersionEx... ):
Китайские товары производятся в кустарных условиях низкоквалифицированным персоналом, зачастую несовершеннолетним.
Поэтому китайская версия GetVersionEx очень часто глючит и может не определять Windows 7 или говорить что это MS-DOS или OS/2 ...
Поэтому нужно использовать только качественную американскую версию GetVersionEx, прошедшую контроль качества.

Mini-FAQ:

Q: Как узнать китайская ли у меня версия GetVersionEx?
A: Пропрбуйте определить версию Windows 7, Если этого сделать не удастся - GetVersionEx китайская
Rififi вне форума Ответить с цитированием
Старый 15.06.2012, 00:54   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Rififi,

Цитата:
эта функция не может определить windows 7
ерунда
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 15.06.2012, 01:06   #8
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Код:
   _OSVERSIONINFOA os;
   os.dwOSVersionInfoSize = sizeof(os) ;
   GetVersionEx(&os) ;
   String ver = "OS Version: " ;
   ver = ver+os.dwMajorVersion+"."+os.dwMinorVersion ;
    Memo1->Lines->Add(ver) ;
Изображения
Тип файла: gif capture.gif (7.6 Кб, 107 просмотров)
nick42 вне форума Ответить с цитированием
Старый 15.06.2012, 02:21   #9
QunneD
C++ & PHP & Asm
Форумчанин
 
Аватар для QunneD
 
Регистрация: 06.12.2008
Сообщений: 300
По умолчанию

Цитата:
эта функция не может определить windows 7
Ты меня разочаровал парень. За тобой уже выехали, см. http://увеземвлес.рф

Код:
#include <Windows.h>

#undef UNICODE
#undef _UNICODE

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	OSVERSIONINFO Os;
	Os.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
	GetVersionEx(&Os);
	char lpBuffer[0xFF];
	wsprintf(lpBuffer, "%d.%d", Os.dwMajorVersion, Os.dwMinorVersion);
	MessageBox(0, lpBuffer, "", MB_ICONINFORMATION);
}
QunneD вне форума Ответить с цитированием
Старый 15.06.2012, 10:12   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

И всетки, почему нельзя в реестр заглянуть?...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить проект VB написанный на win XP , чтобы он работал на win NT Vceznayka Microsoft Office Excel 1 08.02.2012 13:23
Подключение к удаленному рабочему столу [Win 7U -> Win Xp Pro] Mixasik Windows 6 14.08.2010 18:09
висне сет при запуску Win XP после установки Win 7 VVkSoft Windows 3 15.09.2009 10:36
Win или не Win, вот в чем вопрос. Sibedir Свободное общение 101 09.09.2008 20:03
пути в реестре, где находятся программы автозагрузки для win'95 win'98 win' me win 2000 Prisian Win Api 1 11.09.2007 20:07