Marshal.GetActiveObject () вызывает исключение MK_E_UNAVAILABLE в C #

Следующий код vbscript отлично работает:

Dim App 
Set App = GetObject("","QuickTest.Application")
App.Quit

Но когда я перевожу его в код C #, как показано ниже:

class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        object qtApp = Marshal.GetActiveObject("QuickTest.Application");
        (qtApp as QuickTest.Application).Quit();
    }
}

Я получаю исключение:

Необработанное исключение типа 'System.Runtime.InteropServices.COMException' произошло в mscorlib.dll

Дополнительная информация: (Исключение из HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

Я не Не думаю, что проблема связана с ROT, потому что код vbscript работает. Так что же не так с кодом C #?

14
задан TomCaps 12 October 2011 в 06:49
поделиться