Как распечатать на консоль из библиотеки COM, вызванной с помощью Activator из кода .NET?

В системе есть COM-объект dll, зарегистрированный с помощью regsvr32, который делает foo()

Но как я могу напечатать из него? например Я ничего не вижу, если я просто printf("test"); от него.

Я получаю свой ком объект от progid

let A<'T> progid =
Activator.CreateInstance
( Type.GetTypeFromProgID progid )
:?> 'T

и вызвать метод одинаково myObj.foo()

1

Решение

Ты можешь позвонить AllocConsole Сначала откройте окно консоли в приложении с графическим интерфейсом.

Обратите внимание, что если вы сделаете это, добавьте следующие строки после AllocConsole вызов.

freopen ("CONOUT$", "w", stdout );
freopen ("CONERR$", "w", stderr );

Кроме того, вы можете перенаправить stdout / stderr в файл, выполнив это:

C:\> myprogram.exe > out.txt 2> err.txt
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector