odwołanie do interfejsu powłoki systemu Windows przy użyciu .net 4.0
Używam następującego kodu do odwołania do biblioteki DLL powłoki
Type t = Type.GetTypeFromProgID("Shell.Application");
Shell s = (Shell)Activator.CreateInstance(t);
Console.WriteLine("success");
Console.ReadLine();
Działa dobrze na moim komputerze programistycznym z systemem Windows 7. Jednak gdy próbuję uruchomić exe na serwerze Win 2003, otrzymuję ten wyjątek
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)).
Wziąłem trochę pomocyC #: Odwołanie do interfejsu powłoki systemu Windows ale nie ma szczęścia.
Odwołuję się do powłoki za pomocą Microsoft Shell Controls i odniesienia Automation, który jest dll Interop.Shell32
Jeśli ktoś może go poprowadzić, będzie naprawdę pomocny.