CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

请问一个WORD文件是如何被WORD程序打开的,请各位从系统的角度分析一下

楼主coolfiry()2005-08-01 02:22:36 在 C/C++ / C++ 语言 提问

小弟对这个问题一直不解还请各位仁兄帮一下哈,100分哈 问题点数:100、回复次数:8Top

1 楼li1418(我很菜,我还笨)回复于 2005-08-01 02:50:54 得分 10

应该是系统文件关联吧  
  在注册表里作的喽,你双击一个文件,系统去找它的打开方式,找不到的时候就弹出个框框:Windows不能打开此文件......Top

2 楼killer1984(人在天涯)回复于 2005-08-01 07:29:18 得分 30

word文档有两种打开方式。  
  一个就是普通的通过word文件打开,比如双击文件时,windows资源管理器收到这个消息,调用窗口回调函数,这个函数查找注册表发现该类型打开工具(就是那个exe文件)于是以你双击的文件名为参数调用之。word程序打开后首先创建Application对象,然后执行COM加载项的处理和Normal.dot模板中定义的宏的处理,接着在Application对象中加入Documents(Document)对象,并调用其open方法打开文档(打开方法当然是调用文件处理api了),打开后根据word格式(多文档)分别读入不同节区并创建相应对象进行存储,同时触发open事件,执行处理代码。。。差不多打开就这样完成了。。。  
   
  另一种方式就是OLE方式了。对连接或嵌入的word对象进行双击,即可激活word程序对其进行处理,这个过程就是COM自动化的功劳了,具体过程稍稍有点复杂,你感兴趣可以找几本COM的书看看。激活之后的处理过程跟上面那个差不多,只不过少了一些步骤而已。Top

3 楼afx_swallow(足球和啤酒)回复于 2005-08-01 08:47:41 得分 10

我只知道双击图标,由系统找到相应的可执行程序,然后打开  
  楼上说的ole方式不是很懂Top

4 楼xsp919(末末)回复于 2005-08-01 09:11:05 得分 10

学习中~~~~~~~~~up`Top

5 楼Kenmark(fenix)回复于 2005-08-01 09:32:07 得分 10

ole是微软提供的一种应用程序接口只要提供接口的程序都可以在OLE中使用Top

6 楼sunlu_eric(天使预备役)回复于 2005-08-01 09:51:34 得分 10

这都是操作系统做的工作呀,例如:你可以便一个程序扩展名如果为".txt"就读它,如果为".dat"  
  就追加它,不是一样的么?  
  只不过那些工作是操作系统做的!Top

7 楼javaman8(javaman)回复于 2005-08-01 10:52:27 得分 20

当你在双击WORD文件时,在注册表里由于进行了关联winword   %1  
  其中的%1就表示你要找开的文件名,  
  你也可以在开始菜单里的运行里打     winword   d:\sss.doc  
  也是一样可以打开的.  
  当然另一种就是你在软件中打开了.  
  第一种只是在程序中多了一些处理过程而已Top

8 楼coolfiry()回复于 2005-08-01 18:21:02 得分 0

killer1984(人在天涯)   谢谢你的分析了Top

相关问题

  • 如何用vb编写将word文件转成txt或html文件的程序?
  • 如何用vb程序将word文件转换成web文件(不用word.application)
  • 可以把一个WORD文件导入程序中吗?
  • 如何在程序里面调用word打开文件啊?
  • 手工打开了一个word文件,请问,然后在程序中如何控制这个文件?
  • 如何在JBuider9中编写一个将word文件转换成PDF文件的应用程序。
  • 怎样用cb调用word或wordpad程序来打开一个文件
  • 有没有方法用程序比较WORD的文件实现改卷功能
  • 请问如何让服务器端自动运行程序生成Word文件?
  • 有没有方法用程序比较WORD的文件实现改卷功能

关键词

  • 文件
  • word
  • 文档
  • 系统
  • 执行
  • 打开
  • 双击
  • 程序
  • 调用
  • 注册表

得分解答快速导航

  • 帖主:coolfiry
  • li1418
  • killer1984
  • afx_swallow
  • xsp919
  • Kenmark
  • sunlu_eric
  • javaman8

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo