我正在使用以下代码来引用 shell dll
Type t = Type.GetTypeFromProgID("Shell.Application");
Shell s = (Shell)Activator.CreateInstance(t);
Console.WriteLine("success");
Console.ReadLine();
它在我的 Windows 7 开发机器上运行良好。但是当我尝试在 Win 2003 服务器上运行 exe 时,我得到了这个异常
Unable to cast COM object of type 'System.__ComObject' to interface type 'Shell3
2.Shell'. This operation failed because the QueryInterface call on the COM compo
nent for the interface with IID '{866738B9-6CF2-4DE8-8767-F794EBE74F4E}' failed
due to the following error: No such interface supported (Exception from HRESULT:
0x80004002 (E_NOINTERFACE)).
我从C# 获得了一些帮助:引用 Windows shell 界面但没有运气。
我正在使用 Microsoft Shell 控件和自动化参考来引用 shell,即 Interop.Shell32 dll
如果有人可以指导它会非常有帮助。