Windows如何“打开”工作?

时间:2010-03-14 14:11:56

标签: windows dde

我的印象是,当您双击某个文件(或从右键菜单中选择“打开方式”)时,Windows只会以文件名作为参数调用该应用程序。像这样:

C:\> App.exe file.abc

但是,我只是双击.xls文件,然后检查出现的Excel实例的PEB。令我惊讶的是,命令行包含文件名作为参数。

这让我感到疑惑。 Windows用于使相关应用程序打开文件的机制究竟是什么?是否有一个特殊的API,每个支持此类工具的应用程序必须公开?

2 个答案:

答案 0 :(得分:6)

Windows如何将文件传递给程序因应用程序而异。此行为是controlled by the registry

对于Excel,他们使用所谓的DDE来达到目的。这就是为什么你在命令行上看不到任何东西。

答案 1 :(得分:-1)

文件名并不总是作为实际参数传递。

您自己拥有与ur registry中某些特定文件类型相关联的程序列表。系统会检查文件扩展名,然后启动与之关联的进程。但始终传递它作为参数不为真。操作系统有自己的架构来从程序集中调用程序。