4

私はエンド ユーザー向けのランチャー/インストーラーを作成しています。これは、とりわけ、オプションで [スタート] メニューおよび/またはデスクトップにショートカットを生成します。

理想的には、これらのシナリオをサポートするために、これらのショートカットが必要です。

  • ユーザーは、表示される名前を好みに合わせて変更します。
  • ユーザーがショートカットを別の場所 (クイック起動など) に移動またはコピーします。
  • ランチャーは後で、ショートカットのアイコンやターゲットの場所を更新する必要があることを発見します。

現時点では、ランチャーはこれについて賢くありません。現在の名前のショートカットが既に見つかっている場合は、そのままにしておきます。そうでない場合は、新しいものを作成します。したがって、ユーザーまたはランチャーのデータベースによってショートカットに関する何かが変更された場合、現在のものとそうでないものになります。

移動やコピーを含むショートカットを適切に追跡するために、単に UUID を含むこれらのショートカットのそれぞれに NTFS 代替データ ストリーム「FoobarInstaller.Shortcut」を配置することが実行可能なオプションであるかどうか疑問に思っています。次に、ユーザー ディレクトリ ツリー全体 (または、デスクトップ、スタート メニュー、クイック起動などの典型的な場所) をスキャンしてストリームを含むファイルを探し、それらに更新を適用する必要があるかどうかを確認したいと考えています。

私が知らないのは、これが効率的かどうかです。NTFS/Win32 には、特定の ADS を持つすべてのファイルを名前で効率的に検索するための API がありますか?

4

1 に答える 1