Articles of interop

Invia un messaggio a un processo di Windows (non la sua finestra principale)

Ho un’applicazione che all’avvio successivo rileva se esiste già un processo con lo stesso nome e, in caso affermativo, triggers la finestra dell’app in esecuzione e quindi esce. Il problema è che la finestra principale potrebbe essere nascosta (visibile solo l’icona dell’area di notifica), lasciandomi quindi senza maniglia della finestra. All’avvio, la proprietà MainWindowHandle dell’istanza […]

Scrivere una DLL in C / C ++ per l’interoperabilità .Net

Nella mia applicazione C #, vorrei scrivere una parte del codice in C. Ho intenzione di scrivere una DLL che sarebbe interoperabile con .Net. Come lo posso fare?

Non è ansible utilizzare l’object COM che è stato separato dal relativo RCW sottostante

Sto cercando di utilizzare OpcRcw.da.dll. Se io inserisco questa dll all’interno di un progetto di console di test, tutto funziona, ma se costruisco il progetto dll per eseguire la mia ginnastica interopica e rifare la mia libreria nel mio progetto di console, sto ricevendo questo errore: Non è ansible utilizzare l’object COM che è stato […]

.Net Interop di Excel Eliminazione di un foglio di lavoro

Sto cercando di eliminare un foglio di lavoro da un documento Excel da un’applicazione .Net c # 3.5 con la class di Excel di interoperabilità (per Excel 2003). Provo molte cose come: Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; worksheet.Delete(); Non funziona e non genera errori …

chiamare il codice gestito dal codice non gestito

Voglio chiamare il mio codice .NET da C ++ non gestito. Il mio processo di entrypoint è basato su .NET, quindi non devo preoccuparmi di ospitare il CLR. So che può essere fatto usando i wrapper COM per oggetti .NET, ma vorrei accedere ai singoli metodi statici delle classi gestite, quindi COM non è la […]

Rilascio di oggetti COM temporanei

Si consideri il seguente codice C # utilizzando un object COM. MyComObject o = new MyComObject; try { var baz = o.Foo.Bar.Baz; try { // do something with baz } finally { Marshal.ReleaseComObject(baz); } } finally { Marshal.ReleaseComObject(o); } Ciò rilascerà gli oggetti COM o e baz , ma non gli oggetti temporanei restituiti da […]

WinWord.exe non si chiuderà dopo aver chiamato Word.Documents.Add – Word .NET Interop

Sto entrando nello scenario classico in cui, durante la creazione di oggetti COM di Word in .NET (tramite l’assembly Microsoft.Office.Interop.Word), il processo WinWord non verrà chiuso anche se sto chiudendo e rilasciando correttamente gli oggetti . L’ho ristretto all’uso del metodo Word.Documents.Add (). Posso lavorare con Word in altri modi senza problemi (aprire documenti, modificare […]

Creare un evento C # kill per un’app vb6?

Ho una app VB6 che elabora per un tempo molto, molto lungo. Uccidere direttamente non è fattibile, quindi mi piacerebbe impostare una sorta di flag nell’app VB6. Se nella mia app C # decido di spegnerlo, vorrei triggersre questo flag per far sapere all’app VB6 che è stato richiesto un arresto. Ora, ho anche bisogno […]

Effettuare il marshalling di una collezione di byte big-endian in una struttura per estrarre valori

C’è una domanda interessante sulla lettura di una struttura dati C / C ++ in C # da un array di byte , ma non riesco a far funzionare il codice per la mia collezione di byte big-endian (byte di rete). (EDIT: Si noti che la mia vera struttura ha più di un solo campo.) […]

Interoperando tra Matlab e C #

Dopo aver sbirciato in Internet sembra che sia ansible effettuare il trapping tra C # e Matlab. Mi chiedo se qualcuno ha avuto successo con esso e cosa hanno fatto per farlo. Se ansible in qualche modo tirandolo fuori senza l’uso di COM. Grazie per il tuo tempo.