Von c # möchte ich einen Prozess starten, der eine Textdatei in einem beliebigen Editor öffnet und den Cursor automatisch auf eine bestimmte Zeilennummer bewegt.
Ich kann eine Datei mit
öffnen %Vor%aber ich weiß nicht, wie man den Cursor an einer bestimmten Stelle in dieser Datei bewegt.
Beantworte mit dem Quellcode:
Ja, ich habe Notepad ++ verwendet
%Vor%Erhalte Notepad ++, dann kannst du das tun:
%Vor%In diesem Beispiel erhalten wir den Installationspfad von n ++ aus der Registry, build path to exe und readme.txt, öffnet eine eigene Datei readme.txt mit dem Cursor in Zeile 20. Die Verwendung von StringBuilder ist effizienter als die Verwendung mehrerer Anhänge (Erklärung irgendwo auf SO).
Die Lösung hängt sehr stark davon ab, welcher Prozess / Editor auf Ihrem System geöffnet ist. Dieser Editor müsste über eine Entwickler-API verfügen, mit der Sie auf Funktionen wie das Festlegen von Bereichen und das Ändern der Cursorposition zugreifen können. Wenn beispielsweise der Editor, der geöffnet wird, Microsoft Word ist, würden Sie das Word-Interop-API , um eine Auswahl an einer bestimmten Position festzulegen. Es gibt keine universelle Möglichkeit, dies in "jedem Editor" zu tun, da jeder eine eigene API (oder keine nach außen gerichtete API) hat.
Vielleicht gehen Sie das in die falsche Richtung. Ich bin mir nicht sicher, was Sie erreichen möchten, aber ich denke, es wäre viel einfacher, die Textdatei einfach in einem Editor zu öffnen, der zu Ihrer Anwendung gehört . Vielleicht ein anderes Formular mit einem WYSIWYG-Editor Steuerelement. Auf diese Weise haben Sie die volle Kontrolle darüber, wo der Cursor in diesem Editor landen wird. Ansonsten gibt es einfach zu viele Unbekannte für praktisch Machbare.
Tags und Links c#