Windows Shell 程序
2015-05-29 19:41
411 查看
关于Windows Shell的资料
Windows ShellCreating Shell Extension Handlers
Shell API Reference
Shell Developer’s Guide
(转)windows shell 编程
我的处理方式
写一个命令行程序(Console).传入的参数是 文件夹名称 或者 文件名称.
将这个程序加到右键菜单.
这样就不用看那一堆英文资料了…
主要是将对应的命令行程序加入注册表就行了.
文件夹右键菜单:
[HKEY_CLASSES_ROOT\Directory\shell\FileFolderMenu\command]“X:\Path\Test.exe” “%1”
写入注册表之后,鼠标右击文件夹的时候,[FileFolderMenu]出现在右键菜单中.右键菜单触发的时候,传入的第二个参数是一个文件夹路径.
如果想传入一些其他固定参数,可以 “X:\Path\Test.exe” “arg1” “%1”
这样传入的第二个参数为arg1 第三个参数为文件夹路径
command的值 每一个选项都要用双引号括起来,用空格分割.
想设置右键菜单的Icon图片,就在
[HKEY_CLASSES_ROOT\Directory\shell\FileFolderMenu]下
设置一个名称为icon,值为X:\Path\Test.exe
这样右键菜单的图标就是Test.exe的图标
文件的右键菜单:
同上 只不过注册表路径不同.[HKEY_CLASSES_ROOT\*\shell\FileMenu\command]
在点击任意文件的时候,右键菜单会出现[FileMenu]
下面是我写的一个批处理文件. ^.^
批处理文件
@echo off set Path=%cd% set Reg_Cmd=%SystemRoot%\System32\reg :: 文件 %Reg_Cmd% add HKEY_CLASSES_ROOT\*\shell\Encrypt\command /f /d "\"%Path%\FyTools.exe\" \"Encrypt\" \"%%1\"" %Reg_Cmd% add HKEY_CLASSES_ROOT\*\shell\Encrypt\ /f /v icon /d "%Path%\FyTools.exe" %Reg_Cmd% add HKEY_CLASSES_ROOT\*\shell\Decrypt\command /f /d "\"%Path%\FyTools.exe\" \"Decrypt\" \"%%1\"" %Reg_Cmd% add HKEY_CLASSES_ROOT\*\shell\Decrypt\ /f /v icon /d "%Path%\FyTools.exe" :: 文件夹 %Reg_Cmd% add HKEY_CLASSES_ROOT\Directory\shell\Encrypt\command /f /d "\"%Path%\FyTools.exe\" \"Encrypt\" \"%%1\"" %Reg_Cmd% add HKEY_CLASSES_ROOT\Directory\shell\Encrypt\ /f /v icon /d "%Path%\FyTools.exe" %Reg_Cmd% add HKEY_CLASSES_ROOT\Directory\shell\Decrypt\command /f /d "\"%Path%\FyTools.exe\" \"Decrypt\" \"%%1\"" %Reg_Cmd% add HKEY_CLASSES_ROOT\Directory\shell\Decrypt\ /f /v icon /d "%Path%\FyTools.exe" @pause
不足的地方
使用的时候,会有一个黑窗口(console)一闪而逝…%2% .. 这个看到了 没去找资料.. 没测试..
这个菜单,不知道怎么将多个合并成一个. 比如svn 或者hg那种.我这种方式还是慎用.别把右键菜单搞的跟裹脚布似得.
如果选择 几个文件和几个文件,这种时候,是分别调用这个程序.不是一次性. (也不知道用msdn的方式能不能做到一次处理).
批处理时候,添加中文会乱码
我就知到这些了.
相关文章推荐
- PowerShell Azure 常用命令
- Shell 基本命令
- shell数组的使用
- shell数组的使用
- bash:haoop:command not found
- shell 第一站 创建shell脚本
- linux -- ubuntu dash bash
- Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:145
- shell grep详解
- Makefile 函数大全
- centos shell命令行只显示-bash-4.1#不显示用户和路径解决方法
- shell调用awk(转)
- 使用adb shell dumpsys检测Android的Activity任务栈
- adb shell 启动,停止 android 应用程序
- SharePoint PowerShell部署开发好的WebPart到服务器上
- SharePoint PowerShell创建一个GUID
- linux shell
- Linux 日常复杂Shell 脚本整理
- 关于Linux Shell的信号trap功能你必须知道的细节
- bash将执行结果保存为变量