Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-04 #1 一个程序向另一个程序发消息<br>当接收的程序主界面为frmNormal时,没有问题,可以接收到<br>但是,当接收程序主界面为主从界面时,就接收不到,不知道怎么回事!
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-04 #2 注释:<br>发送的程序是<br>hwnd := FindWindow(nil,'接收主界面的名');<br>sendMessage(hwnd,WM_MESSAGE,0,Longint(PChar(@sData)));
注释:<br>发送的程序是<br>hwnd := FindWindow(nil,'接收主界面的名');<br>sendMessage(hwnd,WM_MESSAGE,0,Longint(PChar(@sData)));
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-04 #3 如果用主从界面的话,发送程序捕作到接收程序的句柄了,但接收不到消息
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-04 #4 接收程序是frmMDIForm与frmMDIChild结合的界面
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-04 #6 在98后,Windows的窗口HWnd会随hide,top_most等属性变化,<br>方法是每次得到新的HWnd即可!
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-04 #7 TO:wql<br>不是句柄的问题,我每次都得到新的句柄,问题是接收界面换成主从界面就不行!
B babyvs Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-06 #9 每个窗体都有自己的消息循环,自己的句柄. 你查找的句柄是主程序句柄,默认为主界面的句柄,所以你消息发给主界面接受肯定是正确的.你要发给子界面,你就要得到子界面的句柄.
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-06 #10 To:babyvs<br>你说的方法,我都做过,我取的就是主界面的句柄,但是不能接受消息。我还发现一个奇怪的现象。就是子界面不最大化的话,就可以接收到。但是只要最大化,就接收不到消息了!<br>不知道,有没有遇到这个问题!
To:babyvs<br>你说的方法,我都做过,我取的就是主界面的句柄,但是不能接受消息。我还发现一个奇怪的现象。就是子界面不最大化的话,就可以接收到。但是只要最大化,就接收不到消息了!<br>不知道,有没有遇到这个问题!
M madeagle Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-06 #11 其实在WINDOWS里,每个控件和窗口都有一个句柄,都可以看做一个窗口,<br>可以先找父类,再查找子类的句柄<br>你这个问题其实要找的应该就是子窗口的句柄,<br>再找子窗口里的各个控件的句柄来进行操作<br>完全扔开主窗口<br>看看这个可能对你有启发<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=3928297
其实在WINDOWS里,每个控件和窗口都有一个句柄,都可以看做一个窗口,<br>可以先找父类,再查找子类的句柄<br>你这个问题其实要找的应该就是子窗口的句柄,<br>再找子窗口里的各个控件的句柄来进行操作<br>完全扔开主窗口<br>看看这个可能对你有启发<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=3928297
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-13 #12 可能大家没有试一下!试一下,就知道里面的问题!<br>我还发现一个奇怪的现象。就是子界面不最大化的话,就可以接收到。但是只要最大化,就接收不到消息了!<br>希望大家试一下!很有意思!
Z zhtx Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-13 #13 把hwnd := FindWindow(nil,'接收主界面的名')这个换成<br>hwnd := FindWindow(类名,nil)试试!
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-19 #15 所以<br>在98后,Windows的窗口HWnd会随hide,top_most等属性变化,<br>*****方法是每次得到新的HWnd即可!