- PR -

別アプリの制御について

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-12-07 16:20
引用:

DDEメッセージとして実装するのが正統的な気がしますが、面倒くさいです。



DDE だと「非同期」にはなりません。

引用:

WM_SETTEXTをPostMessageで送る、とかいうのが簡単ではないかと。



WM_SETTEXT も SendMessage() 専用であると、ヘルプで説明されています。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-12-07 16:23
引用:

受け側アプリのほうの
If m.Msg = WmUserTest Then
で、m.Msgが0となってしまいうまくいきませんでした。



は、たまたま WM_NULL が来ただけだったりはしませんか?

WndProc には、自作メッセージ以外にも山のようにメッセージが飛んでくるので、もう少し気長に待ってみるとか。
だんご虫
会議室デビュー日: 2006/07/30
投稿数: 18
投稿日時: 2006-12-07 17:10
渋木宏明(ひどり)様
ご回答ありがとうございます。

ブレイクを張って、m.Msgをみて見た所、

m.WParamにWmUserTestの値が入っていました。
PostMessageの引数設定がおかしいのでしょうか・・・

Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-12-07 17:14
こんにちは。

VB6以前の宣言をどこからか拾ってきたんでしょうか?
PostMessage関数の型が違いますよ。

Long型のところをIntPtr型やInteger型に直しましょう。

引用:

だんご虫さんの書き込み (2006-12-07 14:46) より:

コード:
    Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
        ByVal hwnd As Long, _
        ByVal wMsg As Long, _
        ByVal wParam As Long, _
        ByVal lParam As Long _
        ) As Long





だんご虫
会議室デビュー日: 2006/07/30
投稿数: 18
投稿日時: 2006-12-07 17:24
Tdnr_Sym様
ご回答ありがとうございます。

ご指摘の通り、型が違うだけでした。
真にお恥ずかしい限りです。

どうにかうまくやりたい事ができそうになりました。
皆様ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)