マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascher Ver.1.59を公開しました。
○Ver.1.59 – 2015/11/10
・ドラッグしつつウインドウリストを表示させると、ちらつく不具合を修正。
・ハングしているプログラムがある場合、ウインドウリストの表示が遅くなったり、フリーズする不具合を修正。
・ウインドウリスト表示時にカーソルが移動しない不具合を修正。
・「デザイン」タブから「サンプル」を削除。
・「背景画像」を「全般」タブから「デザイン」タブに移動。
・背景画像「大きさ」オプションを追加。
・列挙するウインドウが多い場合、壁紙が正しく表示されない不具合を修正。
・プロセスツリーに親子関係のないプロセスを列挙していた不具合を修正。
・列挙できるウインドウ数の制限を撤廃。
・PNGファイルを背景画像として使用できるように。
・動作「マウスホバーで選択」オプションを追加。ドラッグ中は自動的に有効になります。
・動作「タイムアウトで確定」オプションを追加。ドラッグ中は自動的に有効になります。
プロセスツリーに親子関係のないプロセスを列挙していた不具合
について。
TascherではCreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)/Process32First()/Process32Next()を使用し、プロセスリストを取得、PROCESSENTRY32のth32ParentProcessIDを参考に、親子関係を判断しています。
ところが、th32ParentProcessIDの値が再利用(他の新規プロセスに割り当て)されることがあり、全く関係のないプロセスを親と判断してしまう不具合がありました。
そこで、Ver.1.59ではGetProcessTimes()を用い、親子(推定)プロセスの作成時間を取得し、CompareFileTime(parent,child)==1であれば親子でないと判断しています。
(151111)以下の機能を追加したバージョンに差し替えました。
・動作「マウスホバーで選択」オプションを追加。ドラッグ中は自動的に有効になります。
・動作「タイムアウトで確定」オプションを追加。ドラッグ中は自動的に有効になります。