Wie kopiere ich ein Bild und text in die Zwischenablage, wie ein Objekt?
Ich versuche zu kopieren ein Bild aus einer Datei und text aus einer Datei in die Zwischenablage. Meine Absicht ist es, dann öffnen Sie ein word-Dokument oder in einer outlook-E-Mail und fügen den text und das Bild in einem standard-Befehl einfügen (STRG-V zum Beispiel). Ich kann beides separat leicht genug, aber tun Sie beides in einem Vorgang scheint nicht zu funktionieren.
Dies ist, wie ich habe die beiden arbeiten als separate Operationen (nur die relevanten code-Zeilen natürlich mit try/catch gezupft usw.):
Hinzufügen Bild in die Zwischenablage:
...
Bitmap imageToAdd = new Bitmap(imageFilePath);
Clipboard.SetImage(imageToAdd);
...
Fügen Sie Text in die Zwischenablage:
...
StreamReader rdr = new StreamReader(textFilePath);
string text = rdr.ReadToEnd();
Clipboard.SetText(text);
...
Ich bin mit c# und .net 2.0-framework und auf Windows XP (und wahrscheinlich auch Vista in der nahen Zukunft).
TIA
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bemerkte ich nur ein Objekt kann übergeben werden.
In diesem Fall drückt der Benutzer den Befehl einfügen, die Ihr code ausführen könnte zwei Funktionen, oder eine Funktion rekursiv, und jedes mal bekommen die Daten, die Sie möchten, und fügen Sie es in.
So, betrachte Schleife oder Rekursion.
Den Sie verwenden konnten, RTF, könnte kombinieren von text und Grafiken. Beachten Sie, dass Sie CF_BITMAP und CF_TEXT in die Zwischenablage zur gleichen Zeit. Aber es ist nicht nützlich. Sie würden sich der text beim einfügen in den Editor, die Sie bekommen würde, wird die bitmap beim einfügen in Paint, und die meisten anderen Anwendungen wählen Sie eine oder das andere, aber nie beide. So ist es nur von akademischem Interesse. Irgendwie nett, in der Weise, dass die transporter-Störungen bei Star Trek waren ordentlich. Aber auch chaotisch.
Vielleicht könnten Sie SetDataObject, die erfordert ein Object-parameter, den Sie verwenden konnten, ein Objekt-array?
Objekt-array könnte halten Sie Ihre erforderlichen Daten ein.
Finden Sie unter diesem link:
http://msdn.microsoft.com/en-us/library/5b8kt5z4.aspx