3

Windows XPのコントロールパネルはどこから「コメント」フィールドの値を取得しますか?私はEXEコントロールパネルアプリケーションを作成していますが、そのフィールドに値を指定できるようにドキュメントからは表示されません。

4

3 に答える 3

1

CPLAppletの使用

コントロールパネルが.dll(または.cpl)ファイルをロードすると、CPlApplet関数を呼び出して、ファイルがホストするコントロールパネルアイテムの数や各アイテムに関する情報などの情報を取得します。

Windowsが最初にコントロールパネルアイテムをロードするとき、CPlApplet関数のアドレスを取得し、その後、そのアドレスを使用して関数を呼び出し、メッセージを渡します。次のメッセージが送信される場合があります。

CPL_INQUIREメッセージを処理し、CPLINFO構造体に入力する必要があります。

typedef struct tagCPLINFO {
  int      idIcon;
  int      idName;
  int      idInfo;
  LONG_PTR lpData;
} CPLINFO;

idInfo説明を含む文字列のリソース識別子です。レジストリキーを入力するだけでは、このことを簡単に設定することはできません。

編集:わかりました、私の悪い、これは古い解決策です。

于 2010-06-14T17:48:22.893 に答える
1

http://blogs.msdn.com/b/cjacks/archive/2007/05/03/registering-an-executableでWindowsインストーラXML(WIX)を使用してWindows Vistaでコントロールパネルアプレットとして実行可能ファイル(exe)を登録する-file-exe-as-a-control-panel-applet-on-windows-vista-using-windows-installer-xml-wix.aspx


【前の回答】

http://msdn.microsoft.com/en-us/library/cc144195(VS.85).aspxで、実行可能コントロールパネルアイテムの登録コントロールパネルアイテムの登録を参照してください。

InfoTip具体的には、コメントであるが必要です。

コントロールパネル項目の登録

コントロールパネルウィンドウに表示するには、コントロールパネルの項目を登録する必要があります。コントロールパネルの項目が.exeファイルの一部として実装されている場合は、コマンドオブジェクトとして登録されます。アイテムがCPlApplet関数をエクスポートする.dllファイルとして実装されている場合、登録は異なります。

于 2010-06-16T02:29:52.127 に答える
1

この文字列は、HKCR \ CLSID {guid}\InfoTipレジストリ値から取得されます。レジストリを形にする方法は、このMSDNライブラリの記事で非常によく説明されていますが、私がそれに追加できることはあまりありません。

于 2010-06-20T21:08:06.843 に答える