SAMPLE: FileAsso.exe 演示如何使用文件关联![]() 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。如果您发现了错误并希望帮助我们提高机器翻译技术,请完成文章末尾的在线调查。 点击这里察看该文章的英文版: 122787 (http://support.microsoft.com/kb/122787/en-us/)
本页概要
Windows 提供文件关联以便应用程序注册的支持文档类型。 这是因为它使用户可以双击或选择一个文档文件管理器来编辑它或打印有益。 由 ShellExecute() API 也支持文件关联。 文件关联还使用户可以打开多个文档与单个实例的应用程序通过文件管理器。
在 Windows 95 ShellExecute() 有更多好处。 更多信息可用于从 Microsoft 下载中心下载下列文件: FileAsso.exe (http://download.microsoft.com/download/platformsdk/sample19/1/w9xnt4/en-us/fileasso.exe)
有关如何下载 Microsoft 支持文件请单击下列文章编号以查看 Microsoft 知识库中相应:
119591 (http://support.microsoft.com/kb/119591/EN-US/) 如何从联机服务获取 Microsoft 支持文件
此文件进行病毒扫描 Microsoft。 Microsoft 使用最新病毒检测软件, 投递文件日期上的可用。 文件存储, 有助于防止对文件进行任何未经授权更改安全性增强的服务器上。 以下信息适用于 文件打开 和 文件打印 。 为了便于阅读, 是本文讨论 FileOpen@@ 来解释如何文件关联。
使用文件名当用户双击文档, 文件管理器调用 ShellExecute()。 ShellExecute() 检查注册数据库为一个条目相关联, 文件扩展名与特定应用程序。 如果项目存在并且未指定 DDE 命令, 然后 ShellExecute() 启动注册表中指定应用程序。 如果注册表指定要使用 DDE 命令, ShellExecute() 尝试与应用程序使用应用主题建立 DDE 对话。 如果应用程序响应 DDE 连接, ShellExecute() 将执行 DDE 命令, 作为注册表中指定。 向上向应用程序来定义此对话, 上细节是特别服务和主题名来连接到, 和也正确 DDE 执行命令语法以使用。 但是, 如果尝试建立会话失败, ShellExecute() 启动应用程序注册表中指定并尝试建立 DDE 连接再次。 当应用程序未运行, 适合文件打印这似乎没有一个多选项可。 在此选项, ShellExecute() 发送不同执行语句, 应用程序需要打开并打印该文档。 当完成打印, 它退出。 有用于应用程序可以打开多个文档通过单个应用程序实例通过文件关联两步骤 例如, 假设 AssocSupport MyApp 是应用程序, 该主题。 大多数应用程序使用 MyApp 作为他们应用程序名称和系统作为主题。
使用文件管理器来设置文件关联关联文件类型使用 文件管理器 , 时从 文件 菜单上选择 关联 。 关联对话框列出的现有文件关联。 此对话框允许您以添加新文件类型 (或文件关联)、 修改现有文件类型, 或删除现有文件类型。 新文件类型 按钮使用户得以添加为新文件扩展名关联。 下面是步骤:
WindowsNT 中使用 regedit 来设置文件关联注意 : Regedit 可只在 WindowsNT 中, 不在 Windows 3.1。用户可以还将文件与应用程序通过 regedit。 从 编辑 菜单, 选择 (要修改现有文件类型) 添加文件类型 或 修改文件类型 。 出现一个对话框类似于文件管理器关联对话框。 详见文件管理器执行相同步骤。 在 Windows 3.1, 定义通过此方法, 文件类型后转文件管理器关联对话框并附加到扩展名文件类型。 使用程序来设置文件关联也可以通过编程设置关联。 设置其他计算机上应用程序时这很有用。 通过安装程序可提供此功能。 首地做 (简单方法) 是使用 regedit 将合并文件中更改。 对于此语法是:
<filename> .reg 的示例是:
REGEDIT
HKEY_CLASSES_ROOT\.riy = FMA000_File_assoc
HKEY_CLASSES_ROOT\FMA000_File_assoc = File_assoc
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\command = fileasso.EXE
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec = [Open(%1)]
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\application
= Myserver
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\topic = system
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\command = fileasso.EXE
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec = [Open(%1)]
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\application
= MYServer
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\topic = System
HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\ifexec =
[Test(%1)]
通过使用注册表 API 也键添加到注册表程序, 中。 开发人员需要向注册数据库添加下列项:
// Your extensions. HKEY_CLASSES_ROOT\.riy = FMA000_File_assoc //File type name. HKEY_CLASSES_ROOT\FMA000_File_assoc = File_assoc // Command to execute when application is not running or dde is not // present and Open command is issued. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\command = fileasso.EXE // DDE execute statement for Open. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec = [Open(%1)] // The server name your application responds to. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\application = Myserver // Topic name your application responds to. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\topic = system // Command to execute when application is not running or dde is not // present and print command is issued. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\command = fileasso.EXE // DDE execute statement for Print. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec = [Open(%1)] // The server name your application responds to. HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\application = MYServer // Topic name your application responds to. HKEY_CLASSES_ROOT\FMA000_File assoc\shell\print\ddeexec\topic = System // DDE execute statement for print if the application is not already // running. This gives the options for a an application to Run, Print // and Exit. HKEY_CLASSES_ROOT\FMA000_File assoc\shell\print\ddeexec\ifexec = [Test(%1)] 参考
Windows SDK 程序员参考, Volume 1 章节 7, Shell 库或联机丛书。
窗口 3.1 SDK 帮助注册数据库, 文件, Shell 库函数。 章节 52, 注册表和初始化文件或联机丛书 Win 32 程序员参考, 第 2 卷。 Win 32 SDK 帮助文件和注册表初始化 文件管理器帮助文件。 REGEDIT.HLP REGEDT32.HLP 这篇文章中的信息适用于:
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 | 文章翻译
|

回到顶端
