2009-08-06 4 views
1

J'utilise CreateObject(progId) en Vb pour créer un pdfDOcument. Mais le problème est qu'après que j'ai fini et que je ferme le document et que je publie, comment puis-je arrêter le processus?vb.net Comment puis-je tuer l'application que j'ai créée en utilisant createObject()

Comment puis-je référencer le processus et savoir s'il était déjà ouvert par l'utilisateur avant de créer l'objet? Et comment puis-je tuer le processus si le processus n'était pas en cours d'exécution avant de créer l'objet (pdfDocument)?

Y a-t-il de meilleures stratégies que d'utiliser CreateObject()?

+0

CreateObject ne crée pas d'application/de processus. Il instancie juste un objet automation avec le ProgID. C'est probablement pourquoi vous n'avez reçu aucune aide. La question concerne vraiment l'emballage "AcroExch". –

Répondre

1

La solution que nous avons trouvée consiste à créer l'objet d'application avant de créer l'objet d'une application.

Par exemple:

dim objApp as object = CreateObject("AcroExch.App") 
dim objDoc as Object = CreateObject("AcroExch.document") 

... 
objApp.CloseAllDocuments() 

System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp) 
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDoc) 

Mais la prochaine fois que je vais jamais utiliser CreateObject. Je vais essayer d'utiliser des classes de structure (en particulier les Runtime et Reflection pour de tels exemples).

Questions connexes