TheCracked 13 Geschrieben 12. Januar 2009 Melden Teilen Geschrieben 12. Januar 2009 Hi leute, bin zur zeit auf der suche nach einem tool oder nach einer Möglichkeit, die Zwischenablage von xp auszulesen und diese dann dementsprechend zu bearbeiten.. am besten sollte es so fuktionieren. die Zwischenablage sieht so aus. Firma name Adresse blablabla jetzt soll das "blablabla" und die darüberliegende Leerzeile abgeschnitten werden, dass nur noch die Adresse dort steht! wie setzt man so etwas am besten um? grüße Zitieren Link zu diesem Kommentar
NilsK 2.919 Geschrieben 12. Januar 2009 Melden Teilen Geschrieben 12. Januar 2009 Moin, mit dem Umweg über den Internet Explorer kannst du per VBScript auf die Zwischenablage zugreifen. Beispiele: Dateiname vom Explorer-Kontextmen ins Clipboard setzen http://www.it-administrator.de/magazin/download/ita0607-dateipfade.zip Gruß, Nils Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 12. Januar 2009 Autor Melden Teilen Geschrieben 12. Januar 2009 danke schon mal.. aber irgendwie komm ich mit den beispielen nicht so klar.. der 2te link den du mir gepostet hast.. das beispiel will irgendwie bei mir nicht.. -->Anweisung erwartet spuckt er mir aus.. ist es mit dem dann möglich, die Zwischenablage auszulesen? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 12. Januar 2009 Melden Teilen Geschrieben 12. Januar 2009 Hall The Cracked, Wenn nur die 2,3 und 4.-te Zeile stehen bleiben soll, dann hab ich dir hier in VB eine kleine Routinge geschrieben. Module Module1 Sub Main() Dim ClipIn As String = Windows.Forms.Clipboard.GetText Dim args(0) As String args(0) = "" Dim Zeile As Int32 Dim ClipOut As String = "" args = Split(ClipIn, vbCrLf) For Each arg As String In args Zeile += 1 If Zeile >= 2 And Zeile <= 4 Then 'Evtl. hier anpassen ClipOut += arg + vbCrLf End If Next Windows.Forms.Clipboard.SetText(ClipOut) End Sub End Module Wenn du es anpassen möchtest, kannst du dir die kostenlose VisualStudio ExpressVersion unter Microsoft Download Center (vb2005 o. 2008) runterladen und damit kompilieren cu blub ClipBoardCleaner.zip Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Teilen Geschrieben 14. Januar 2009 wo muss man deine Routine einbauen? wie schaff ich es dann, dass ich die Zwischenablage auslesen kann und es mir die letzen 2 Zeilen abschneidet? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. Januar 2009 Melden Teilen Geschrieben 14. Januar 2009 du kopierst z.B. mit STRG+C deinen Text aus mehreren Zeilen in die Zwischenablage und rufst anschliessend mein Programm auf. Dann kannst du den eingedampfte Inhalt der Zwischenablage mit STRG+V irgendwohin kopieren. Das Tool entfernt die erste Zeile, lässt Zeilen 2,3, und 4 stehen und schneidet das folgende blablabla ab. So hat sich die Anforderung für mich in deinem ersten Post angehört Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Teilen Geschrieben 14. Januar 2009 ah okey jetzt hab ich es verstanden.. funktioniert auch prima.. nur noch ein anliegen. es soll Zeile 1..2..3..4.. stehen bleiben und nur die letzen 2 zeilen von untern her gesehen weggeschnitten werden.. Also effektiv die adresse besteht aus 4 zeilen.. daruter kommen 2 unwichtige zeilen die abgeschnitten werden sollen. es kommt aber auch manchmal vor, dass die adresse aus 5 zeilen besteht.. das programm muss also von unten her einfach die letzen 2 zeilen abschneiden... grüße.. edit: bekommen beim kompilieren einen Fehler.. Der Name "windows" wurde nicht deklariert Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. Januar 2009 Melden Teilen Geschrieben 14. Januar 2009 du musst wahrscheinlich noch im VisualStudio (2005) im Menü Projekt -> Verweis den Verweisnamen "System.windows.Forms" aus den .Net-Komponenten hinzufügen Mit args.length bekommst du die Zeilenanzahl raus, allerdings gezählt ab Zeile 0. d.h. wenn du oben die for each Schleife ersetzt durch for dim i as int32 = 0 to (args.length)-2 ClipOut += arg + vbCrLf next müsste es eigentlich passen. cu blub Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Teilen Geschrieben 14. Januar 2009 hmm er bringt mir das der name "arg" nicht deklariert wurde.. und Ausdruck erwartet in der der for schleife "for dim".. hab auch schon das "for dim i" in "for dim arg" zu ändern aber das wars wohl auch nicht.. muss ich es so deklarieren? Dim arg as String ?? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. Januar 2009 Melden Teilen Geschrieben 14. Januar 2009 for i as int32 = 0 to (args.length)-2 ...sorry!!! Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Teilen Geschrieben 14. Januar 2009 Alsooo... bis jetzt sieht der code so aus.. Module Module1 Sub Main() Dim ClipIn As String = Windows.Forms.Clipboard.GetText Dim args(0) As String args(0) = "" Dim Zeile As Int32 Dim ClipOut As String = "" args = Split(ClipIn, vbCrLf) For i As Int32 = 0 To (args.Length) - 2 ClipOut += arg + vbCrLf Next Windows.Forms.Clipboard.SetText(ClipOut) End Sub End Module Jetzt hat er noch ein Problem mit +=arg =>Der Name "arg" wurde nicht deklariert. Hab einfach oben mal Dim arg As String = "" eingefügt.. ist das so korrekt? aber irgendwie ist dann nach dem ausführen des programms meine zwischenablage leer :P Auch das ändern von " For i As" in " For arg As" hat nicht geklappt.. hier stürzte das Programm ab. Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. Januar 2009 Melden Teilen Geschrieben 14. Januar 2009 so hab ichs jetzt getestet. Damit schneidet er immer die letzten beiden Zeilen aus der Zwischenablage ab Module Module1 Sub Main() Dim ClipIn As String = Windows.Forms.Clipboard.GetText Dim args(0) As String args(0) = "" Dim ClipOut As String = "" args = Split(ClipIn, vbCrLf) For i As Int32 = 0 To (args.Length) - 2 ClipOut += args(i) + vbCrLf Next Windows.Forms.Clipboard.SetText(ClipOut) End Sub End Module Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Teilen Geschrieben 14. Januar 2009 also wenn ich das so Compiliere, dann scheidet er gar nichts ab.. es bleibt alles wie es war.. ob ich jetzt 4 oder 6 Zeilen in der zwischenablage habe.. edit: wenn ich den wert -5 setze, funktioniert es. was genau macht diese zahl? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. Januar 2009 Melden Teilen Geschrieben 14. Januar 2009 bei mir gehts genauso. (??) Probier mal den Anhang aus ClipBoardCleaner.zip Zitieren Link zu diesem Kommentar
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Teilen Geschrieben 14. Januar 2009 ja so funktioniert es.. ist -2 in deinem Programm eingetragen? Danke schon mal für die ganze mühe ;) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.