回答編集履歴
2
誤字修正
answer
CHANGED
@@ -20,4 +20,4 @@
|
|
20
20
|
|
21
21
|
と、ここまで書いておいて 追記・修正欄にTDdeServerConv等の記述があるのに気づきました・・・
|
22
22
|
単純にいままで通りDDE通信で連携できないのでしょうか?(DDEは古代から伝わるアプリケーション間通信機能です)
|
23
|
-
私は.netでDDE使用経験はないのですが、検索すると直接WindowsAPIを
|
23
|
+
私は.netでDDE使用経験はないのですが、検索すると直接WindowsAPIを使用しなくても良いライブラリ(NDde等)あるようです。
|
1
ウィンドウハンドルについて追記、DDEについて確認
answer
CHANGED
@@ -4,4 +4,20 @@
|
|
4
4
|
Windowメッセージ送信(WindowsAPIのSendMessage)が一番楽ではないでしょうか?
|
5
5
|
|
6
6
|
Delphi7側にウィンドウが無いプログラムでも AllocateHWnd を利用すればメッセージ受け取り可能です。
|
7
|
-
(メッセージIDは異なるプログラム間なのでRegisterWindowMessageを利用する)
|
7
|
+
(メッセージIDは異なるプログラム間なのでRegisterWindowMessageを利用する)
|
8
|
+
|
9
|
+
---
|
10
|
+
追記1
|
11
|
+
|
12
|
+
.net側から送信先ウィンドハンドルを見つけるには WindowsAPIのFindWindow を使用します。
|
13
|
+
受信ウィンドウのタイトルに GUIDを文字化した物をセットしておくと見つけやすいです。
|
14
|
+
|
15
|
+
プログラムが単体起動のみなら、GUIDを決め打ちして良いと思います。
|
16
|
+
複数起動するなら、GUIDを毎回生成し、Delphi7プログラム起動時のコマンドラインで渡すと重複を避けられます。
|
17
|
+
|
18
|
+
---
|
19
|
+
追記2
|
20
|
+
|
21
|
+
と、ここまで書いておいて 追記・修正欄にTDdeServerConv等の記述があるのに気づきました・・・
|
22
|
+
単純にいままで通りDDE通信で連携できないのでしょうか?(DDEは古代から伝わるアプリケーション間通信機能です)
|
23
|
+
私は.netでDDE使用経験はないのですが、検索すると直接WindowsAPIを直接使用しなくても良いライブラリ(NDde等)あるようです。
|