subject_16850.htm
来自「一些关于vc的问答」· HTM 代码 · 共 24 行
HTM
24 行
<p>
序号:16850 发表者:知了 发表日期:2002-10-04 21:21:25
<br>主题:两个进程,其中一个如何用FindWindow函数获得另一个进程中CMainFrm的句柄并向其发送消息
<br>内容:要在两个程序中发消息,我用CWnd::FindWindow(LPCTSTR lpszClassName, LPCTSTR lpszWindowName )查询另外一个程序中CMainFrame的句柄,然后向这<BR>窗口发消息,FindWindow有两个参数,可我只能用第二个参数,即传入要查询<BR>进程中的mainfrm的title可以获得该句柄,但由于title会变化,所以不方便,<BR>但我无法通过输入第一个参数获得该句柄,即传入CMainframe的的ClassName,<BR>但没有用,这是为什么!<BR>盼大侠出手,在线等!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Norton AntivVirus 回复日期:2002-10-05 12:04:39
<br>内容:在MyCpp.h中定义:<BR>HANDLE hMutex;<BR>~CMyCpp();<BR><BR>在MyCpp.Cpp中添加析构函数:<BR><BR>CMyCpp::~CMyCpp()<BR>{<BR> CloseHandle(hMutex);<BR>}<BR><BR>InitInstance()函数中加入代码:<BR>hMutex = CreateMutex(NULL, FALSE, "MYAPP");<BR><BR>在你要查找的程序中:<BR>HANDLE hMutex = NULL;<BR>hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, "MYAPP");<BR>if(hMutex)//Find the window<BR>{<BR> ..............<BR>}<BR>else<BR>{<BR> ...........<BR>}<BR><BR>这种利用核心对象的方法可以避免当两个窗口名字一样的时候,找错窗口,并且不怕窗口改名字!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Norton AntivVirus 回复日期:2002-10-05 12:28:00
<br>内容:你要在程序运行时,注册你的程序,这样才能用第一个参数:<BR><BR>RegisterClass or RegisterClassEx 用这两个函数注册;<BR><BR>你的窗口Title改变时,将名称写入注册表,记录当前的Title,使用的时候就去注册表中读当前的Title就可以了!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:知了 回复日期:2002-10-07 20:56:30
<br>内容:可以了,谢谢Norton AntivVirus !<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?