微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在启动Delphi应用程序时捕获修改键以强制执行某些操作

我正在Delphi中编写一个使用sqlite3数据库的应用程序.我希望能够在按住一些修改键(例如CTRL SHIFT)的同时启动应用程序,以指示数据库的重新初始化.

如何在保存这些密钥时捕获应用程序已启动?

解决方法

Tim有正确的答案,但您可能需要更多框架:

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;

将Button1Click更改为您之后检查fNeedReinit是否已设置的事件.如果您无法捕捉到按键,也可以在主窗体上设置KeyPreview.我刚刚测试了上面的代码并且它可以工作,但是如果你有一个启动画面等,那么它可能会改变一些事情.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐