![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Вопрос может показаться глупым.
Нужно определить установлена на компьютере игра или нет. Дальнейшие действия не важны. Определить необходимо в программке (Delphi, конечно же). Определять же лучше через реестр? Как это осуществить? Игра - Max Payne 2. |
|
#2
|
||||
|
||||
|
Это просто, if FileExist(путь) then .......
|
|
#3
|
|||
|
|||
|
так а какой файл должен существовать (допустим
.exe)? так надо ж и определять, где он находится. А, в таком случае, файл может храниться на винчестере, а игра не установлена... |
|
#4
|
||||
|
||||
|
Ну значит не знаю :-)
|
|
#5
|
||||
|
||||
|
Можно проверить, есть ли записи об этой игре в ветке реетра Uninstall (там, где хранятся записи об деинсталляции программ)...
|
|
#6
|
||||
|
||||
|
procedure TForm1.Button1Click(Sender: TObject);
var reg: TRegistry; begin kavexists := false; reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows\Cu rrentVersion\Uninstall'); if reg.KeyExists('Max Payne 2') then MessageBox(Handle,'ура','есть пейн',MB_OK or MB_OK) else MessageBox(Handle,'Нефига','нет пейна',MB_OK or MB_OK); end; ![]() |
|
#7
|
|||
|
|||
|
Сейчас проверю. Но заранее спасибо.
Уррррааа!!! Товарищи!!! Урррааа! Пейн!.. |
|
#8
|
|||
|
|||
|
Спасибо, Sharky. Т.к. ты не знал путь в реестре, то решил выложить код с правильным путем
procedure TForm1.Button1Click(Sender: TObject); var reg: TRegistry; begin //kavexists := false; - что это значит? я убрал это reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKeyReadOnly('SOFTWARE\Remedy Entertainment\Max Payne 2'); if reg.KeyExists('Installation') then MessageBox(Handle,'Уррррраааа','Есть Payne',MB_OK or MB_OK) else MessageBox(Handle,'Вот блин','Нет Payne, и не предвидется',MB_OK or MB_OK); end; |