3

コンピュータで現在アクティブなすべての DDE サーバー (および可能であればトピック) のリストを表示したいと考えています。どうやってやるの?各 DDE サーバーに対して何らかのサービスが開始されていますか?

インターネットとスタックオーバーフローをしばらく検索しましたが、何も見つかりませんでした。

4

1 に答える 1

5

私が頻繁に使用するツールの中で、tcl がそれを実行できます。

dde services {} {}

すべてのアクティブなサービスとトピックのペアを返します。

TCL ソース ツリー (win/tclWinDde.c) で実装を確認できます。基本的に、ウィンドウとメッセージで退屈な作業がたくさんあります。まず、DDE クライアント ウィンドウが作成されます。次に、WM_DDE_INITIATE が (EnumWindows を使用して) 各ウィンドウに送信され、クライアント ウィンドウ ハンドルが WPARAM として渡されます。クライアント ウィンドウ プロシージャは WM_DDE_ACK を処理し、LOWORD(lParam) と HIWORD(lParam) のアトムからサービスとトピックを追加します。

于 2013-01-04T17:39:54.773 に答える