2009-08-24 6 views
1

Ich verwende Python zum Erstellen eines lokalen COM-Servers. Tatsächlich ist der gesamte COM-Teil in einer DLL implementiert und mein Python-Skript ruft diese DLL dank ctypes auf. Es funktioniert, wenn ich das Skript manuell ausführe.Wie starte ich einen COM-Server in Python implementiert?

Ich möchte meinen Server automatisch ausgeführt, wenn ein COM-Client es anfordert. Ich weiß, dass es möglich ist, indem Sie die Befehlszeile als Wert des Registrierungsschlüssels LocalServer32 angeben.

Leider kann ich nicht sehen, Windows richtig mein Python-Skript läuft. Ich habe versucht, Python und Pythonw mit ähnlichen Problemen zu verwenden. Es scheint, dass Windows ein "-Embedding" -Flag zur Befehlszeile hinzufügt und ich vermute, dass es ein Problem für Python sein kann.

Irgendwelche Ideen?

Kann jemand das "-Embedding" -Flag in der Befehlszeile vermeiden?

Antwort

0

Das Flag "-Embedded" ist added by COM automatically, dessen Zweck es ist, dass die Serveranwendung dieses Flag parsen kann, um festzustellen, dass es von COM ausgeführt wurde.

COM fügt die „Embedding“ Flagge zu die Zeichenfolge, so dass die Anwendung, die Fähnchen die ganze Reihe und überprüfen Sie die Embedding-Flag analysieren müssen. Das folgende Codebeispiel zeigt die Einstellung für diesen Wert .

Sie müssen dies in Ihrem Server-Code behandeln.

+0

Das Flag "-Embedded" wurde von meinem Skript schlecht gehandhabt. Es funktioniert jetzt gut. Danke für Ihre Hilfe – luc

Verwandte Themen