問題タブ [windows-shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
200 参照

php - 説明にあるコードは Windows システムで実行可能ですか?

指定されたコードは Windows システムで実行可能ですか? Linuxコマンドのようです

編集済み 次のコードを実行していますが、期待どおりの結果が得られません..

0 投票する
1 に答える
93 参照

windows-shell - Windows シェルがないとワイヤレス接続が機能しない

Windows XP で専用アプリケーションを実行し、シェルを無効にして、ユーザーが Windows 機能にアクセスできないようにします。ワイヤレスネットワークに切り替えたとき、シェルを起動するまでカードは機能しません。シェルなしで動作させる方法はありますか?

0 投票する
2 に答える
1049 参照

c++ - Windows からアンインストールするときに、他のユーザー アカウントから ProgID を削除する方法は?

Windowsで「最新のWindows C ++アプリケーションがそのファイルタイプを登録する方法」を調査してきました(C ++:アプリケーションのファイルタイプの関連付けを正しく登録および登録解除する方法を(プログラムで)参照してください)。

この件に関するさまざまな MSDN の記事をくまなく調べた結果、要約次のようになります。

  1. インストーラー (昇格) は、グローバル ProgID HKLM\Software\Classes\my-app.my-doc[.version] (例: HKLM\Software\Classes\TextPad.text) を登録する必要があります。
  2. インストーラーは、ドキュメント タイプ (.myext など) の既定の関連付けも構成し、これを前述の HKLM のグローバル ProgID にポイントします。
    注:ここでは、ユーザー インターフェイスを提供して、ユーザーがすべての既定の関連付けを受け入れるか、設定する関連付けをカスタマイズできるようにする必要があります。
  3. 標準 (昇格されていない) を実行しているアプリケーションは、現在のユーザーが個人的な関連付けをインストーラーで使用できるように設定できるようにするための UI を提供する必要があります。 .
  4. その後、UN インストーラーは、登録されているすべての ProgID を削除する責任があります (ただし、Windows は不足している ProgID を指す関連付けを処理するのに十分スマートであり、これは MSDN によって指定された望ましい動作であるため、実際のファイルの関連付けはそのままにしておく必要があります)。

#4: アンインストーラーは、特定のユーザー アカウントに対して昇格された状態で実行され、ステップ #3 で作成された他のユーザーのユーザーごとの ProgID をどのように削除するのでしょうか?

私が理解しているように、昇格モードであっても、アンインストーラーは別のユーザーのレジストリハイブに移動してアイテムを削除することはできませんか? それともできますか?各ユーザーハイブを最初にロードする必要がありますか? ここでのルールは何ですか?

あなたが提供しなければならないかもしれない洞察をありがとう!

編集:解決策については以下を参照してください(私の質問は混乱して設立されました)

0 投票する
1 に答える
469 参照

c++ - MDIアプリのddeexecの代わりに何をすべきですか?

Explorerからのデザインのオープンを処理するために、ddeexecレジストリエントリを使用しています。

MSDN(記事の約2/3の方法)は、ddeexecが非推奨であり、アプリケーションは代わりにIDropTargetを使用する必要があることを示しています。

私には不明確なのは、これが実際にどのように機能するのかということです。

たとえば、.fooファイルを処理することを目的としたFoo.exeがある場合、レジストリはどのようになりますか?

コマンドが明白に設定されている場合:

その後、ユーザーがダブルクリックするか、.fooファイルのコンテキストメニューから[開く]を選択するたびに、Foo.exeが起動します。

ただし、これは、ユーザーが起動しようとするファイルごとにFoo.exeの個別のインスタンスが起動されることを意味します。YUCK。

私は確かにカスタムコードを書いて、Foo.exeの2番目のインスタンスからFoo.exeの最初のインスタンスにファイル名を渡して終了することができます...しかし、それから私はかなりの量のカスタムコードを書いています。

DDEは、すでに実行中のFoo.exeの最初のインスタンスに指定されたファイルを開くように要求することにより、これを適切に(十分に)処理するために使用されていました。これにより、MDIアプリで複数のドキュメントを巧みに開くことができ、各ドキュメントはFoo.exeの1つのインスタンス内で開かれました。

DDEが非推奨になった場合、推奨されるメカニズムは何ですか?私たちのアプリは、MDIアプリとしてはるかに理にかなっています。確かに、Foo.exeの複数のインスタンスを実行する必要はありません(ユーザーを煩わせるだけです)。私は確かに、Foo.exeの実際のインスタンスを探し、開かれているファイル名を渡すためにいくつかのカスタムメカニズムを使用する新しいFoo-Shim.exeを作成する必要はありません。(Foo.exeは大きく、読み込みに時間がかかり、インスタンスごとにカウントされるアクティベーションセキュリティコードが必要なため、この目的でFoo.exeを使用することはできません。そのため、次の場合は起動を拒否する可能性があります。最大同時ユーザー制限)。


IDropTargetには、この(一般的な)シナリオと関係があるように見えるものは何もありません。

MSがここで何を意図していたか誰か知っていますか?

0 投票する
1 に答える
203 参照

contextmenu - ウィンドウのカスタムShellExtensionポップアップメニュー項目でメニューヘルプテキストを設定する方法

winzip shellContext menuと同じように、シェルコンテキストメニューポップアップメニュー項目のメニューヘルプテキストを設定する必要があります。IContextMenu_GetCommandStringを試しましたが、メインポップアップメニューのサブメニューのメニューヘルプを設定しているだけです。私を助けて、私のメインのポップアップメニューのメニューヘルプを設定する方法を教えてください。

ありがとう

0 投票する
2 に答える
877 参照

delphi - Windows Vista および Windows 7 でコントロール パネルのカテゴリ (グループ) を取得する方法

シェルを使用して Windows Vista および Windows 7 のコントロール パネル カテゴリのリストを取得する方法はありますか?

シェルを使用して円錐形の名前を使用して、アプレットが割り当てられているカテゴリを特定する方法はありますか?

Microsoft.Mouse などはどのカテゴリに属しますか?

シェルから取得したコントロール パネル アプレット名を、Vista Classic のグループ化されていないリストの TListView にうまく表示するコードがあります。

Vista のカテゴリ別にグループ化されたコントロール パネル クラシックのように、TListView でアプレット名をグループ化してみたいと思います。

明細書

0 投票する
1 に答える
908 参照

delphi - Sorting shell items like windows explorer

I am making a bread crumb bar in Delphi and having some problems regarding sorting the dropdown of the bread crumbs.

Strangely enough, even Vista is not consequent when showing these items.

I have tried many ways to figure out what is system folders, what is zip files and what is normal folders. It seems like an easy task but so far I have not found any good way of doing it.

One way is to use TypeDisplayName from TSHFileinfo but these are localized names so I can not be sure they will be in correct order in every language.

Here is the code I use to fill the menu:

Any solution for how to get the correct sorting order? It is strange there is no way in dwAttributes of TSHFileInfo to tell if a folder is a system folder.

Thanks to Keith Giddings I managed to come up with this solution:

Roy M Klever

0 投票する
3 に答える
3631 参照

c++ - IShellLink::SetIconLocation は、私のアイコン パスを間違った %Program Files% に変換します

この動作を修正する方法を知っている人はいますか?

現在、インストーラーがアプリケーションをインストールすると、IShellLinkが取得され、ショートカット アイコン (スタート メニューとデスクトップ) に必要なデータが読み込まれ、IPersistFile::Saveを使用してショートカットが書き出されます。

問題は、 IShellLink::SetIconLocationを介してアイコンに指定されたパスが%ProgramFiles%を使用するように変換されることです... x64 の場合、間違っています。

他の多くの 32 ビット ソフトウェアでは、x64 でこれが失敗することに気付きましたが、%ProgamFiles%自体を .lnk 作成コードのリテラル要素として使用していると想定しました。ただし、IShellLinkがこのバグを強制的に存在させているようで、回避策がありません (または、シェルのリンク プロパティ エディターが問題の原因であり、基になるリンクは問題ない可能性があります)。

いくつかのGoogle検索では何も見つかりませんでした...他の誰かがこれに遭遇したか、記事を知っていますか/x64ウィンドウがこれを台無しにしないようにする方法の例を知っていますか?

明確な例:

正しいアイコンを持つショートカットが作成されますが、ショートカットのプロパティ ページで [アイコンの変更] を押すと、「Windows はファイル %ProgramFiles%\Acme\Prog.exe を見つけることができません」と報告されます。)

0 投票する
1 に答える
4194 参照

wpf - WPFアプリケーションからWindowsファイルプレビューアイコンにアクセスするにはどうすればよいですか

ディレクトリにたくさんの写真とビデオがあり、WPFアプリケーションで表示する必要があります。私は、Win7ラージアイコン自体をプレビュー画像として表示することを考えています。これは、Windowsがすでにその仕事をかなりうまくやっているので、ビデオファイルから適切なフレームを取得する作業を節約できるからです。このシェルアイコン画像データにアクセスするためのコードスニペットはありますか?

0 投票する
4 に答える
5255 参照

c# - C#: SHOpenFolderAndSelectItems の使用方法

C# からシェル関数SHOpenFolderAndSelectItemsを使用する方法の例を教えてください。これらの種類の関数の使用方法がよくわからず、pinvoke.netで見つけることができませんでした... =/

という 3 つのファイルがあるとします。

  • X:\Pictures\a.jpg
  • X:\Pictures\s.jpg
  • X:\Pictures\d.jpg

次に、でX:\Picturesフォルダーを開き、選択したいと思いa.jpgます。s.jpgd.jpg