Irgendwann war mal so ein Thema... Habs mal umgesetzt
Hat jemand noch Vorschläge zur Verbesserung?
Spoiler anzeigen
#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]#include <GUIConstants.au3>
#include <GUIListView.au3>
HotKeySet("{PGUP}", "_show")
HotKeySet("{PGDN}", "_hide")
HotKeySet("^!{ESC}", "_terminate")
MsgBox(0, "Fenster anzeigen", "Pg Up zeigt das Fenster" & @CRLF & "Pg Down lässt es wieder verschwinden")
$Gui = GUICreate("Zwischenablage speichern Tool", 341, 271)
$Version = GUICtrlCreateLabel("Version 1.1", 275, 240, 57, 17)
$tree = _GUICtrlListView_Create($Gui, "Zwischenablage", 10, 16, 220, 240)
$col = _GUICtrlListView_SetColumn($tree, 1, "Zwischenablage", 220)
_GUICtrlListView_SetColumnWidth($tree, $col, 220)
$Kopieren = GUICtrlCreateButton("Kopieren", 240, 16, 81, 33, 0)
$Loeschen = GUICtrlCreateButton("Löschen", 240, 72, 81, 33, 0)
$Alleloeschen = GUICtrlCreateButton("Alles löschen", 240, 128, 81, 33, 0)
GUISetBkColor(0x075478)
GUISetState(@SW_HIDE)
$max = 1000
[/autoit] [autoit][/autoit] [autoit]$file = @ScriptDir & "\zwischenablage.txt"
If FileExists($file) Then FileDelete($file)
Global $additem[$max + 1], $tree, $selecteditem, $item
For $i = 1 To $max
$additem[$i] = ""
Next
$Zwischenablage1 = ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Kopieren
Local $item = _GuiCtrlListView_GetFocusedItem($tree)
ClipPut(_GUICtrlListView_GetItemTextString($tree, $item))
Case $Loeschen
$selecteditem = _GUICtrlListView_GetItemTextString($tree, $item)
$fileread = FileRead($file)
$filewrite = StringReplace($fileread, $selecteditem, "***DELETED***")
FileDelete($file)
FileWrite($file, $filewrite)
_GUICtrlListView_DeleteItemsSelected($tree)
Case $Alleloeschen
$msgbox = MsgBox(4, "Alles löschen", "Sind sie sicher, dass sie alles löschen wollen?")
If $msgbox = 6 Then
_GUICtrlListView_DeleteAllItems($tree)
FileDelete($file)
EndIf
EndSwitch
$Zwischenablage2 = ClipGet()
If $Zwischenablage2 <> $Zwischenablage1 Then _zwischenablageadd()
WEnd
Func _zwischenablageadd()
For $i = 1 To $max
If $additem[$i] = $Zwischenablage2 Then Return
Next
For $i = 1 To $max
If $additem[$i] = "" Then
FileWrite($file, @HOUR & ":" & @MIN & ":" & @SEC & " " & $Zwischenablage2 & @CRLF)
$additem[$i] = $Zwischenablage2
_GUICtrlListView_AddItem($tree, $Zwischenablage2)
$Zwischenablage1 = $Zwischenablage2
ExitLoop
EndIf
Next
EndFunc ;==>_zwischenablageadd
Func _GuiCtrlListView_GetFocusedItem($hWnd)
For $i = 0 To _GUICtrlListView_GetItemCount($hWnd) - 1
If _GUICtrlListView_GetItemState($hWnd, $i, $LVIS_FOCUSED) Then Return $i
Next
EndFunc ;==>_GuiCtrlListView_GetFocusedItem
Func _show()
GUISetState(@SW_SHOW)
EndFunc ;==>_show
Func _hide()
GUISetState(@SW_HIDE)
EndFunc ;==>_hide
Func _terminate()
Exit
EndFunc ;==>_terminate
//Edit//
BIsschen was verändert - keine Lust weiterzumachen
Hier der Code...
Spoiler anzeigen
#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]#include <GUIConstants.au3>
#include <GUIListView.au3>
HotKeySet("^!{ESC}", "_terminate")
[/autoit] [autoit][/autoit] [autoit];~ Input Box
[/autoit] [autoit][/autoit] [autoit]$inputhide = InputBox("Fenster verstecken", "Mit welcher Taste willst du das Fenster verstecken?")
If @error Then $hinputhide = HotKeySet("{PGDN}", "_hide")
$inputshow = InputBox("Fenster zeigen", "Mit welcher Taste willst du das Fenster zeigen?")
If @error Then $hinputshow = HotKeySet("{PGUP}", "_show")
$hinputshow = HotKeySet("{" & $inputshow & "}", "_show")
$hinputhide = HotKeySet("{" & $inputhide & "}", "_hide")
MsgBox(0, "Fenster anzeigen und verstecken", $inputshow &" zeigt das Fenster" & @CRLF & $inputhide &" lässt es wieder verschwinden")
MsgBox(0, "Fenster versteckt!", "Am Anfang ist das Fenster versteckt, du kannst es mit " & $inputshow & " zeigen!")
;~ Ende Input Box
[/autoit] [autoit][/autoit] [autoit]$Gui = GUICreate("Zwischenablage speichern Tool", 341, 271)
$Version = GUICtrlCreateLabel("Version 1.1", 275, 240, 57, 17)
$tree = _GUICtrlListView_Create($Gui, "Zwischenablage", 10, 16, 220, 240)
$col = _GUICtrlListView_SetColumn($tree, 1, "Zwischenablage", 220)
_GUICtrlListView_SetColumnWidth($tree, $col, 220)
$Kopieren = GUICtrlCreateButton("Kopieren", 240, 16, 81, 33, 0)
$Loeschen = GUICtrlCreateButton("Löschen", 240, 72, 81, 33, 0)
$Alleloeschen = GUICtrlCreateButton("Alles löschen", 240, 128, 81, 33, 0)
GUISetBkColor(0x075478)
GUISetState(@SW_HIDE)
$max = 1000
[/autoit] [autoit][/autoit] [autoit]$file = @ScriptDir & "\zwischenablage.txt"
If FileExists($file) Then FileDelete($file)
Global $additem[$max + 1], $tree, $selecteditem, $item, $inputhide, $inputshow, $hinputhide, $hinputshow
For $i = 1 To $max
$additem[$i] = ""
Next
$Zwischenablage1 = ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Kopieren
Local $item = _GuiCtrlListView_GetFocusedItem($tree)
ClipPut(_GUICtrlListView_GetItemTextString($tree, $item))
Case $Loeschen
$selecteditem = _GUICtrlListView_GetItemTextString($tree, $item)
$fileread = FileRead($file)
$filewrite = StringReplace($fileread, $selecteditem, "***DELETED***")
FileDelete($file)
FileWrite($file, $filewrite)
_GUICtrlListView_DeleteItemsSelected($tree)
Case $Alleloeschen
$msgbox = MsgBox(4, "Alles löschen", "Sind sie sicher, dass sie alles löschen wollen?")
If $msgbox = 6 Then
_GUICtrlListView_DeleteAllItems($tree)
FileDelete($file)
EndIf
EndSwitch
$Zwischenablage2 = ClipGet()
If $Zwischenablage2 <> $Zwischenablage1 Then _zwischenablageadd()
WEnd
Func _zwischenablageadd()
For $i = 1 To $max
If $additem[$i] = $Zwischenablage2 Then Return
Next
For $i = 1 To $max
If $additem[$i] = "" Then
FileWrite($file, @HOUR & ":" & @MIN & ":" & @SEC & " " & $Zwischenablage2 & @CRLF)
$additem[$i] = $Zwischenablage2
_GUICtrlListView_AddItem($tree, $Zwischenablage2)
$Zwischenablage1 = $Zwischenablage2
ExitLoop
EndIf
Next
EndFunc ;==>_zwischenablageadd
Func _GuiCtrlListView_GetFocusedItem($hWnd)
For $i = 0 To _GUICtrlListView_GetItemCount($hWnd) - 1
If _GUICtrlListView_GetItemState($hWnd, $i, $LVIS_FOCUSED) Then Return $i
Next
EndFunc ;==>_GuiCtrlListView_GetFocusedItem
Func _show()
GUISetState(@SW_SHOW)
EndFunc ;==>_show
Func _hide()
GUISetState(@SW_HIDE)
EndFunc ;==>_hide
Func _terminate()
Exit
EndFunc ;==>_terminate
Viel Spass damit!
MfG