問題タブ [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.
windows - Windowsはエクスプローラーシェルのファイルにアイコンをどのように関連付けますか?
InDesignCS2とCS3の両方をインストールしています。どちらも拡張子が.inddのファイルを使用します。Windowsはどのアイコンを使用するかをどのように認識しますか?正しいアイコンを使用します。つまり、CS2ファイルにはcs2アイコンがあり、CS3ファイルにはCS3アイコンがあります。
Windowsはこれを行う方法をどのように知っていますか?
また、このバージョン検出システムをプログラムで抽出または使用するにはどうすればよいですか?
編集:
shell-extension-icon-handlerの回答ありがとうございます。私にとって新しい何か。しかし、InDesignが提供するIconHandlerに接続し、それを使用してInDesignファイルのバージョンを検出する方法はありますか?
windows - * (アスタリスク) 文字を含む文字列を Windows シェルのコマンド ライン引数として渡す
「*」文字を含む文字列をコマンドライン経由で実行可能ファイルに渡す方法を探しています。
文字列 3*2 を渡したい。代わりに Windows が行うことは、現在のディレクトリでファイル マスク "3*2" に一致するファイルを検索し、見つかったファイルを command.exe に渡すことです。
二重引用符の間に「3*2」を入れても解決しませんが、同じ問題が発生します。
'3*2' (一重引用符の間) も試しましたが、この文字列全体 (一重引用符を含む) が渡されましたが、これは必要なものではありません。
文字列 3*2 (引用符なし) をコマンドに渡す方法はありますか?
c# - Windows シェル拡張機能の作成を開始するにはどうすればよいですか?
ファイルがクリックされたときにそれに対してアクションを実行できるように、シェル拡張機能を作成することを検討しています。(他のコンテキスト メニューと同様に :))
コンテキスト メニューに新しいメニュー項目を挿入し、1 つまたは複数のファイルに対してアクションを実行するために最低限必要なものは何ですか。比較例は、10 個のファイルを選択して Zip に送信した場合です。
いくつかのアンマネージ コードを記述する必要があると読みましたが、C++ アンマネージ コードに関する知識はほぼゼロなので、Windows コンテキスト メニュー ([ファイル] > [右クリック]) でメニュー項目を取得するためにできる限り少ないことをしたいと考えています。その後、C# コンソール アプリを呼び出してメインの処理を行いたいのですが、アンマネージ コードから ac# コンソール アプリを呼び出すことは可能ですか?
また、Windows シェル プログラムを作成するには、どのような種類のビジュアル スタジオ プロジェクトが必要ですか? どのプロジェクト タイプから選択しますか。
- Win32 コンソール アプリ
- MFC アプリケーション
- Win32 プロジェクト
- ATL プロジェクト
- MFC DLL
- CLR コンソール アプリ
- クラス ライブラリ
- Makefile プロジェクト
- MFC ActiveX コントロール
- Windows フォーム コントロール ライブラリ
乾杯
registry - Windows シェルでの右クリック コンテキスト メニューの操作
レジストリを使用して、ウィンドウ内で右クリックを操作しようとしています。シェル内に1行追加することができました。
たとえば、メモ帳を起動します。
今、私が本当に欲しいのは、コンテキスト メニュー内のサブディレクトリです。
これについてどこで読むことができるか、または実際にそれを行う方法を知っている人はいますか?
winapi - VBA (Access) でシステム トレイとアイコンを使用する
Windows API を使用してシステム トレイにカスタム アイコンを取得する方法を説明するチュートリアルをいくつか見つけました。
これらはすべて Visual Basic 用であり、VBA にうまくスケーリングしていないようです。
私はこの短いチュートリアルに従っています: http://atchoo.org/vb/systray.php
基本的に、hIcon 値 (「長い」変数) を設定する必要がありますが、機能しません。LoadPicture() 関数を使用しようとしましたが、エラーは発生しませんが、新しいアイコンの追加にも失敗します。
Me.Icon を提供することも、Form_Load に設定することもできません。
誰もこれについて経験がありますか?
command-line - Windowsコマンドプロンプトで発行されたコマンドにCR+LFを埋め込むにはどうすればよいですか?
実際にコマンドを発行せずに、Windowsコマンドプロンプトで使用しているコマンドにCR + LFを埋め込むにはどうすればよいですか?
例:
C:\Windows\system32>myprog -u user -p pass -text "Sincerely,\nRob"
改行を処理するのはmyprog次第ですか?Windowsのコマンドラインで認識される改行を表す方法が必要だと思いました。
c# - Windows シェルを使用するには、プロジェクトで何を参照する必要がありますか?
具体的には、PDF および DOC ファイルからサムネイルを抽出するためにIShellFolder
、IExtractImage
およびを使用したいと考えています。ShellInterop
また、インポートする必要がある名前空間も便利です
この初心者の質問を見てくれてありがとう:)
イアン
c# - IContextMenu::GetCommandString Windows エクスプローラーでヘルプ テキストが表示されない
Windows エクスプローラーのシェル コンテキスト メニューを実装しており、メニューの作成に成功しました。私が問題を抱えているのは、選択したメニュー項目にカーソルを合わせると、ステータス バーにヘルプ テキストを表示する IContextMenu::GetCommandString メソッドです。
各アイテムにカーソルを合わせると何も表示されませんが、奇妙なのは、作成しなかった他のアイテムの一部、たとえば開いたり印刷したりすると、ヘルプテキストがゴミに変わってしまうことです..
IContextMenu::QueryContextMenu と IContextMenu::GetCommandString のコード サンプルを次に示します。
誰か提案はありますか?シェル拡張機能の作成方法に関する多くの記事を読み、MSDN も読んでいます。
ありがとう。
c# - 「隠しファイル、フォルダ、ドライブを表示する」を切り替えるAPI
Windows APIには、Windowsエクスプローラーの[隠しファイル、フォルダー、およびドライブを表示する]オプションを切り替える機能があります([ツール]>>[フォルダーオプション...]>>[表示]タブ)。
関連するレジストリキーを知っていますが、それを変更してもすぐには効果がありません。重要なのは:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced/Hidden
C#からこれを実行しようとしていますが、質問は言語固有ではありません。
windows - ファイルなしで SHAddToRecentDocs?
私は IRC クライアントをいじっていて、それを Windows 7 アプリ バーと統合していました。
「頻繁」または「最近」の項目リストを取得するには、SHAddToRecentDocs API を呼び出す必要があります。最近アクセスした IRC チャネルを、IRC アプリケーションの Windows 7 ジャンプリストに追加したいと考えています。さて、私の問題は、ファイル システムに IRC チャネルが存在しないことです。また、SHAddToRecentDocs は、ある種のファイル システム オブジェクトを取得することを主張しているようです。
アプリケーションを指す IShellItem を作成し、チャネルを起動するコマンド ラインを与えることで、この問題を回避しようとしました。ただし、シェルは反抗的であり、これまでのところ、私の「最近のドキュメント」の試みが目に見える形でジャンプリストに追加されていません。
まったく不要なファイルシステム オブジェクトを作成せずにこれを行う方法はありませんか?