Advanced clipboard

Post your working scripts, libraries and tools for AHK v1.1 and older
AtleastItried
Posts: 51
Joined: 03 Mar 2017, 04:51

Advanced clipboard

06 Mar 2017, 13:42

Hello, this is my second script that is kind of interesting:

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

brutus_skywalker
Posts: 175
Joined: 24 Dec 2016, 13:16
Location: Antarctica

Re: Advanced clipboard

08 Mar 2017, 10:31

Neat,could be better but Atleastyoutried, sorry couldn't resist ;)
AtleastItried
Posts: 51
Joined: 03 Mar 2017, 04:51

Re: Advanced clipboard

11 Mar 2017, 08:40

Here is a better version:

Code: Select all

#Maxmem 200000
#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
Cont:
Gui, Ausgabe: new
Gui, Ausgabe: add, Hotkey, vPress gContinuationPas x230
List:="" 
vCount=0
IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
Return
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%


}
Zahler=0
Tiefe=33
loop % Count{
Tiefe +=23
Zahler +=1
If (Zahler=1){
Gui, Ausgabe: add,Radio,vNNNx x560  gTRIGx y%Tiefe% ,  X
}else{
Gui, Ausgabe: add,Radio,gTRIGx x560 y%Tiefe% ,  X
}

}



Gui, Ausgabe: show,y300
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














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 1
Gui, Ausgabe: Destroy
GOTO Cont
Return 


TRIGx:
Gui, Ausgabe: Submit, nohide
vWritenumber=%NNNx%
sleep 70
GOto ENDEx
Return


#x:: 

IniRead, vList, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
if (vList = "")
	vCount = 0
else
	StrReplace(vList, "`n", "`n", vCount), vCount += 1
FileDelete, %A_Programs%/Steam_DataHUD/Mem/Memoryclipboard.ini
Counter=0
Loop % vCount {
Counter +=1
FileDelete, %A_Programs%/Steam_DataHUD/Mem/%Counter%.greg
}
Return



#ifwinactive,clipboard.exe
esc::
Gui,Ausgabe:destroy
Gui,Eingabe:destroy
Return

Good King Wenceslas
Posts: 1
Joined: 10 Apr 2021, 14:35

Re: Advanced clipboard

10 Apr 2021, 14:54

Could you give clear instructions on how to use it?
Also post deletion of the script it keeps running meaning that the standard windows clipboard is lost. I'd guess the only current way around that is restarting the laptop/computer or opening the detailed task manager and ending the autohotkey sevice task. (I did the latter but I'd guess restarting would work too)

I'm new to this though so I don't know if I just missed something.
ozzii
Posts: 481
Joined: 30 Oct 2013, 06:04

Re: Advanced clipboard

11 Apr 2021, 03:45

Good King Wenceslas wrote: Also post deletion of the script it keeps running meaning that the standard windows clipboard is lost. I'd guess the only current way around that is restarting the laptop/computer or opening the detailed task manager and ending the autohotkey sevice task. (I did the latter but I'd guess restarting would work too)
You can comment the line #Notrayicon.
So you will have the icon in the system tray. You will be able to right click on it and close the script.

Return to “Scripts and Functions (v1)”

Who is online

Users browsing this forum: No registered users and 81 guests