我如何开始编写Windows shell扩展?

2 c# c++ windows windows-shell

我正在考虑编写一个shell扩展,所以当单击一个文件时,可以对它执行一个动作.(像任何其他上下文菜单:))

在上下文菜单中插入新菜单项并对一个或多个文件执行操作所需的最小值是多少.比较的例子是我选择了10个文件和Send to Zip.

我读到编写一些非托管代码是必需的,但我对c ++非托管代码的知识大约为零所以我想尽可能少地在Windows上下文菜单中获取菜单项(文件>右键单击).之后,我想调用一个C#控制台应用程序来进行主处理,那么是否可以从非托管代码调用ac#console app?

另外,我需要什么类型的visual studio项目来创建Windows Shell程序?我可以选择哪种项目类型:

  • Win32控制台应用程序
  • MFC应用程序
  • Win32项目
  • ATL项目
  • MFC DLL
  • CLR控制台应用程序
  • 班级图书馆
  • Makefile项目
  • MFC ActiveX控件
  • Windows窗体控件库

干杯

Kev*_*ose 5

这篇MSDN文章将帮助您入门.

您生成进程(用托管代码编写)来完成shell扩展的实际工作的方法应该没问题.我建议只通过CreateProcess将所选文件作为命令行参数传递.

至于项目类型,您将需要生成Win32动态链接库(DLL).在2005年,实际上有一个Win32 Dll项目类型.使用2008(我推断您正在使用),您应该创建一个Win32项目,然后在结果向导中选择DLL作为应用程序类型.