Alt+F4を他のショートカットに割り当てるには

解決


いおり  2000-10-21 07:13:14  No: 38

ネットをしている際に、宣伝広告などが勝手に立ち上がってしまうので困っています。そこで、私は宣伝広告が立ち上がった瞬間にAlt+F4で閉じるようにしております。

Alt+F4キーを他のキー(例えばSpaceキー)などに割り当てて、なおかつタスクトレイなどに常駐させておけば少しでも使い勝手がいいように思います。
別にネットに限らず、何か作業中のウィンドウを閉じる時にも使えそうなのですが・・・。

悲しいかな私の知識では分かりませんので、よろしくお願いします。


PAPY  2000-10-21 23:53:41  No: 39

>「Alt+F4」はウインドウのシステムメニュー|閉じるを
>実行しているのでそれと同様な処理を行えば実現出来ます。

■Shiftキーを押した時、トップウインドウを終了させる。

procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Interval :=10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
Var
hWnd: integer;
begin

  if GetAsyncKeyState(VK_SHIFT )<>0 then
  begin
      hWnd :=GetForegroundWindow ;

      //if not hWnd=Form1.Handle then
      SendMessage(hWnd,WM_SYSCOMMAND,SC_ClOSE,0);
  end;

end;

■タスクトレイ常駐

  DelphiページのWin32APIに使用方法が書いてあります。

■APIうんちくコーナー

  GetAsyncKeyState
    キーボードのキーが押されているかどうかを調べる  
  GetForegroundWindow
    ユーザーが操作中のウインドウのハンドルを取得する
  SendMessage
    Windowsメッセージをウインドウに送る

■GetAsyncKeyStateの定数

 Const VK_ADD = $6B              '「+」キー
 Const VK_BACK = $8              '「BS」キー
 Const VK_CANCEL = $3            '「BREAK]キー
 Const VK_ATTN = $F6             '「SHIFT  LOCK]キー
 Const VK_CAPITAL = $14          '
 Const VK_CLEAR = $C             '「CLEAR」キー
 Const VK_CONTROL = $11          '「CTRL」キー
 Const VK_CRSEL = $F7            '
 Const VK_DECIMAL = $6E          ' 少数点キー
 Const VK_DELETE = $2E           '「DEL」キー
 Const VK_DIVIDE = $6F           '「/」キー
 Const VK_DOWN = $28             '「↓」キー
 Const VK_END = $23              '「END」「HELP」キー
 Const VK_EREOF = $F9            '
 Const VK_ESCAPE = $1B           '「ESC」キー
 Const VK_EXECUTE = $2B          '
 Const VK_EXSEL = $F8            '
 Const VK_F1 = $70               ' F1キー
 Const VK_F2 = $71               ' F2キー
 Const VK_F3 = $72               ' F3キー
 Const VK_F5 = $74               ' F5キー
 Const VK_F4 = $73               ' F4キー
 Const VK_F6 = $75               ' F6キー
 Const VK_F7 = $76               ' F7キー
 Const VK_F8 = $77               ' F8キー
 Const VK_F9 = $78               ' F9キー
 Const VK_F10 = $79              ' F10キー
 Const VK_F11 = $7A              ' F11キー
 Const VK_F12 = $7B              ' F12キー
 Const VK_F13 = $7C              ' F13キー
 Const VK_F14 = $7D              ' F14キー
 Const VK_F15 = $7E              ' F15キー
 Const VK_F16 = $7F              ' F16キー
 Const VK_F17 = $80              ' F17キー
 Const VK_F18 = $81              ' F18キー
 Const VK_F19 = $82              ' F19キー
 Const VK_F20 = $83              ' F20キー
 Const VK_F21 = $84              ' F21キー
 Const VK_F22 = $85              ' F22キー
 Const VK_F23 = $86              ' F23キー
 Const VK_F24 = $87              ' F24キー
 Const VK_HELP = $2F             '「HELP」キー
 Const VK_HOME = $24             '「HOME]キー
 Const VK_INSERT = $2D           '「INS」キー
 Const VK_LBUTTON = $1           ' マウス左ボタン
 Const VK_LCONTROL = $A2         '
 Const VK_LEFT = $25             '「←」キー
 Const VK_LMENU = $A4            '
 Const VK_LSHIFT = $A0           ' マウス中央ボタン
 Const VK_MENU = $12             '「MENU」「GRPH」キー
 Const VK_MULTIPLY = $6A         '「*」キー
 Const VK_NEXT = $22             '「PgUp」キー
 Const VK_NONAME = $FC           '
 Const VK_NUMLOCK = $90          '「NumLock」キー
 Const VK_NUMPAD0 = $60          ' テンキーパッドの「0」キー
 Const VK_NUMPAD1 = $61          ' テンキーパッドの「1」キー
 Const VK_NUMPAD2 = $62          ' テンキーパッドの「2」キー
 Const VK_NUMPAD4 = $64          ' テンキーパッドの「4」キー
 Const VK_NUMPAD3 = $63          ' テンキーパッドの「3」キー
 Const VK_NUMPAD5 = $65          ' テンキーパッドの「5」キー
 Const VK_NUMPAD6 = $66          ' テンキーパッドの「6」キー
 Const VK_NUMPAD7 = $67          ' テンキーパッドの「7」キー
 Const VK_NUMPAD8 = $68          ' テンキーパッドの「8」キー
 Const VK_NUMPAD9 = $69          ' テンキーパッドの「9」キー
 Const VK_OEM_CLEAR = $FE        '
 Const VK_PA1 = $FD              '
 Const VK_PAUSE = $13            '「Pause」キー
 Const VK_PLAY = $FA             '
 Const VK_PRIOR = $21            '
 Const VK_PRINT = $2A            '
 Const VK_PROCESSKEY = $E5       '
 Const VK_RBUTTON = $2           ' マウス右ボタン
 Const VK_RCONTROL = $A3         '
 Const VK_RETURN = $D            '「Enter」キー
 Const VK_RIGHT = $27            '「→」キー
 Const VK_RMENU = $A5            '
 Const VK_RSHIFT = $A1           '
 Const VK_SCROLL = $91           '
 Const VK_SELECT = $29           '「Select」キー
 Const VK_SEPARATOR = $6C        '
 Const VK_SHIFT = $10            '「Shift」キー
 Const VK_SNAPSHOT = $2C         ' PrintScreen
 Const VK_SUBTRACT = $6D         '「-」キー
 Const VK_SPACE = $20            '  スペースキー
 Const VK_TAB = $9               '「TAB」キー
 Const VK_UP = $26               '「↑」キー
 Const VK_ZOOM = $FB             '

※以下は自分で定義したもの
 Const VK_WIN = $5B              '「Windows」キー
 Const VK_A = 65                 '「A」キー
 Const VK_B = 66                 '「B」キー
 Const VK_C = 67                 '「C」キー
 Const VK_D = 68                 '「D」キー
 Const VK_E = 69                 '「E」キー
 Const VK_F = 70                 '「F」キー
 Const VK_R = 82                 '「R」キー
       '
       '           以下略・・・
       '
 Const VK_X = 87                 '「X」キー
 Const VK_Y = 89                 '「Y」キー
 Const VK_Z = 90                 '「Z」キー


いおり  2000-10-24 08:27:52  No: 40

ありがとうございます。解決いたしました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加