我使用下面的代碼來引用外殼DLL shell界面參考使用Windows .NET 4.0
Type t = Type.GetTypeFromProgID("Shell.Application");
Shell s = (Shell)Activator.CreateInstance(t);
Console.WriteLine("success");
Console.ReadLine();
它正常工作在我的Windows當我嘗試在2003年贏得運行的exe 7開發machine.But服務器我得到這個例外
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#: Referencing a windows shell interface但沒有運氣。
我使用微軟殼牌控制和自動化參考這是Interop.Shell32 DLL
如果有人能夠引導它會非常有幫助引用外殼。
這是老了,我不認爲GUID的已經改變了,但誰知道參考。在該機器上運行regedit.exe並導航到HKCR \ Shell.Application。驗證CLSID鍵值是{13709620-C279-11CE-A49E-444553540000} –
有一個更簡單的解決方案,請參閱http://stackoverflow.com/a/24967301/625349 –