TheCracked 13 Geschrieben 12. Januar 2009 Melden 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
NilsK 3.046 Geschrieben 12. Januar 2009 Melden 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
TheCracked 13 Geschrieben 12. Januar 2009 Autor Melden 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?
blub 115 Geschrieben 12. Januar 2009 Melden 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
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden 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?
blub 115 Geschrieben 14. Januar 2009 Melden 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
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden 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
blub 115 Geschrieben 14. Januar 2009 Melden 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
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden 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 ??
blub 115 Geschrieben 14. Januar 2009 Melden Geschrieben 14. Januar 2009 for i as int32 = 0 to (args.length)-2 ...sorry!!!
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden 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.
blub 115 Geschrieben 14. Januar 2009 Melden 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
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden 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?
blub 115 Geschrieben 14. Januar 2009 Melden Geschrieben 14. Januar 2009 bei mir gehts genauso. (??) Probier mal den Anhang aus ClipBoardCleaner.zip
TheCracked 13 Geschrieben 14. Januar 2009 Autor Melden Geschrieben 14. Januar 2009 ja so funktioniert es.. ist -2 in deinem Programm eingetragen? Danke schon mal für die ganze mühe ;)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden