您的位置:程序门 -> vc/mfc -> 进程/线程/dll



怎样使同一窗口只打开一次,且内容已经更新


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎样使同一窗口只打开一次,且内容已经更新
发表于:2007-05-24 16:48:56 楼主
我用a.exe调用b.exe,并传给b.exe一个文件名,b窗口上显示该文件。
当用a.exe再次传给b.exe另一个文件时,希望在b窗口上显示新的文件内容。但并不打开一个新窗口。
a.exe
int   handle   =   createprocess(null,   szcmdline,   null,   null,   false,   0,   null,   null,   &si,   &pi   );

b.exe
          hwnd   nfirst   =   null;
          ::enumwindows((wndenumproc)enumwindowsproc,   (lparam)&nfirst);

  if(nfirst   !=   null)
  {
  ::showwindow(nfirst,   sw_showmaximized);
  ::setforegroundwindow(nfirst);
  return   false;
  }
这样做能做到只打开一个窗口,但内容无法更新。
求教在不打开新窗口的情况下,更新内容的方法。
谢谢!

发表于:2007-05-24 16:56:351楼 得分:0
在b每次显示的时候读取a.exe提供的文件再显示文件内容
发表于:2007-05-24 16:58:202楼 得分:0
进程间通信的问题

ipc
发表于:2007-05-24 17:09:483楼 得分:0
或者能不能在nfirst!=null时,先关闭上一个窗口,再打开新窗口。如果可以,怎么做?
发表于:2007-06-03 03:02:344楼 得分:0
在a.exe里查看b.exe是否已经创建,如果已经创建,就不使用createprocess


快速检索

最新资讯
热门点击