当前位置:编程学习 > C#/ASP.NET >>

如何用WPF做出word一样多窗口单进程的程序?

上边要我把程序做成跟word一样,能通过运行exe文件打开多个窗口,也就是任务栏上出现多个图标,但是进程还只有一个winword.exe。(当时看的是office 2007)。

查了许多国内外网站均未有收获,只有一处有提及(见下文),不知道是不是我搜的关键字不太合适。
分不多,处女问啊。

cnblog(不一定是真正出处)上有一篇《样章概览:WPF Application全局应用程序类(第12章部分内容)》
其中有:
12.2.3 单实例应用程序
单实例应用程序是指同一时刻只会有一个应用程序实例执行的应用程序,比如Microsoft Word,无论打开多少个文档,在进程中也只会看到一个WINWORD.EXE的进程,这个进程将控制所有己经打开的Word文档。默认情况下,一个WPF应用程序可以被打开多次,并产生多个进程,为了创建单实例应用程序,需要在Application类中编写一些代码。

但是此文下边就没有了,什么叫往Application类中编写代码啊?

而且word不同于一般的SDI,但又不是常见的MDI,任务栏上有多个图标,但是word菜单中的Window里又可以管理所有打开的word文档。

这是我实在没辙准备用的方法:
主窗体由Main函数show出来,每次先判断进程是否存在,如不存在就正常执行,存在就show个新的窗体,不执行新进程。同时在菜单项里加新文档的名字,菜单项目的单击事件再激活对应的窗体。。。可是这样太麻烦了。

处女问,分不多,感激不尽。 --------------------编程问答-------------------- 好问题,下班回去想想 --------------------编程问答-------------------- 谢谢!
引用 1 楼  的回复:
好问题,下班回去想想
--------------------编程问答-------------------- 开启时检测是否存在,已经存在则发送消息告知开启一个新的窗口~~最简单的方法吧 --------------------编程问答--------------------
引用 3 楼  的回复:
开启时检测是否存在,已经存在则发送消息告知开启一个新的窗口~~最简单的方法吧

+1 --------------------编程问答-------------------- 说到单实例,那就是 Microsoft.VisualBasic.dll 提供的 WindowsFormsApplicationBase 类

Microsoft官方例子:单实例检测示例
具体到C#:WPF Single Instance workaround --------------------编程问答--------------------
引用 3 楼  的回复:
开启时检测是否存在,已经存在则发送消息告知开启一个新的窗口~~最简单的方法吧


这个就是我说的那个实在没辙才用的方法了呀,需求上不只是开一个新窗口而已 --------------------编程问答-------------------- 这只是单例检测,并不能解决我的问题。
引用 5 楼  的回复:
说到单实例,那就是 Microsoft.VisualBasic.dll 提供的 WindowsFormsApplicationBase 类

Microsoft官方例子:单实例检测示例
具体到C#:WPF Single Instance workaround
--------------------编程问答-------------------- 非常感谢楼上各位的回复。
这里我重申一下需求:
1.多窗体,在任务栏上要显示多个窗体的标题
2.单进程
3.可通过菜单切换不同的窗体 --------------------编程问答--------------------
引用 3 楼  的回复:
开启时检测是否存在,已经存在则发送消息告知开启一个新的窗口~~最简单的方法吧

这个方法应该是可行的,我想到的也是这个方法,不过WPF好不好用不是很清楚

找到窗口句柄,用SendMessage发消息 --------------------编程问答-------------------- 我也遇到这个问题, 楼主 你是怎么解决的? --------------------编程问答--------------------
引用 10 楼 liyu_tiger 的回复:
我也遇到这个问题, 楼主 你是怎么解决的?

我还没解决呢哈哈哈哈,交给印度人了。等解决了回来告诉你
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,