Articles of com

Convenção para passar BSTRs em funções COM de c # (interoperabilidade COM)

Estou escrevendo escrevendo uma API em COM em C ++ e também escrevendo um programa que consome essa API em C #. Minha pergunta é sobre semântica de gerenciamento de memory BSTR ao passar BSTRs em funções COM. Diga meu IDL parece: HRESULT SomeFunction([in] BSTR input); Atualmente esta function é implementada assim: HRESULT SomeFunction(BSTR input) […]

Chamando Shell32.dll do serviço Windows do .NET

Eu tenho uma biblioteca do .NET 4.0 que usa Shell32 e Folder.GetDetailsOf () para obter metadados de arquivos WTV. Eu tenho usado com sucesso com aplicativos Console e Windows Forms sem problema. Mas, por algum motivo, ao chamar o componente de um serviço .NET 4.0 do Windows, a chamada para iniciar a class Shell causa […]

MSHTML HTMLHeadElementClass COM Erro

Atualmente estou trabalhando com MS HTML para inserir um código JavaScript em sites. Fiz uma referência à Microsoft HTML Object Library e digite esse código. IHTMLDocument2 doc = BrowserHost.Document as HTMLDocumentClass; IHTMLElement head = (IHTMLElement) ((IHTMLElementCollection)doc.all.tags(“head”)).item(null, 0); IHTMLScriptElement scriptObject = (IHTMLScriptElement)doc.createElement(“script”); scriptObject.type = @”text/javascript”; scriptObject.text = TTS.TTSWebFactory.GetJavascript(); ((HTMLHeadElementClass)head).appendChild((IHTMLDOMNode)scriptObject); Eu recebo um erro na última linha […]

Como criar um object em c #?

Eu quero traduzir o seguinte código VB6 em c # If optHost(0).Value Then Set m_oScpiAccess = New IcSCPIActiveX.IcSCPIAccess Else sHost = txtHost.Text Set m_oScpiAccess = CreateObject(“Exfo.IcSCPIActiveX.IcSCPIAccess”, sHost) End If Eu usei o TlbImp.exe para criar wrappers para as classs COM e tentei: if (string.IsNullOrEmpty(host)) { // this works IcSCPIAccess = new IcSCPIAccess(); } else { […]

Como obter LINQPad para Dump () System .__ Referências ComObject?

Estou usando o LINQPad para desenvolver rapidamente pequenos aplicativos ArcObjects (uma biblioteca baseada em COM para o software ArcGIS da ESRI ) e tive sucesso em usá-lo para Dump() nas propriedades de objects COM que inicializo do .NET, mas qualquer Objetos COM que são obtidos de um object COM existente são simplesmente despejados como referências […]

Como ler COM TypeLib com C # ou C ++?

Minha empresa criou vários objects COM e eles estavam usando-os alegremente do .NET. Mas agora, nosso cliente quer mudar para o Java. Eu pensei que seria interessante usar JACOB ou j-interop (não sei qual deles) para algumas tarefas, mas o código resultante é bastante incontrolável. Por isso, quero escrever uma ferramenta que possa ler o […]

Solte o object COM em c #

Eu sei que isso já foi discutido anteriormente, mas não consegui encontrar uma resposta satisfatória. Eu tenho um arquivo de e-mail (.msg) que eu abro como abaixo e, em seguida, chamo Display. oApp = new Microsoft.Office.Interop.Outlook.Application(); mail = (Microsoft.Office.Interop.Outlook.MailItem)oApp.Session.OpenSharedItem(fileName); mail.Display(false); oApp = null; // do I need to release this object ? os usuários podem […]

O processo do Excel permanece aberto após a interoperabilidade; método tradicional não funciona

Eu estou correndo em um problema com algum código que estou depurando. A interoperabilidade do Excel é usada para extrair alguns valores de uma pasta de trabalho; no entanto, o Excel permanece aberto depois que o programa foi encerrado. Eu tentei a solução tradicional, mas ainda mantém uma referência ao Excel aberta em todas as […]

PowerPoint lançado via c # não é encerrado

Ei eu estou automatizando o PowerPoint e Excel de um aplicativo c # WinForms; O que eu faço é ler slides do PowerPoint e salvá-los no Excel e, em seguida, sair de ambos os aplicativos. O Excel é encerrado com êxito, mas o PowerPoints não é encerrado. O problema é quando eu converto primeira vez […]

Passar matriz de object COM C # para JavaScript?

Semelhante a este Como faço para retornar uma matriz de seqüências de caracteres de um object ActiveX para JScript, mas em C #. Eu tenho um controle COM que passa de volta uma matriz de seqüências de caracteres para javascript. Parece que o javascript não pode entender o que estou passando de volta e a […]