| 
| 
 | Вопрос # 5 303/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты! Создал небольшую утилиту для проверки ключа в реестре. Подскажите как доделать код, чтобы при отсутствии данной ветки после нажатия "Ok" в ShowMessage('Запустите от имени админа.') приложение закрывалось и форма не появлялась. Код прилагается... фрагмент кода Заранее спасибо) 
|  |   Вопрос задал: Rusya (статус: Посетитель)Вопрос отправлен: 21 мая 2011, 22:52
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ Цитата (Rusya): приложение закрывалось и форма не появлялась. Ну это же элементарно, Ватсон!
 Убери эту проверку из OnCreate главной формы и засунь его поближе к началу программы. Например в файл DPR:
 
 program Project1;
 
uses
  Forms,
  Registry,
  Dialogs,
  Main in 'Unit1.pas' {Form1};
 
{$R *.RES}
 
 
function CheckKey: Boolean;
var
  Reg: TRegistry;
begin
  Reg := Tregistry.create;
  Result:= True;
  Try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\Explorer', false)
      then ShowMessage('Ключ найден!')
      else begin
             ShowMessage('Запустите от имени админа.');
             Result:= False;
           end;
  Finally
    Reg.Free;
  end;
end;
 
begin
  if CheckKey() // <---- проверка
    then begin
           Application.Initialize;
           Application.CreateForm(TForm1, Form1);
           Application.Run;
         end;
end.
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 22 мая 2011, 09:57
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 0. 22 мая 2011, 12:41: Статус вопроса изменён на решённый (изменил автор вопроса — Rusya) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |