2017-08-16 4 views
0

J'essaie d'automatiser l'application QXDM en python. Essayé en utilisant le module win32com.client. Voici le code que j'essaie, mais il n'ouvre pas l'application QXDM.L'application QXDM ne lance pas

from win32com.client import Dispatch 
    qxdm_instance = Dispatch("QXDM.QXDMAutoApplication") 

Lorsque j'imprime qxdm_instance, il donne la valeur: COMObject QXDM.QXDMAutoApplication

Mais QXDM application ne démarre pas. Je vois l'écran de démarrage de QXDM & il disparaît immédiatement. Quand je vais dans TaskManager, je vois QXDM.exe en cours d'exécution, mais pas d'interface graphique.

Une idée, pourquoi cela se passe-t-il?

Répondre

0

La manière standard de beaucoup de programmes est que s'ils ont commencé "automatisé" qu'ils sont démarrés invisibles. En outre, ils se terminent généralement lorsque les derniers objets COM sont hors de portée.

Les produits MS-Office se comportent de la même manière. Une fois qu'une instance est créée, vous devez définir une propriété Visible sur true pour l'afficher.

Mais les détails que vous obtenez par le développeur comme par le commentaire de Vinayak Wagh

Il y a un objet fenêtre de QXDM.QXDMAutoApplication

Mise à jour. L'attribut visible doit être appliqué à cet objet.

window=qxdm_instance.GetAutomationWindow() 
window.setVisible(True) 
+0

Essayé = 1 réglage qxdm_instance.Visible, mais donne l'erreur: AttributeError: la propriété 'QXDM.QXDMAutoApplication.Visible' ne peut pas être réglé. –

+0

Que ma réponse ne convient pas pour cela. Peut-être que la propriété est nommée différente. Lisez les docs. – xMRi

+0

Vérifiez les autres méthodes de cet objet, s'il y a une chose similaire à Visible ..., sinon il y a un chemin difficile. Vous pouvez modifier les indicateurs de lancement de l'application par l'automatisation OLE dans le registre. – xMRi