Тим имеет правильный ответ, но вам может понадобиться немного больше фреймворка:
procedure TForm56.Button1Click(Sender: TObject);
begin
if fNeedReinit then
ReinitializeDatabase;
end;
procedure TForm56.FormCreate(Sender: TObject);
begin
fNeedReinit := False;
end;
procedure TForm56.FormShow(Sender: TObject);
begin
fNeedReinit := (GetKeyState(VK_SHIFT) < 0) and (GetKeyState(VK_CONTROL) < 0);
end;
Изменить Button1Нажмите со своим последующим событием, которое проверяет, был ли установлен fNeedReinit. Вы также можете установить KeyPreview в своей главной форме, если у вас возникли проблемы с тем, чтобы он ловил нажатие клавиши. Я только что протестировал приведенный выше код, и он работает, но если у вас есть заставка и т. Д., То это может изменить ситуацию.