InvaLink

最新版 05/25 2022
【概要】
色々な物をインストールして使用しているとそれを便利に使用する為にそれぞれのショートカットを作って 使用するのですが プログラムを アンインストールしたり削除したりしていくうちにショートカットの ターゲット先が削除されて意味のないショートカットが増えて来ます。 これらのショートカットを確認して削除するのは結構手間が掛かるので それらを見つけ出して削除出来る様に 確認 選択して削除できる様にこの InvaLink を作りました。

【動作環境】
日本語 Windows XP / Vista / 7 / 8 / 10 / 11 ランタイムは特に必要有りません。

【インストール/アンインストール方法】
InvaLink.exe と InvaLink.chm を適当なフォルダーに置いて適当なショートカット等を 作って立ち上げて下さい。
アンインストールはレジストリーは使用しませんので InvaLink.exe と InvaLink.chm 設定ファイル InvaLink.qnf それに作成した ショートカット等を削除して下さい。他には何も残しません。

【使用方法】
立ち上げてコンボボックスにフォルダー名を入れて下さい。このフォルダー以下を検索します。
Folder と有るメニューから 検索ドライブ 又は フォルダーを選択できます。 もちろん直接コンボボックスにフォルダー名を書き込んでもかまいません。 フォームへのフォルダーのドロップでもコンボボックスに代入出来ます。
コマンドラインからも指定出来るので フォルダーの InvaLink.rxr ショートカット へのドロップでも Send to に入れても立ち上げる事が出来ます。
コンボボックス に フォルダーが入ったら Search ボタンを押して下さい。
指定したフォルダー以下のリンクで無効になっている( リンク先が無い ) リンクを探してリストアップします。 此の検索を途中でキャンセルするには ESC 又は X キーを押して下さい。その時点で中止します。
此の Search 中の 2 / 50 Files とか出るテキストは 見つかった無効リンク数 / 確認したファイル数 です。
隠し機能ではないのですが 検索ボタンを押す時に Control を押していると 有効 無効にかかわらず全ての LNK PIF を 検索します。
リストボックスにリストアップされたリンクでで消しても良いと思う物を左クリックして選択して下さい。
選択してある物をクリックすると非選択になります。マウスの左ボタンを押しながらカーソルを動かす事で連続して 選択 解除 をする事も出来ます。
Ctrl+A で全てのリストを選択します。Ctrl+C で全てのリストをクリップボードにテキストとして 取り込みます。
リストの右クリックでそのリストに対してのメニューが 出ます。
1 / 4 Links とか出るテキストは 選択数 / 見つかった リンク の意味です。此のテキストは
Not yet  まだ検索はしていません。
0 / 00 Links 検索中で 0:Invarid Links / 00:Total Links を表示します。
Canceled  ESC 又は X キーでキャンセルされた。
No Link 見つからなかった。 の意味です。
消去しても良いと思われる リンクを選択したら Delete ボタンを押して下さい。選択リンクを 消去します。( ファイルの消去権が有ればの話です。) 消去出来たリンクはリストから除かれ Total リスト数も減ります。
File メニュー
Folder : 検索ドライブ 又は フォルダーを選択ダイアログを出します。
 右クリックで選択する事で コンボボックスに有るフォルダーを選択して始めます。
Exit : 終了します。
Edit メニュー
SelRev : クリックする事で選択の反転をします。
  選択が無しの時は此を押す事で全て選択状態に出来ます。
SelAll : 全てのリストを選択します。
SelClr : リストを全て非選択状態にします。
Copy : リストアップしたリストを各行にしてテキストクリップボードに代入します。
  後の参考にしたい時に使用して下さい。
Set'g メニュー はチェックがある時に有効です。
Top Most : InvaLink を最上位ウィンドウにするかしないかの切り替えです。
  他のウィンドウの影に隠れるのが不便な時は Top にして下さい。
Recycle : ゴミ箱が有効になっていればゴミ箱に移動します。 Tip Time : リストアップフォルダーにマウスカーソルを置くと 作成 更新 参照 ( アクセス ) 日時の ツールチップを表示します。
Help メニュー
Help : ヘルプファイルを表示します。
About : バージョンを表示します。

List 右クリックメニュー ( リストが有れば )
Open Folder : リンクを選択して存在するフォルダーを開きます。何らかの確認に使用して下さい。
Open Link : リンク先を開きます。( 通常は開かないはずです。)
Property : ファイルのプロパティーダイアログを開きます。
Copy Name : 右クリックリストのフルパス名をテキストクリップボードに代入します。
Delet Item : リストアイテムを1つ選択とは関係無しに削除します。

Serach ボタン
このボタンで 左に選択されている ドライブ フォルダー以下でリンクが切れている物を全て検索します。
Delete ボタン
リストアップされた項目の内選択されている( 青くなっている物 )を削除します。
Remote チェックボックス
チェックが有れば リンク先が ネットワーク先 でもリストアップします。 但し 此は状況によって有ったり無かったりしますし 確認も時間が掛かります。

検索対象としたフォルダーは 30個 までコンボボックスに記憶するのでこれから選ぶのが早いかと思います。
Search をかけたフォルダーはその都度記憶していきます。コンボボックス記憶したフォルダーを消すには ドロップダウンコンボで選択する時に Shift キーを押して選択して下さい。
Search ボタンを Shift を押しながら クリックするか コンボボックステキストに何も入っていない時にクリック すると結果をリセットして最初の状態にします。
InvaLink.exe が終了する時に場所 サイズ 使用フォルダー歴 等を InvaLink.qnf に残します。

【コマンドライン】
検索対象とするフォルダー を入れて下さい。この時は立ち上がるとすぐに検索を初めて結果をリストアップします。

【注意事項】
・リンク先の切れているリンクでも時によって有効になるかも知れません。削除リンクを選択する時には 良く吟味して削除して下さい。
・ゴミ箱 ( Recycled ) の中も検索対象です。Recycle に チェック ある時には 削除 しても 当然ですが Recycled に移動しただけで 再検索すれば Recycled の中に現れて来ます。 但し ゴミ箱 ( Recycled ) の 中の物を削除したした時は Recycle が利かない様になっています。

【制限事項】
当然ですが OS によってアクセス権が与えられていないフォルダー以下のリンクや 削除する時に削除権が無い リンクファイルについては無力です。

【使用に関して】
此の プログラムは バグ 動作不良などが無い事を期待されて作られてはいますが 違う環境での 正常動作 又 誤動作から来る損害など についての 保証はいたしかねます。 ただし ご意見 提案 動作不具合報告等は歓迎いたします。

【履歴】
2011/11/17 Ver 1.000
リンク先の切れたリンクは見つけにくく 無駄かも知れないので此を何とかする為の補助に作成しました。
2011/12/22 Ver 1.020
検索中の余分な入力で動作が妨げられる事が有ったので此を修正しました。立ち上げ時の仕方によっては おもしろからぬ事が起こるのを防止する様にしました。その他共通フォーム上と気の付いた細かい改善を しています。
2012/09/03 Ver 1.100
検索結果を表示するリストの選択をマウスボタンの左押しで連続して選択 解除が 出来る様にし キー入力 Ctrl+A で全て選択 Ctrl+C でリストのコピーを Delete で削除する様にもしました。
Edit メニューに SelAll を入れ リストのメニューにも Property を新設しました。しています。
2012/12/27 Ver 1.110
何らかの理由で指定フォルダーが削除出来なかった時の対処をして表示と実際の矛盾が出ない様にしました。
2013/07/15 Ver 1.200
連続して検索している時のリストの表示をリアルタイムに加える所のコードを安全で速い物にして反応も 良くしました。
Edit メニューに SelClr 又 リストの右コンテキストメニューに Delet Item を加えてそれだけを 即削除し易くしました。その他 数個の使い勝手の向上をしています。
2013/12/25 Ver 1.220
作業中の結果をリストに入れてそれをその都度表示する為のメッセージ処理コードを 他のメッセージを流さない専用の 物に変えて安全で必ず自分で戻れる物にしました。又 終了する所のプロシージャーも出来るだけ他からの余分な メッセージの影響が出ない様にしています。
後 探した結果の経過が解る様にリストを最後にスクロールする様にしました。
2014/06/16 Ver 1.230
検索動作中のメッセージは出来るだけ此の期間に処理をする事にして後に残さない様にしこの間の反応を良くしました。 タイトルバー上でのシステムメニューが出ない不具合を修正し 同時に通常どうりの 最大化 最小化ボタンも付けました。
リストアイテムをテキストクリップボードにコピーする際に必要の無いクリップボードクリアーはしない様に 又 ウィンドウ書き換えの時に余分なエリアの書き換えはしないコードにしました。
2014/08/15 Ver 1.232
検索途中のキャンセルは ESC キー 又は X キーにしました。
2015/01/15 Ver 1.300
設定メニューに Tip Time を加え 此を 有効にすると リストアップフォルダーにマウスカーソルを置くと 作成 更新 参照 ( アクセス ) 日時のツールチップを出す事にして削除の判断をし易くしました。
2015/03/12 Ver 1.310
Windows 8 の色の設定によっては フォームの色がちぐはぐになってしまうのを修正しました。 サブクラス化しているリストボックスのメッセージ伝達を正確にして 効率も良くしました。
2015/08/20 Ver 1.320
DPI スケーリング は自身でする事を宣言し メニューやリストの文字 フォームの 位置や 大きさが OS の DPI の仮想化 による スケーリング の影響を受ける事の無い様にしました。
2016/05/07 Ver 1.330
COM 使用の宣言を最初にスレッドでの宣言に代表させて 此を使用する動作の安定をさせ その都度使用する時に する重複の無駄を無くしました。
2017/02/15 Ver 1.340
Open Folder が常に選択された状態で開かれる様に常に新しいフォルダーウィンドウで 開く様にしました。
2017/09/15 Ver 1.360
時間のかかる処理の時に 本来の処理以外の メッセージの取得 送りの効率と 安全性を上げて  出来るだけ 本来の ウィンドウプログラムの反応が損なわれない様にしました。
2019/06/25 Ver 1.400
無効リンクの検索中のキャンセル動作を統一してより色々のインタラプト条件でも キャンセルが入る様にして 安全性を上げました。又 此の検索中は 無効リンク / 総調査ファイル を出す事にして 検索中のプログレスが より解る様にしました。
メニューは右クリックでも認める様にして File メニューの Folder では左右の動作を変える様にしました。
後 リストアイテムの選択 非選択動作をより反応の良く確実な物に変えました。
2019/11/10 Ver 1.440
フォームで使用する フォントは 現在のエクスプローラーの使用している物と同一の物として 画面表示が 違和感の無い物にし 解像度の違うディスプレーにもサイズ対応が良くなりました。
フォームのサイズ調整であまりに幅を小さくされた時にボタン等の配置がおかしくならない幅に制限しました。
環境によっては ファイル のパスバッファが足りずに 他に影響を及ぼしてしまうのを無くしました。通常では あり得ないようなフォルダー深さの事も考慮して ワークバッファがオーバーして 他に影響を及ぼさないように 事前に収まる確認をして 安全性を高めました。
後 File 検索ハンドルを戻し忘れのパスを修正しました。
2020/02/15 Ver 1.460
About のメッセージボックスや Folder 選択 のダイアログ の位置を プログラムと関連の有る位置に 表示 する様にしました。
2020/09/30 Ver 1.500
マルチモニター環境に対応しました。
IME を使用しての入力は無いので使用しない宣言をして常駐メモリーを減少させました。
メッセージボックスや Folder 選択 のダイアログ に InvaLink アイコン を入れる様にしました。
2022/05/25 Ver 1.520
内部的に動作をやり取りするメッセージポストが機能をしたり表示を変えたりする ウィンドウズメッセージに 係らない様に順序正しく廻る様にして安定性を上げました。
時間のかかる時の Delete 作業 や キャンセル時 に画面の書き換えがきちんと行える様にしました。

 最新版 05/25 2022 Ver 1.520 Size 18 kb InvaLink のダウンロード
−戻る−