双击打开多个文件时如何在同一例程中打开?

IfI 2007-11-25 10:35:31
我写了一个多文档的程序,关联了几个类型的文件,现在已经实现了双击关联打开,但是打开的时候都是新启动一遍例程,以至于双击了多少次,程序便打开了多少次
而我想要的效果是类似于VC那样,多次打开文件都在同一个例程内动作。

请问如何实现?急,请帮忙。
...全文
266 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
麻浦区保安 2012-09-26
  • 打赏
  • 举报
回复
我也是需要实现这种效果,双击文件后直接打开 再双击直接在刚才那个程序立在打开而不需要重新开一个程序
tjxisuo 2007-11-25
  • 打赏
  • 举报
回复
可以问楼主个问题吧
怎么实现关联几个类型的文件,我在reg和rc中改了下面的:
HKEY_CLASSES_ROOT\.dxx = Draw.Document
HKEY_CLASSES_ROOT\.txx = Draw.Document
HKEY_CLASSES_ROOT\Draw.Document\shell\open\command = Draw.EXE %1
HKEY_CLASSES_ROOT\Draw.Document\shell\open\ddeexec = [open("%1")]
HKEY_CLASSES_ROOT\Draw.Document\shell\open\ddeexec\application = Draw
HKEY_CLASSES_ROOT\Draw.Document = Draw.Document

IDR_DrawTYPE "\nDraw\nDraw\nDXX Files (*.dxx)\n.dxx\nDraw.Document\nDraw.Document"
IDR_GCodeTYPE "\nDrawGCode\nDrawGCode\nTXX Files (*.txx)\n.txx\nDraw.Document\nDraw.Document"

然后双击文件时,出现“windows找不到文件D:\fg.dxx.请确定文件名是否正确后,再试一次。要搜索文件,请单击[开始]按钮,再单击[搜索]。”但这时,我程序打开了。然后再次双击文件,就可以打开。关掉程序再双击就不行。

是不是还有什么没改对的?
IfI 2007-11-25
  • 打赏
  • 举报
回复
楼上的,第一步我会做,关键在于第二步。

“如果已经运行就在已经运行的的程序里打开你的文件”
这步怎么做?请详细些说说好吗。
weiym 2007-11-25
  • 打赏
  • 举报
回复
启动程序时检测下自己的程序是不是已经在运行了,如果已经运行就在已经运行的的程序里打开你的文件了
captain_x 2007-11-25
  • 打赏
  • 举报
回复
mark
IfI 2007-11-25
  • 打赏
  • 举报
回复
程序只允许打开唯一实例且所有关联文档都在同一实例内打开的一揽子解决办法.
http://blog.csdn.net/IfI/archive/2007/11/25/1902012.aspx


解决了,结贴.
weiym 2007-11-25
  • 打赏
  • 举报
回复
恩,可以发个消息,比如WM_COPYDATA,可以把你的文件路径传过去。
或者把你的文件路径写入注册表,再发个自定义的消息过去,程序收到这个消息再读注册表。
303afei 2007-11-25
  • 打赏
  • 举报
回复
楼上的,第一步我会做,关键在于第二步。

“如果已经运行就在已经运行的的程序里打开你的文件”
这步怎么做?请详细些说说好吗。

可以自己给已经运行的进程发一个消息传过命令行参数去
IfI 2007-11-25
  • 打赏
  • 举报
回复
楼上的,我直接用了一个人写好的函数,瞬间搞定,没出现问题。
见此链接。
http://vcer.net/6446.html

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧