1

動的文字列を受け取る Windows エクスプローラ コマンド バー ツールを作成するにはどうすればよいですか?

ツールをコマンド バーに追加し、クリックでコマンドを実行する方法は既に知っています。

ここに画像の説明を入力

しかし、 Organizeの後に 2 番目のようなツールバーが必要です。

ツールのファイル名をクリックすると、My Tool - File name (selected.txt)またはMy Tool - Selected File Extension (.txt)のようになる必要があります。

誰かがそれを行う方法について考えを持っていますか?

4

1 に答える 1

3

1) シェル拡張を作成します。シェル拡張機能は、IInitializeCommand、IObjectWithSite、IObjectWithSelection、IExplorerCommand、および IExplorerCommandState を実装する必要があります。

2) シェル拡張を登録します。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\YourCommandID]
@=YourTopCommandCaption
ExplorerCommandHandler=YourCLSID

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}\TasksItemsSelected]
@=YourCommandID

TasksItemsSelected キーのデフォルト値が空でない場合は、古い文字列に新しい文字列を追加する必要があります。たとえば、前の値は Windows.copy で、新しい値は Windows.copy;YourCommandID である必要があります

{5c4f28b5-f869-4e84-8e60-f11db97c5cc7} は FOLDERTYPEID_Generic です。

3) IExplorerCommand.GetFlags は ECF_HASSUBCOMMANDS または ECF_ISDROPDOWN を返す必要があります

4) IExplorerCommand.EnumSubCommands は、IEnumExplorerCommand を実装するオブジェクトを返す必要があります。

5) IEnumExplorerCommand.Next は、IExplorerCommand、IObjectWithSite、および IObjectWithSelection を実装するオブジェクトを返す必要があります。すべてのオブジェクトは、サブ メニューの単一のコマンドです。

Win7のみで動作します。

于 2014-09-22T14:01:02.373 に答える