強制終了後のタスクトレイのアイコンを消す
強制終了させるとタスクトレイにアイコンが残り、困っていた。
マウスをタスクトレイに移動させると消えるのだが、アイコンの残骸を自動的に消す方法はないものか?
あれこれ情報収集してみたが、確実な方法はないようだ
仕方なく、Delphiでタスクトレイにマウスカーソルが移動するツールを作ってみた。
ソースは以下の通りで、フォームを作成し、そのonCreateメソッドに下記の数行をいれ、メインフォームを非表示にする
procedure TForm3.FormCreate(Sender: TObject); var I:integer; begin for I := 0 to Screen.Width div 10 div 2 do begin // 画面の半分で下側から15ピクセルの位置から10ピクセル毎にマウスを右側に移動させる Sleep(1); SetCursorPos(Screen.Width div 2 + I * 10 ,Screen.Height - 15); end; application.Terminate; end;
メインフォームを非表示するには下記の1文をプロジェクトソースに追加する
Application.ShowMainForm := False;
注意:上記のソースはタスクバーが画面の下側に1行で表示されている場合だけ有効です。
タスクバーを2行にしたり、自動で隠すを指定したり、タスクバーを画面下部以外(左右、上部)で表示している場合は
効果はありません。そのような場合は、マウスの移動場所をソースを修正して変更する必要があります。
◆実行ファイル
http://u670.com/download/tasktraycleaner.zip