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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2011, 23:16   #1
DSJ
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 13
По умолчанию Как распознать запуск в Wine?

98% функционала моей программульки на Delphi замечательно работает на Linux под Wine, остальные 2% не существенны и хотелось бы их просто отключить, если прога запускается в Wine.

Как распознать запуск в Wine?

P.S. Весь инет обрыл вдоль и поперёк, такое ощущение что никому даже в голову такой вопрос не приходил, странно однако... Наверное не там искал.
DSJ вне форума Ответить с цитированием
Старый 25.03.2011, 23:31   #2
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

может попробовать пойти от противного?
точно не знаю но думаю что если спросить
у вайн версию винды то он не сможет определить её
а скорее выдаст ошибку
используй try для отлова ошибки и функцию
Код:
function GetVersionEx(lpOs: pointer): BOOL; stdcall;
соответственно если определить удалось, то винда и тд...
art-programs вне форума Ответить с цитированием
Старый 25.03.2011, 23:40   #3
DSJ
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 13
По умолчанию

Пробовал, под Wine определил мажорную версию - 5 (остальные не помню).
DSJ вне форума Ответить с цитированием
Старый 25.03.2011, 23:50   #4
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

Код:
function GetWineAvail: boolean;
var H: cardinal;
begin
Result := False;
H := LoadLibrary('ntdll.dll');
if H > 0 then
begin
  Result := Assigned(GetProcAddress(H, 'wine_get_version'));
  FreeLibrary(H);
end;
end;

//использование
if GetWineAvail() then
ShowMessage('Ура! Мы под Винищем!')
else
ShowMessage('Чистейший Виндовз, сэр!');
end;
попробуй это
art-programs вне форума Ответить с цитированием
Старый 26.03.2011, 00:12   #5
DSJ
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 13
По умолчанию

Работает! Спасибо

P.S. А вообще от последнего Wine я просто в шоке (в хорошем смысле). Работают замечательно такие вещи, о которых раньше и мечтать не приходилось!
DSJ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как распознать цифры из фотографии вагона? Georgios Общие вопросы Delphi 52 14.03.2013 00:57
как распознать язык програмирования? romale_80 C++ Builder 8 21.04.2010 01:36
Linux rus + wine MisterKoK Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 3 29.11.2009 19:48
Как распознать дату(напр. 26.09) klimpashka23 Microsoft Office Excel 4 21.09.2009 22:17
Как распознать 2 мыши sin Gamedev - cоздание игр: Unity, OpenGL, DirectX 16 11.04.2007 21:31