What it does is creating an advanced clipboard: win C/V for copying and pasting; win X to delete. There is a GUI that shows a preview of what you have copied. Try it out!
TBA:
Delete all
Not closing the delete window after first deleting and allowing for multiple deletes.
Closing with esc
Maybe merge Delete and Paste by adding x-icons onto the pasting GUI.
Code: Select all
#Singleinstance, force
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#Notrayicon
#c:: ; C Windows
Sleep, 50
ClipSaved := ClipboardAll
clipboard=" "
SendInput, ^c
Sleep, 100
Saved := clipboardAll
SavedL:=clipboard
clipboard=%ClipSaved%
StringReplace, SavedL, SavedL,[,,1
Gui, Eingabe: new
Gui, Eingabe: add, Hotkey, vPress gContinuation ;need a way to close later
Gui, Eingabe: show
Return
Continuation:
Gui, Submit, NoHide
if (Press = "")
return
LastChar := SubStr(Press, 0)
if LastChar in +,^,!,#
return
Gui, Eingabe: Submit
Gui, Eingabe: Destroy
if (Press=""){
TrayTip, Unsupported Keys, The Keys alt`, win`, ctrl and shift are not supported in this version`.
Return
}
List:=""
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
vCount = 0
else
StrReplace(vList, "`n", "`n", vCount), vCount += 1
vWritenumber = 0
loop{
vWritenumber +=1
if (vWritenumber>vCount){
break
}else{
IniRead, SavedKeys, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini, %vWritenumber%, Press
if (Press=SavedKeys)
{break
}
}
}
IniWrite, %Press%, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini,%vWritenumber%, Press
IniWrite, %SavedL%, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini,%vWritenumber%, Preview
FileAppend, %Saved%, %A_Programs%/Steam_DataHUD/Mem/%vWritenumber%.greg
sleep 400
return
#v:: ; Windows + v
Gui, Ausgabe: new
Gui, Ausgabe: add, Hotkey, vPress gContinuationPas x230
List:=""
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
vCount = 0
else
StrReplace(vList, "`n", "`n", Count), Count += 1
Zahler=0
Tiefe=30
loop % Count{
Tiefe +=23
Zahler +=1
IniRead, SavedKeysZ, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini,%Zahler%, Press
StringReplace,SavedKeysX,SavedKeysZ, +,Shift+,all
StringReplace,SavedKeysY,SavedKeysX, !, Alt+,all
StringReplace,SavedKeysAAA,SavedKeysY, ^, Ctrl+,all
If (Zahler=1){
Gui, Ausgabe: add,Radio,vNNN x20 gTRIG y%Tiefe% ,%SavedKeysAAA%
}else{
Gui, Ausgabe: add,Radio,gTRIG x20 y%Tiefe% ,%SavedKeysAAA%
}
}
Zahler=0
Tiefe=30
loop % Count{
Tiefe +=23
Zahler +=1
IniRead, SavedLa, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini,%Zahler%, Preview
Gui, Ausgabe: add,Edit, Readonly x155 y%Tiefe% w400 r1 h15, %SavedLa%
}
Gui, Ausgabe: show
Return
ContinuationPas:
Gui, Submit, NoHide
if (Press = "")
return
LastChar := SubStr(Press, 0)
if LastChar in +,^,!,#
return
Gui, Ausgabe: Submit
Gui, Ausgabe: Destroy
if (Press=""){
TrayTip, Unsupported Keys, The Keys alt`, win`, ctrl and shift are not supported in this version`.
Return
}
List:=""
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
vCount = 0
else
StrReplace(vList, "`n", "`n", vCount), vCount += 1
vWritenumber = 0
loop{
vWritenumber +=1
if (vWritenumber>vCount){
Return
}else{
IniRead, SavedKeys, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini, %vWritenumber%, Press
if (Press=SavedKeys)
{break
}
}
}
ENDE:
ClipSaved:=ClipboardAll
sleep 10
clipboard:=
FileRead,clipboard, *c %A_Programs%/Steam_DataHUD/Mem/%vWritenumber%.greg
SendInput, ^v
sleep 200
clipboard:=ClipSaved
sleep 30
Return
TRIG:
Gui, Ausgabe: Submit
Gui, Ausgabe: destroy
vWritenumber=%NNN%
sleep 70
GOto ENDE
Return
#x:: ; Windows + x
Gui, Ausgabe: new
Gui, Ausgabe: add, Hotkey, vPress gContinuationPasx x230
List:=""
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
vCount = 0
else
StrReplace(vList, "`n", "`n", Count), Count += 1
Zahler=0
Tiefe=30
loop % Count{
Tiefe +=23
Zahler +=1
IniRead, SavedKeysZ, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini,%Zahler%, Press
StringReplace,SavedKeysX,SavedKeysZ, +,Shift+,all
StringReplace,SavedKeysY,SavedKeysX, !, Alt+,all
StringReplace,SavedKeysAAA,SavedKeysY, ^, Ctrl+,all
If (Zahler=1){
Gui, Ausgabe: add,Radio,vNNN x20 gTRIGx y%Tiefe%,%SavedKeysAAA%
}else{
Gui, Ausgabe: add,Radio,gTRIGx x20 y%Tiefe%,%SavedKeysAAA%
}
}
Zahler=0
Tiefe=30
loop % Count{
Tiefe +=23
Zahler +=1
IniRead, SavedLa, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini,%Zahler%, Preview
Gui, Ausgabe: add,Edit, Readonly x155 y%Tiefe% w400 r1 h15, %SavedLa%
}
Gui, Ausgabe: show
Return
ContinuationPasx:
Gui, Submit, NoHide
if (Press = "")
return
LastChar := SubStr(Press, 0)
if LastChar in +,^,!,#
return
Gui, Ausgabe: Submit
Gui, Ausgabe: Destroy
if (Press=""){
TrayTip, Unsupported Keys, The Keys alt`, win`, ctrl and shift are not supported in this version`.
Return
}
List:=""
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
vCount = 0
else
StrReplace(vList, "`n", "`n", vCount), vCount += 1
vWritenumber = 0
loop{
vWritenumber +=1
if (vWritenumber>vCount){
Return
}else{
IniRead, SavedKeys, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini, %vWritenumber%, Press
if (Press=SavedKeys)
{break
}
}
}
ENDEx:
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
vCount = 0
else
StrReplace(vList, "`n", "`n", vCount), vCount += 1
IniDelete, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini, %vWritenumber%
FileDelete, %A_Programs%/Steam_DataHUD/Mem/%vWritenumber%.greg
Anzahl:=vCount-vWritenumber
Loop % Anzahl {
vWritenumber1:=vWritenumber+1
FileMove, %A_Programs%/Steam_DataHUD/Mem/%vWritenumber1%.greg, %A_Programs%/Steam_DataHUD/Mem/%vWritenumber%.greg
FileRead, iniData, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
StringReplace, iniData, iniData, [%vWritenumber1%], [%vWritenumber%]
FileDelete, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
FileAppend, %iniData%, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
vWritenumber+=1
}
sleep 400
Return
TRIGx:
Gui, Ausgabe: Submit
Gui, Ausgabe: destroy
vWritenumber=%NNN%
sleep 70
GOto ENDEx
Return
#+x::
Return