Wie kann ich verhindern, dass die MS Graph-Komponente während Interop auftaucht?


0

Wenn Sie Office Interop in C# verwenden, wenn Sie ein Diagrammobjekt in ein MS Word-Dokument einfügen, wird die Grap-Anwendung sehr kurz geladen und verschwindet dann. Gibt es eine Möglichkeit, dies zu verhindern? Ich habe versucht, die Visible-Eigenschaft der Anwendungsinstanz auf "false" (ohne Wirkung) zu setzen.

BEARBEITEN: Die Visible-Eigenschaft wird wirksam, wenn sie bei Interpopping für Word verwendet wird, und sie nicht Pop-up. Ich würde erwarten, dass es einen ähnlichen Weg für MS Graph gibt.

1

Dies ist ein häufiges Verhalten für viele Komponenten in einer ausführbaren Binärdatei. Die Hostanwendung wird gestartet und führt den Job aus. Ich weiß nicht, ob es eine todsichere Möglichkeit gibt, das zu verhindern, da Sie weder die Komponente noch den Prozess kontrollieren können, bis die Anwendung gestartet wird und reagiert.

Ein Hack Ich versuchte in der Vergangenheit (für etwas völlig unabhängig) war einen Prozess zu starten und ständig feststellen, ob seine Hauptfenster erstellt wurde. Sobald es erstellt wurde, versteckte ich es. Sie können dies mit dem Hauptmodul der fehlerhaften Anwendung tun und hoffen, dass es schnell genug ist, um das Fenster zu verbergen, bevor der Benutzer dies bemerkt. Dann installierst du deine Komponente; Die Komponente wird in der Regel einen vorhandenen Prozess recyceln, hoffentlich die mit dem versteckten Hauptfenster.

Ich kann Ihnen nicht garantieren, dass dies in Ihrer Situation funktionieren wird, aber es ist einen Versuch wert es ist das Problem, das wichtig ist, oder wenn Sie einen besseren Weg natürlich nicht finden.