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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2014, 13:59   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

http://stackoverflow.com/questions/1...server-2008-r2
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.03.2014, 12:27   #12
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

что-то тестировал функцию, на 8.1, и не понимает 8.1 Виндовс, подскажите, что изменить в функции?

результат функции: Label1.Caption := ' '; - т.е. ничего не выдало,
а на ХР тестил - Label1.Caption := ' Windows XP'; результат

Код:
function  TForm1.WindowsVersFx: string;
var
  VerInfo: TOsVersionInfoExA;
begin
  FillChar(VerInfo, sizeof(VerInfo), 0);
  VerInfo.old.dwOSVersionInfoSize := Sizeof(TOsVersionInfoExA);
  if not GetVersionExA(VerInfo.old) then
  begin
    VerInfo.old.dwOSVersionInfoSize := Sizeof(TOsVersionInfoA);
    GetVersionExA(VerInfo.old);
  end;
  case VerInfo.old.dwPlatformId of
    VER_PLATFORM_WIN32_WINDOWS:
      if (Verinfo.old.dwMajorVersion = 4) and
        (Verinfo.old.dwBuildNumber = 950) then
        Result := 'Windows 95'
      else if (Verinfo.old.dwMajorVersion = 4) and
        (Verinfo.old.dwMinorVersion = 10) and
        (Verinfo.old.dwBuildNumber = 1998) then
        Result := 'Windows 98'
      else if (Verinfo.old.dwMinorVersion = 90) then
        Result := 'Windows Me';
    VER_PLATFORM_WIN32_NT:
      if Verinfo.old.dwMajorVersion = 3 then
        Result := 'Windows NT 3.51'
      else if Verinfo.old.dwMajorVersion = 4 then
        Result := 'Windows NT 4.0'
      else if Verinfo.old.dwMajorVersion = 5 then
        if Verinfo.old.dwMinorVersion = 0 then
          Result := 'Windows 2000'
        else if Verinfo.old.dwMinorVersion = 1 then
          Result := 'Windows XP';
      else if Verinfo.old.dwMajorVersion = 6 then
        if Verinfo.old.dwMinorVersion = 0 then
          Result := 'Windows 7'
        else if Verinfo.old.dwMinorVersion = 1 then
          Result := 'Windows 8' 
        else if Verinfo.old.dwMinorVersion = 2 then //что исправить надо?
          Result := 'Windows 8.1';
       end;
  end;

Последний раз редактировалось beegl; 06.03.2014 в 12:55.
beegl вне форума Ответить с цитированием
Старый 06.03.2014, 13:49   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Идентификация Windows в гугле
//OFF
Однако интересный метод программирования наблюдаю...
Практическое применение фееричной идеи школьников "вы думайте, а я пенку сдувать буду".
Так и здесь: я вам код, вым не решение, и не "пожалуйста" а "требую"
Человек_Борща вне форума Ответить с цитированием
Старый 06.03.2014, 15:33   #14
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Человек_Борща, что-то у ХР окно нормально отображается, а у 8-й надо Width и Height надо увеличить до 6-ти, чтоб граници были на ровне

делал так OnCreate используя модуль из этого поста

Цитата:
if (label6.Caption = 'Windows 8 Professional 32-bit') or (label6.Caption = 'Windows 8 Professional 64-bit') then
begin
IntertelecomForm.Height := 175; // для Windows 8 увеличил Height + 6
IntertelecomForm.Width := 309; // для Windows 8 увеличил Width + 6
end else
if label6.Caption = 'Windows XP Professional' then
begin
IntertelecomForm.Height := 169;
IntertelecomForm.Width := 302;
end;

Последний раз редактировалось beegl; 06.03.2014 в 15:42. Причина: заменил картинку
beegl вне форума Ответить с цитированием
Старый 06.03.2014, 16:05   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
Человек_Борща, что-то у ХР окно нормально отображается, а у 8-й надо Width и Height надо увеличить до 6-ти, чтоб граници были на ровне

делал так OnCreate используя модуль из этого поста



у Win8 иные бордюры, потому всл и нагибается, видимо версия делфи у вас старая.
(я просто писал приложение на АПИ что работает от ХП до 8-ки, и у меня у всех окон одна область отображения выходила, так что по хорошему там не нужен платформозависимый код)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема совместимости Win XP и Win 2000 при взаимодействии с консолью. maleziv Win Api 10 06.08.2012 22:35
Как сохранить проект VB написанный на win XP , чтобы он работал на win NT Vceznayka Microsoft Office Excel 1 08.02.2012 13:23
висне сет при запуску Win XP после установки Win 7 VVkSoft Windows 3 15.09.2009 10:36
пути в реестре, где находятся программы автозагрузки для win'95 win'98 win' me win 2000 Prisian Win Api 1 11.09.2007 20:07
ветви в реестре для автозагрузки для win'95, win'98, win' me, win 2000 Prisian Windows 1 09.09.2007 23:15