比如我在一个word文件上点右键后,弹出个菜单 里面有 打开 编辑 新建什么的 如果装了rar还会有压缩到.rar 我的问题是 当我在这个菜单上点击压缩到.rar后 我怎么查看他是怎么运行的这个命令 是不跟着动态库啊什么的
一、WINDOWS的软件到底调用了什么程序、函数,WINDOWS是不提供让你查询的服务的。它有这种简单保护机制,不提供查询的接口。
(也许有第三方软件可以查看,但我目前还不知道)
但基本原理就是这样:WINDOWS右键点击,首先要调用一个程序。比如老版本的WINDOWS在桌面点右键,属性,调用的可能就是“rundll32.exe”文件,然后rundell32再调用一些动态链接库(dll)文件。打一套组合拳,请出属性菜单。
为什么要组合拳?因为不同的文件,属性调用是不一样的,比如,桌面是桌面的属性,文件是文件的属性,文件夹是文件夹的属性。
根据你所调用的文件类型,WINDOWS给出不同组合的DLL来调用。
比如,文件夹和文件的属性调用的选项卡是不一样的。
文件的属性里一般有“详细信息”选项卡。
而文件夹右键属性里,则没有这个选项。
可见,虽然同样调用了某个EXE文件,但因为不同的程序,调用了不同的动态链接库(dll文件),所以显示的结果也不相同。
即使都是文件夹属性,不同的电脑可能设置不同,有的还根据各种设置决定是否出“安全”、“自定义”等选项卡(有的A电脑有安全选项卡,B电脑就没有,它设置的问题)。
这些设置,有的可以在注册表或者组策略,或者其他设置菜单中设置,有的WINDOWS不给你设置接口的,(比如文件夹的"详细信息"选项卡,用WINDOWS自带的各种方式,无论如何也设置不出来的)。
如果你想要了解WINDOWS的各类文件,DLL调用,这是门比较深的学问了,你可以慢慢琢磨,学习,不是一天两天就能了解的,别人也帮不了你太多忙。大家一般都在应用层学习,这种再深入一点的,深水区,游的人就越来越少了。普通网友对你的提问是无能为力了。
二、
第三方软件的右键调用。
这和各软件本身设置有关,一般这种右键菜单先在注册表中注册。
点击右键菜单后,对应的,注册表里有相应的执行程序及命令。
点击后,就调出这个程序开始执行命令,以下以 metadata 软件为例。
可以看到点击后它执行的命令为:
export to 文件夹路径\文件名.扩展名.xml
import from 文件夹路径\文件名.扩展名.xml
delete
是这三行命令。
这些都是在注册表里可以有对应的选项。
360在注册表中调用的程序是这个:
一长串的标识码。
顺藤摸瓜,可以找到它解压缩的调用命令是:C:\Program Files (x86)\360\360zip\360ZipExt64.dll
直接运行这个DLL是打不开的。
所以它内部是有个调用程序命令的,但是外人肯定它没必要告诉你调用的啥。
你也可以自建右键菜单。
在这个注册表目录下建这些个选项。注释名称就是你右键菜单的文字显示。
COMMAND下面就是执行命令的程序路径和名称。
因为我只填写了右键名,没有填写程序名,所以就会出现这样的对话框: