Wie Sie in der Nähe von Pdf-Dateien aus C#
Ich versuche zu öffnen, 2 pdf-Dateien im Adobe Reader aus meinem C# - code. Nennen wir Sie A und B und A ist geöffnet, bevor B.
Wenn ich jetzt versuche, den Prozess zu beenden Zusammenhang mit Datei A Datei B auch geschlossen, weil Sie miteinander verbunden sind, um gleiche Prozess. Gibt es eine Möglichkeit die Datei zu schließen Ein, ohne schließen der Datei B.
Auch wenn ich erstmal versuchen, den Prozess zu beenden Zusammenhang mit Datei B , passiert nichts und die Datei B ist noch offen.
Wie gehe ich bei der Lösung der vorstehenden zwei Szenarien.
Habe ich den Griff der beiden Dateien. Gibt es eine Möglichkeit, ich kann schließen Sie den Griff
InformationsquelleAutor Pulkit Agarwal | 2012-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Klingt für mich wie Sie sollten mit der Interapplication Communication API für Acrobat, die die Einrichtung zum öffnen und schließen von Dokumenten. Was du machst, ist ziemlich unelegant im Vergleich mit dem, was Sie bekommen können mit IAC (pdf-Dokumentation hier).
InformationsquelleAutor plinth
finden Sie den Prozess der PDF-viewer von A durch folgenden code.
dann rufen Sie obige Methode.
so können Sie den Prozess der PDF-viewer.
aber das wil auch schließen, Datei b, weil der gleiche Prozess ist verbunden mit Datei B . Ich möchte nicht, dass die Datei b zu schließen .
Ok ich habe es. es gibt eine Lösung für, die müssen Sie schließen und erst dann öffnen Sie nur B. bedeutet, dass zu einem Zeitpunkt nur einer PDF-Datei wird geöffnet. also kein Problem.
Wenn Sie Ihre Dateien in Ihre Anwendung, sollten Sie halten Sie auf den Dateinamen, die verwendet wurden, wie, in ein string-array, oder so: 'ungetestet air code Private _tmpFileList Als New ArrayList() Private Function createTempFile() As String Dim filename As String = _ System.IO.Pfad.GetTempFileName() _tmpFileList.Add(filename) End Function Private Sub cleanupTempFiles() Für Jeden Dateinamen Als String In _tmpFileLilst Versuchen die Datei.Löschen mit dem Namen " Catch-zu tun hier etwas für die FileNotFound-oder Datei öffnen Schließlich System.IO.Pfad.Delete(filename) End Try Next End Sub
InformationsquelleAutor Brijesh Patel
VERSUCHEN:
wenn (clsProcess."ProcessName".Enthält(name))
STATT:
wenn (clsProcess."ProcessName".StartsWith(name))
InformationsquelleAutor waliss I
Ich denke, ein Weg, um dies zu tun wäre, um zu finden, dass die Instanz von dem Programm, und schließen Sie es von Ihrer Anwendung aus. Hier ist ein Beispiel, wie finden Sie das Fenster und schließen Sie es: http://www.mycsharpcorner.com/Post.aspx?postID=32
Da hast du 2 Instanzen von Adobe reader öffnen, werden Sie wollen, um zu bestimmen, welche welche ist. Sie können suchen, indem Sie den text in den Rahmen. Wenn Sie eine Kopie von spy++ (oder einer ähnlichen alternative) es macht die Arbeit mit außen-GUI-Komponenten viel einfacher, weil Sie finden können so viel über, die Fenster, einschließlich der Namen, den Fenster-handle und mehr.
InformationsquelleAutor CodyC