我在利用WM_COPYDATA实现进程间通讯时
需要一个对话框程序向一个单文档程序发送消息在对话框程序里想用HWND CWnd::FindWindow(LPCTSTR classname, LPCTSTR caption),获得单文档程序窗口的句柄我在单文档程序的PreCreateWindow里 SetTitle("MyApp");
然后在对话框程序里用::FindWindow(NULL,"MyApp");
这样是可以的。但在单文档程序打开一个文件后,标题发生了变化,上边的FindWindow()就返回NULL了这种情况下问题怎样解决
如果是利用classname,我试了试FindWindow("CMainFrame",NULL);不行
用AfxRegisterClass(),注册过也不行实在搞不定了
望高手指点一二

解决方案 »

  1.   

    如果你不想让系统自动帮你把文档的文件名添加到标题栏中,需要在 CMainFram 的 PreCreateWindow 函数中删除 FWS_ADDTOTITLE 标志的窗口样式:    cs.style &= ~FWS_ADDTOTITLE ;    这样,程序运行起来,窗口标题就是 "MyProgram" 而没有后面的 "- 文档 1.txt" 这样的字符串了。 
      

  2.   

    1、单文档工程的classname不对。你用spy++看看classname是什么再用FindWindow。
    2、自定义单文档工程的标题就好了,搜一下论坛,有以前提过问题的。
      

  3.   

    http://sanjianxia.diy.myrice.com/vc/vc40.htm