Ich bin so gut wie ferting mit meinem ClipBoardEXtender, der bewirkt das man mehrere Textfragmente im clipboardverwalten kann.
Jetzt guck ich so in den Taskmanager und sehe, dass sobald die gui geöffnet ist, sich die Zahl der vbelegten RAMs stetig vergrößert.
Meine Frage nun, wie kann ich den RAM clearen oder Autoit dazu bringen garnicht der RAM vollzuschreiben?
Spoiler anzeigen
#include "ModernMenuRaw.au3"
#include <GUIconstants.au3>
#include <Clipboard.au3>
#include <EditConstants.au3>
#include <File.au3>
#NoTrayIcon
Global $gui
Global $input0, $input1, $input2, $input3, $input4
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Hotkeyset("^!c","activate")
HotKeyset("^!s","show")
DirCreate(@Scriptdir&"\cache")
[/autoit] [autoit][/autoit] [autoit]$activate = 0
$trayicon = _TrayIconCreate("ClipboardExtender","inactive.ico")
_TrayIconSetState()
$context = _TrayCreateContextMenu($trayicon)
$activatebutt = _TrayCreateItem("aktivieren",$context)
$exitactivatebutt = _TrayCreateItem("beenden",$context)
$infobutt = _TrayCreateItem("info",$context)
$showclipboard = _TrayCreateItem("zwischenablageninhalt anzeigen",$context)
GUICtrlSetOnEvent($exitactivatebutt,"end")
GUICtrlSetOnEvent($activatebutt,"activate")
GUICtrlSetOnEvent($infobutt,"info")
GUICtrlSetOnEvent($showclipboard,"show")
Func activate()
If $activate = 0 Then
$activate = 1
_TrayTip($trayicon,"ClipboardExtender","aktiviert",5000)
_TrayIconSetIcon($trayicon,"active.ico")
HotKeySet("!{F9}","send1")
HotKeySet("!{F10}","send2")
HotKeySet("!{F11}","send3")
HotKeySet("!{F12}","send4")
HotKeySet("^{F9}","copy1")
HotKeySet("^{F10}","copy2")
HotKeySet("^{F11}","copy3")
HotKeySet("^{F12}","copy4")
HotKeySet("^v","paste")
_TrayItemSetText($activatebutt,"deaktivieren")
ElseIf $activate = 1 Then
$activate = 0
_TrayTip($trayicon,"ClipboardExtender","deaktiviert",5000)
_TrayIconSetIcon($trayicon,"inactive.ico")
HotKeySet("^1")
HotKeySet("^2")
HotKeySet("^3")
HotKeySet("^4")
HotKeySet("!1")
HotKeySet("!2")
HotKeySet("!3")
HotKeySet("!4")
HotKeySet("^v")
_TrayItemSetText($activatebutt,"aktivieren")
EndIf
EndFunc
While Sleep(1000)
If WinExists("Zwischenablage") = 1 Then
GUICtrlSetData($input0,"")
GUICtrlSetData($input1,"")
GUICtrlSetData($input2,"")
GUICtrlSetData($input3,"")
GUICtrlSetData($input4,"")
GUICtrlSetData($input0,ClipGet())
$fileread1 = FileOpen(@Scriptdir&"\cache\1.txt",0)
$fileread2 = FileOpen(@Scriptdir&"\cache\2.txt",0)
$fileread3 = FileOpen(@Scriptdir&"\cache\3.txt",0)
$fileread4 = FileOpen(@Scriptdir&"\cache\4.txt",0)
GUICtrlSetData($input1,FileRead(@Scriptdir&"\cache\1.txt"))
GUICtrlSetData($input2,FileRead(@Scriptdir&"\cache\2.txt"))
GUICtrlSetData($input3,FileRead(@Scriptdir&"\cache\3.txt"))
GUICtrlSetData($input4,FileRead(@Scriptdir&"\cache\4.txt"))
FileClose($fileread1)
FileClose($fileread2)
FileClose($fileread3)
FileClose($fileread4)
EndIf
WEnd
#region copy funcs
Func copy1()
FileDelete(@Scriptdir&"\cache\1.txt")
_FileCreate(@Scriptdir&"\cache\1.txt")
$fileslot1 = FileOpen(@Scriptdir&"\cache\1.txt",1)
FileWrite(@Scriptdir&"\cache\1.txt",ClipGet())
FileClose($fileslot1)
EndFunc
Func copy2()
FileDelete(@Scriptdir&"\cache\2.txt")
_FileCreate(@Scriptdir&"\cache\2.txt")
$fileslot2 = FileOpen(@Scriptdir&"\cache\2.txt",1)
FileWrite(@Scriptdir&"\cache\2.txt",ClipGet())
FileClose($fileslot2)
EndFunc
Func copy3()
FileDelete(@Scriptdir&"\cache\3.txt")
_FileCreate(@Scriptdir&"\cache\3.txt")
$fileslot3 = FileOpen(@Scriptdir&"\cache\3.txt",1)
FileWrite(@Scriptdir&"\cache\3.txt",ClipGet())
FileClose($fileslot3)
EndFunc
Func copy4()
FileDelete(@Scriptdir&"\cache\4.txt")
_FileCreate(@Scriptdir&"\cache\4.txt")
$fileslot4 = FileOpen(@Scriptdir&"\cache\4.txt",1)
FileWrite(@Scriptdir&"\cache\4.txt",ClipGet())
FileClose($fileslot4)
EndFunc
#endregion
#region send funcs
Func send1()
$fileread1 = FileOpen(@Scriptdir&"\cache\1.txt",0)
ClipPut(FileRead(@Scriptdir&"\cache\1.txt")
FileClose($fileread1)
EndFunc
Func send2()
$fileread2 = FileOpen(@Scriptdir&"\cache\2.txt",0)
ClipPut(FileRead(@Scriptdir&"\cache\2.txt")
FileClose($fileread2)
EndFunc
Func send3()
$fileread3 = FileOpen(@Scriptdir&"\cache\3.txt",0)
ClipPut(FileRead(@Scriptdir&"\cache\3.txt")
FileClose($fileread3)
EndFunc
Func send4()
$fileread4 = FileOpen(@Scriptdir&"\cache\4.txt",0)
ClipPut(FileRead(@Scriptdir&"\cache\4.txt")
FileClose($fileread4)
EndFunc
#endregion
#region GUI funcs
Func show()
If WinExists("Zwischenablage") = 1 Then
GUIDelete($gui)
EndIf
Opt("guioneventmode",1)
$gui = GUICreate("Zwischenablage",200,200,@DesktopWidth - 210,@DesktopHeight / 2)
WinSetOnTop("Zwischenablage","",1)
$cb = GUICtrlCreateButton("CB:",5,10,40,20)
$slot1 = GUICtrlCreateButton("Slot 1:",5,50,40,20)
$slot2 = GUICtrlCreateButton("Slot 2:",5,90,40,20)
$slot3 = GUICtrlCreateButton("Slot 3:",5,130,40,20)
$slot4 = GUICtrlCreateButton("Slot 4:",5,170,40,20)
$input0 = GUICtrlCreateInput("",50,10,140,20,$ES_AUTOHSCROLL)
$input1 = GUICtrlCreateInput("",50,50,140,20,$ES_AUTOHSCROLL)
$input2 = GUICtrlCreateInput("",50,90,140,20,$ES_AUTOHSCROLL)
$input3 = GUICtrlCreateInput("",50,130,140,20,$ES_AUTOHSCROLL)
$input4 = GUICtrlCreateInput("",50,170,140,20,$ES_AUTOHSCROLL)
GUICtrlSetOnEvent($slot1,"slot1")
GUICtrlSetOnEvent($slot2,"slot2")
GUICtrlSetOnEvent($slot3,"slot3")
GUICtrlSetOnEvent($slot4,"slot4")
GUICtrlSetOnEvent($cb,"cb")
GUISetOnEvent($GUI_EVENT_CLOSE,"exitwindow")
GUISetOnEvent($GUI_EVENT_MINIMIZE,"exitwindow")
GUISetState(@SW_SHOW)
EndFunc
Func slot1()
FileDelete(@Scriptdir&"\cache\1.txt")
GUICtrlSetData($input1,"")
EndFunc
Func slot2()
FileDelete(@Scriptdir&"\cache\2.txt")
GUICtrlSetData($input2,"")
EndFunc
Func slot3()
FileDelete(@Scriptdir&"\cache\3.txt")
GUICtrlSetData($input3,"")
EndFunc
Func slot4()
FileDelete(@Scriptdir&"\cache\4.txt")
GUICtrlSetData($input4,"")
EndFunc
Func cb()
ClipPut("")
GUICtrlSetData($input0,"")
EndFunc
Func exitwindow()
GUIDelete($gui)
EndFunc
#endregion
Func info()
MsgBox(0,"Info","ClipBoardEXtenter (c) by Jan S."&@CRLF&""&@CRLF&"Tastaturmapping:"&@CRLF&""&@CRLF&"Strg + Alt + C = ClipboardEXtender aktivieren"&@CRLF&"Strg + Alt + S = Zwischenablage anzeigen"&@CRLF&"Strg + F9 = Aktuellen Inhalt des Clipboards Slot 1 zuweisen"&@CRLF&"Strg + F10 = Aktuellen Inhalt des Clipboards Slot 2 zuweisen"&@CRLF&"Strg + F11 = Aktuellen Inhalt des Clipboards Slot 3 zuweisen"&@CRLF&"Strg + F12 = Aktuellen Inhalt des Clipboards Slot 4 zuweisen"&@CRLF&""&@CRLF&""&@CRLF&"ACHTUNG: Der ClipBoardEXtender speichert keine Dateien; wird eine Datei kopiert wird nur der Pfad im ClipBoardEXtenter gespeichert")
EndFunc
Func end()
_TrayIconDelete($trayicon)
Exit
EndFunc