![]() |
1
7
我为此挣扎了一段时间,由于X64问题和SDK的不同,我在代码项目文章中的成功是有限的。 我最近重新启动了这个项目,重新开始使用MS all-in-one 代码样本,我很高兴。它提供了一个简单的示例上下文菜单,X64可以开箱即用: http://code.msdn.microsoft.com/windowsdesktop/CppShellExtContextMenuHandl-410a709a 要让它在您的机器上运行:
我的下一步是让调试工作正常进行,我认为这可能会起到关键作用: msdn |
![]() |
2
1
在Windows 7 X64的C++扩展中,您需要将其构建为X64项目。在Visual Studio 2010中,ATL向导上有一个选项,用于创建提供预览窗口支持、缩略图和Windows搜索支持的shell扩展项目。我最近用过这个,一旦建成,似乎什么都没有发生。但是,切换项目配置以生成一个x64 dll使其工作正常。 关于使用.NET资源管理器,现在在单独的子进程中启动插件。因此,加载一个链接到.NET 4.0的shell扩展不会污染该.NET版本的所有内容,因为只有宿主子进程才会实际加载该clr。您可以在启动新进程(prevhost)以包含此内容时使用预览扩展来查看此内容。 |
![]() |
3
0
我让这个工作: http://www.codeproject.com/Articles/174369/How-to-Write-Windows-Shell-Extension-with-NET-Lang
确保使用正确的
(
但是,请注意 Microsoft recommends against using .NET for shell extensions . |
![]() |
4
0
您的“我能用c_吗”的简短答案是否定的。这是来自于Microsoft__的过程中扩展实现指南。”一个特别值得注意的运行时是公共语言运行时(clr),也称为托管代码或.NET框架。Microsoft建议不要将托管进程内扩展写入Windows资源管理器或Windows Internet Explorer,并且不将其视为受支持的方案。” 出现这个问题是因为只有一个.NET版本可以在应用程序中使用,并且如果使用多个.NET扩展,则无法强制执行该限制。 |