設定次第ではフォームを必要としないexeを作っています。
その設定値はiniファイルに保存しておくようにし、
初回起動時は普通にフォームを表示します。
フォームで設定を行い、その設定次第では次回起動時からは
フォームを表示させないようにします。
この状態のとき、例えばAltを押しながらexeを実行した場合、フォームを表示させる。というような事をしたいのですが、起動時に押下されているキーを取得する方法がわかりません。
ご存じの方、ご教授お願いします。
こんな感じ
program Project1;
uses
Forms, Windows, Dialogs,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
function IsVirtualKeyPressed(VKey:WORD):Boolean;
begin
result := (GetAsyncKeyState(VK_F11) and $8000)<>0;
end;
begin
if IsVirtualKeyPressed(VK_F11) then ShowMessage('Pressed');
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
訂正
function IsVirtualKeyPressed(VKey:WORD):Boolean;
begin
result := (GetAsyncKeyState(VKey) and $8000)<>0;
end;
jokteさんありがとうございました。
GetAsyncKeyState、こいつなわけですね。
サンプルまで載せていただき感謝です。
ツイート | ![]() |