0

DDESpyを使用してDDEメッセージを監視する場合、探しているものをキャプチャできますが、DDESpyはそれを切り捨てます。

[1ff8:212781728] CB(Execute, fmt=0x0("?"), 39002100, c001("WWW_OpenURL") 0(""), 3d003b00, 0, 0)=3e004300
    Input data=
    22 00 68 00 74 00 74 00 70 00 3a 00 2f 00 2f 00    ".h.t.t.p.:././. 6e 00 65 00 77 00 73 00 2e 00 79 00 63 00 6f 00    n.e.w.s...y.c.o.
    ...

さて、これは本当に厄介です。なぜなら、私が本当に求めているのは、入力データの最後(....の後)のパラメーターだからです。

どうすればそのデータを取得できますか?

4

1 に答える 1

0

DDEML APIの場所は、DDE監視アプリケーションにとって重要です。MicrosoftのDDEspyとDynamicDataStudioは、DDEMLAPPCLASS_MONITOR機能を使用します。メッセージフックは、WM_DDE_xxxメッセージに添付されたデータのメモリハンドルを読み取ることができますが、32ビットアプリケーションの場合、ハンドルは他のプロセススペースでは意味がありません。32ビットバージョンのDDEMLAPIは、一部のデータを抽出して監視アプリケーションに渡しますが、最初の28バイトのみです。これ以上入手する方法はありません。

どうやらこれが私が最初の28バイトしか見ない理由です。運が悪いと思います。

出典:http ://www.angelfire.com/biz/rhaminisys/ddeinfo.html

于 2013-02-17T17:30:20.760 に答える