在文件夹中运行程序

时间:2013-09-16 06:53:56

标签: c# windows shell shell-extensions

当您将GUID分配给文件夹的名称时,我看到了例如:

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

现在我想在访问具有指定guid的文件夹时使用该系统打开C#程序。我查了一下godmode键,我在注册表中找到了一个引用

HKEY_CLASSES_ROOT\CLSID\{key}

我在注册参考中找到了以下数据:

HKEY_CLASSES_ROOT\CLID\{key} : (Standard) REG_SZ = "AllTasks"
HKEY_CLASSES_ROOT\CLID\{key} : InfoTip REG_EXPAND_SZ = "@%SystemRoot%\system32\shell32.dll,-32538"
HKEY_CLASSES_ROOT\CLID\{key} : LocalizedString REG_EXPAND_SZ = "@%SystemRoot%\system32\shell.dll,-32537"
HKEY_CLASSES_ROOT\CLID\{key} : System.AppUserModel.ID REG_SZ = "Microsoft.Windows.ControlPanel"
HKEY_CLASSES_ROOT\CLID\{key}\DefaultIcon : (Standard) REG_EXPAND_SZ = "%SystemRoot%\System32\imageres.dll,-27"
HKEY_CLASSES_ROOT\CLID\{key}\InProcServer32 : (Standard) REG_EXPAND_SZ = "%SystemRoot%\System32\shell32.dll"
HKEY_CLASSES_ROOT\CLID\{key}\InProcServer32 : ThreadingModel REG_SZ = "Apartment"
HKEY_CLASSES_ROOT\CLID\{key}\ShellFolder : (Standard) REG_SZ = (no value)
HKEY_CLASSES_ROOT\CLID\{key}\ShellFolder : Attributes REG_DWORD = 0x20100004
HKEY_CLASSES_ROOT\CLID\{key}\ShellFolder : WanrsFORDISPLAY REG_SZ = ""

重要的是我希望程序或shell扩展在文件夹浏览器中运行,就像控制面板一样。

1 个答案:

答案 0 :(得分:0)

这是通过创建Shell Extension来完成的,特别是通过创建Folder View。这个主题过于宽泛,无法深入探讨如何从头到尾创建一个,但也许知道正确的术语并拥有这些链接至少可以帮助您入门。

请注意,如果要使用.NET编写shell扩展Microsoft only officially supports using .NET 4.0 or newer来编写shell扩展。这是因为4.0是并排支持进程内的版本。