問題タブ [shell-extensions]

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 投票する
1 に答える
933 参照

c# - プロセスなしの閉鎖不可能なアプリケーション

最初に、英語が下手で申し訳ありませんが、会社のセキュリティ アプリケーションを作成していて、ユーザーがアプリケーションで torrent などの特定のプログラムを開けないようにしたいと考えています。しかし、これは問題ではありません。問題は、ユーザーが何らかの方法でアプリケーションを閉じることができるところから始まります....彼らはプロセスを終了することができます....アプリケーションをユーザーから非表示にするか、閉鎖できないようにするための解決策が必要です。ネットワーク通知アイコンやWindowsの時計のようなものを考えていました、エクスプローラー拡張機能について読みましたが、それらは既に閉じているため、役に立ちません。コンピューターの起動時にアプリケーションを開始する必要があるため、自動的に
感謝 します。

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

c++ - VS COM プロジェクトは 32 ビットでコンパイルされますが、64 ビットをコンパイルしようとするとエラー C2259 がスローされます

こんにちは、私は現在 Visual Studio 2010 を実行しており、32 ビット マシン上で 32 ビットで完全に動作するコンテキスト メニュー シェル拡張を使用しているため、すべてのメソッドが存在します。ATL プロジェクトです。32ビットではエラーも警告もありません。

これが問題です。Visual Studio で構成マネージャーに移動し、アクティブなソリューション プラットフォームを Win32 から x64 に切り替えてコンパイルしようとすると、「エラー C2259: 'ATL::CCOMObject : 抽象クラスをインスタンス化できません」というエラーが表示されます。

このまったく同じプロジェクトが 32 ビットでコンパイルおよび実行されるため、x64 でそのエラーがスローされるのはなぜですか?

アイデアや正しい方向へのポイントをいただければ幸いです。
必須で実装される主なメソッドは次のとおりです。

コード スペースを節約するには Atl プロジェクトを作成します。初期項目が作成されたら、新しいクラス "TestingContextMenu" を追加します。残りのコードはこれを参照します。

stdafk.h

TestingContextMenu.h 追加/変更された部分のみが含まれます

TestingContextMenu.cpp

残りの機能はリクエストに応じて利用できます。しかし、私は何か新しいことに気づきました。上記の関数とコードだけを実装し、構成マネージャーを x64 をビルドするように設定すると、初期エラーが発生します。これは、QueryContextMenu、GetCommandString、または呼び出しコマンドを実装しないことを意味します。このセットアップで発生する唯一のエラーは、実装されていないため、予想される私のオリジナルです。ただし、その構成マネージャーを Win32 に戻すと、3 つの未解決の外部エラーや、それに続く GetCommandString、InvokeCommand、および QueryContextMenu という名前の 3 つのエラーなど、予想されるエラーが発生します。実装されていない場合は再び予想されますが、x64 のコンパイラは、実装されたメソッドではなく、多くの人が想定する元のエラーのみを認識するのはなぜですか?

前の段落は、私が気づいたことです。3 つのメソッドはすべて正しく実装されており、Win32 では正しくコンパイルされますが、x64 ではコンパイルされません。

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

c# - Windows シェル (iDropTarget) を介してリストまたはビューを埋める方法

ツリー ビューを持つ小さな WinForms アプリケーションがあります。ファイルとディレクトリをドラッグ アンド ドロップできます。また、コマンドライン (args) を使用して 1 つまたは複数のファイルまたはディレクトリをドロップすることで、プログラムを開始できます。私が理解できないのは、シェル拡張を実行して、エクスプローラーから複数のセクションを開始できるようにする方法です。

シェル拡張機能と GUI および/またはコマンド ラインを使用して、ある種のリストまたはビューを埋めることを示す小さなサンプルはありますか?

助けていただければ幸いです!

ありがとう。

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

windows - Explorer-Shell-Extension でサブメニューを作成しますか?

ファイル名を変更する小さなスクリプトを作成しました (スペースを_などに置き換えます)。このスクリプトをパラメーターで制御しています。

これを explorer-shell-extention に含めたいので、次のレジストリ エントリを追加しようとしました。

等々。

うまく機能していますが、これらすべてのメソッドをサブメニューにまとめたいと思います。「open with」オプションのようなものです。それは可能ですか?

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

c++ - C++ を使用してコンピューターにインストールされている ShellIconOverLayIdentifers の総数を確認する方法

C++ と win32 API を使用してプログラムでコンピューターにインストールされている ShellIconOverLayIdentifers の総数を確認する必要があります。

以下のパスの下にある識別子を確認して、合計数を取得できますか?

0 投票する
0 に答える
625 参照

contextmenu - Windows エクスプローラーのコンテキスト メニュー アイコンの白い背景

Windows エクスプローラーのコンテキスト メニューに項目を追加し、背景が透明な BMP 画像をアイコンとして使用する COM シェル拡張機能があります。

私が使用する画像を次のSetMenuItemBitmapsように設定するには:

私の問題はこれです-アイコンが最初に表示されたときは問題なく見えますが、その上にカーソルを置いた後、アイコンの背景が(透明ではなく)白になり、メニューを再度開くまで白のままです。

パラメータ「hBitmapUnchecked」、「hBitmapChecked」に両方の非デフォルト値を設定しようとしましたが、違いはないようです。結果は同じままです。

これはホバーする前のアイコン画像です (400% にズーム):

これは、ホバー後のアイコン画像です。

2 番目の画像の周りの白い背景に注意してください。

これまでのところ、Google で関連するものを見つけることができませんでした。この迷惑な背景を避けるためにアイコンを設定する他の方法はありますか?

0 投票する
0 に答える
464 参照

windows - XPのWindowsエクスプローラーで「その他の場所」を変更する

XP の Windows エクスプローラーの左側のパネルにある「その他の場所」はどこから来たのですか (たとえば、レジ​​ストリ内ですか?)、変更することはできますか? これをうまく変えた人を見つけることができないようです。

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

c++ - シェル拡張ライブラリのロードとアンロード

コンテキストメニュー(シェル拡張)を開発していますが、ソリューションを再構築しようとすると、使用中のため.dllライブラリを開くことができないと表示されます。ライブラリを手動でアンロードして、再構築し、再構築後に再度ロードできるようにするにはどうすればよいですか?コマンドラインコマンドはありますか?

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

windows - バリケードを追加するシェル名前空間拡張

WindowsXPのデフォルトのシェルビューを使用して名前空間拡張を実装しました。すべて正常に動作しますが、バリケードを追加したいと思います(保護フォルダーの説明-Windows XPにも適用可能)。これは、文書化された/文書化されていない関数(SFVMメッセージ)を使用して可能ですか、またはこの機能はハードコーディングされていますか?

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

c++ - CListCtrl レポート ビューにビットマップ イメージが表示されない

関連する画像を含むアイテムのリストを表示する CListCtrl を含むダイアログを MFC で作成しようとしています。ただし、画像は空白の白い正方形として表示されています。彼らはそこにいる、あるいは少なくとも、彼らがいるべき場所がある。

ファイルからビットマップを読み込もうとしていますが (同じ効果を持つリソース ID から読み込もうとしましたが)、それを CImageList に保存しています。次に、このイメージ リストが CListCtrl に渡されます。同じコードを使用してプロジェクトの他の場所で同じビットマップを正常にロードできたので、ビットマップが正しくロードされていることはかなり確信しています。

これが重要かどうかはわかりませんが、これはコンテキスト メニューのシェル拡張機能の一部であり、ユーザーがエクスプローラーのコンテキスト メニューの項目の 1 つをクリックすると、ダイアログが表示されます。また、私は MFC に比較的慣れていないので、本当に明らかなことを見逃していたら申し訳ありません。

以下は、レポート ビューで CListCtrl を初期化するための私のコードで、2 つの列と 1 つの項目があり、最初の列に画像があり、2 番目の列にテキストが含まれている必要があります。

私が間違っていることは何か分かりますか?