Clippy!

  • huhu :D

    Ich präsentiere euch - :stolz_bin: :stolz_bin:

    Mein erstes - ganz allein geschriebens Script, dass:


    N ÜT Z L I C H sein kann^^

    Ich taufe es: Clippy!

    Es ist ein Clipboard - hysterie script.

    Funtzt so:

    Man starte das script
    man markiere einen text oder was auch immer
    drücke Strg und C ums zu kopieren
    drücke Strg und X um das script zu aktivieren!

    Zack, erstellt das tolle script eine log.txt , wo genau steht
    wann was im Clipboard war, toll, was?

    ne im ernst^^

    für mich ist es praktisch da ich oft was im clipboard habe

    [autoit]

    ; Clipboard Historie von Huggy *stolzbin omg lol*

    [/autoit][autoit][/autoit][autoit]

    HotKeySet("^x", "_Clip")

    [/autoit][autoit][/autoit][autoit]

    sleep(100)

    [/autoit][autoit][/autoit][autoit]

    While 1

    [/autoit][autoit][/autoit][autoit]

    sleep(100)
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _Clip()

    If FileExists(@ScriptDir & "\clip.ini") Then

    Else

    IniWrite("clip.ini", "count", "count", "0")

    EndIf


    $key = IniRead("clip.ini", "count", "count", "0")

    $keyneu = $key + 1

    $clip2 = ClipGet()

    IniWrite("clip.ini", "Text" & $keyneu, $keyneu, $clip2)
    IniWrite("clip.ini", "count", "count", $keyneu)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $date = @HOUR & "/" & @MIN & "/" &@SEC

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $file = FileOpen("log.txt", 1)

    [/autoit][autoit][/autoit][autoit]

    If $file = -1 Then
    MsgBox(0, "Error", "Bitte erstellen sie eine .txt datei namens: log.txt im scriptordner.")
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    FileWrite($file, $date & ": ")
    FileWrite($file, $clip2 & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    FileClose($file)

    [/autoit][autoit][/autoit][autoit]


    EndFunc

    [/autoit]
  • Gaanz toller mod - gaaanz toller huggy - gaaanz tolles tool!

    Kannte ClipBoard ehrlich nicht =(

    Alles selber gemacht :musik2: :musik2:

    €€ hab gerade Clipboard getestet!

    Hab da IMMEr 100 % CPU :weinen: :weinen:


    p.s gta, kannst du mir mal dein G15 script, das Winkill, per PM schicken?

    danke :D

    Einmal editiert, zuletzt von huggy (12. Oktober 2006 um 16:59)

    • Offizieller Beitrag

    HI,

    wenn du nur den Inhalt des Clip protokollieren willst, dann kannst du auch einfach :

    [autoit]

    #include<File.au3>
    HotKeySet("^1", "_Clip")
    FileDelete(@ScriptDir & "\log.txt")

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(1000)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _Clip()
    _FileWriteLog(@ScriptDir & "\log.txt", ClipGet())
    EndFunc ;==>_Clip

    [/autoit]

    So long,

    Mega

  • achsooo

    dachte du hast ein script das prüft welches Programm hängt ~~


    Naja, ist auch nicht schlecht :D

  • Zitat

    Original von huggy
    drücke Strg und X um das script zu aktivieren!

    Hi,

    tolles script, bestimmt nützlich! Was mich ein bißchen dabei stört ist die Tastenkombination zum log schreiben. Da STRG + X eigentlich ausschneiden ist, würde es mich bei einem Textdokument ziemlich stören, da diese Funktion dann durch das Script nicht mehr funktionieren würde.

    Vielleicht läßt du dir ja mal was anderes einfallen, aber sonst echt top ;)

    Mfg

    Analyzer

  • Du kannst das Script gerne umändern für deine Bedürfnisse ;)


    Hab X nur gewählt weils eben sooo knapp an C ist, da kann man eben schnell strg c und strg x machen ;)


    p.s Danke ;)

  • Ich hab damals auch mal sowas geschrieben...Einer meiner ersten Scripte :)

    http://xxxfanta.xx.ohost.de/ClipBoarder.exe

    [autoit]

    HotKeySet("^c","copy")
    HotKeySet("{ESC}","escape")
    HotKeySet("{PGUP}","up")
    HotKeySet("{PGDN}","down")

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"ClipBoarder 1.0","ESC - Exit" & @LF & "Page Up - Forward" & @LF & "Page Down - Backword")

    [/autoit][autoit][/autoit][autoit]

    $i = 0
    $max = 0
    $file = FileOpen(@ScriptDir & "\clipboard.txt", 10)
    $ini = FileOpen(@ScriptDir & "\clipboard_pref.ini", 9)
    FileClose($file)

    [/autoit][autoit][/autoit][autoit]

    If IniRead(@ScriptDir & "\clipboard_pref.ini","settings","Autostart",-1) = -1 Then
    IniWrite(@ScriptDir & "\clipboard_pref.ini","settings","Autostart",0)
    ElseIf IniRead(@ScriptDir & "\clipboard_pref.ini","settings","Autostart",-1) = 0 Then
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","ClipBoarder")
    ElseIf IniRead(@ScriptDir & "\clipboard_pref.ini","settings","Autostart",-1) = 1 Then
    $reg = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","ClipBoarder")
    If @error = -1 Then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","ClipBoarder","REG_SZ",@ScriptFullPath)
    EndIf
    EndIf

    While 1
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func copy()
    $file = FileOpen(@ScriptDir & "\clipboard.txt", 9)
    HotKeySet("^c")
    Send("^c")
    $clip = ClipGet()
    FileWrite($file,$clip & @CRLF)
    $i += 1
    $max += 1
    ToolTip("Clipboard: " & $clip & @LF & "Current Clip: " & $max & @LF &"Max Clips: "& $max,0,0)
    HotKeySet("^c","copy")
    FileClose($file)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func up()
    If $i < $max Then
    $file = FileOpen(@ScriptDir & "\clipboard.txt", 0)
    $i += 1
    $text = FileReadLine($file,$i)
    ClipPut($text)
    $clip = $text
    ToolTip("Clipboard: " & $clip & @LF & "Current Clip: " & $i & @LF &"Max Clips: "& $max,0,0)
    FileClose($file)
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func down()
    If $i > 1 Then
    $file = FileOpen(@ScriptDir & "\clipboard.txt", 0)
    $i -= 1
    $text = FileReadLine($file,$i)
    ClipPut($text)
    $clip = $text
    ToolTip("Clipboard: " & $clip & @LF & "Current Clip: " & $i & @LF &"Max Clips: "& $max,0,0)
    FileClose($file)
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func escape()
    FileClose($file)
    Exit
    EndFunc

    [/autoit]

    :) Arbeite aber momentan an meinem CS:S Tool ;) Leider ist in der neusten Version ein mega bug *heul*

  • Okay ich poste ihn hier mal ;)

    Wenn man einen killt, macht er das falsch...die alten Versionen gingen perfekt...Habe hier aber noch was mit Serveranpingen gemacht (mit dem UDP-Teil)...Naja..Wer CS:S hat, kann es testen ;)

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>
    #Include <Constants.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    AutoItSetOption("WinTitleMatchMode", 4)
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
    ;Opt("TrayOnEventMode",1)
    Opt("WinTitleMatchMode",4)

    [/autoit] [autoit][/autoit] [autoit]

    ;; Veriablen deklarieren
    Global $name = ""
    Global $autostart = "Autostart: off"
    $i = 0
    $connected = 0
    $onServer = 0
    $counter = 0
    $steamaccs= ""
    Dim $names[1]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $weapon[28]
    Dim $weaponname[28]=["galil", "ak47", "scout", "sg552", "awp", "g3sg1", "famas","m4a1", "aug","sg550","glock","usp","p228","deagle","elite","fiveseven","m3", "xm1014","mac10","tmp","mp5navy","ump45","p90","m249","hegrenade", "flashbang","smokegrenade","knife"]
    Dim $weaponitem[28]

    [/autoit] [autoit][/autoit] [autoit]

    ;; Create file if it doesn't exist
    If FileExists(@AppDataDir & "\css Stats\stats.ini") = 0 Then
    $creatingfile = FileOpen (@AppDataDir & "\css Stats\stats.ini",9)
    For $i = 0 To UBound($weapon)-1
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats",$weaponName[$i],0)
    Next
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totalkills",0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totaldeath",0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totalsuicides",0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Autostart",0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Sort","Descending")
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","version","0.0")
    Else ;; Create missing files if needed
    $sortorder = IniRead(@AppDataDir & "\css Stats\stats.ini","settings","Sort","")
    If $sortorder = "" Then
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Sort","Descending")
    EndIf
    $version = IniRead(@AppDataDir & "\css Stats\stats.ini","settings","version","")
    If $version = "" Then
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","version","0.0")
    EndIf
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;-------------------- AutoUpdate ------------------;

    [/autoit] [autoit][/autoit] [autoit]

    InetGet ("http://xxxfanta.xx.ohost.de/Version.ini",@AppDataDir & "\css Stats\version.ini",1,0)
    $newversion = IniRead(@AppDataDir & "\css Stats\version.ini","newest","cssstats","0.0")
    If $version < $newversion Then
    $msgbox = MsgBox(4,"New version found!","New version found." & @CRLF & "Download it now?")
    If $msgbox = 6 Then
    InetGet("http://xxxfanta.xx.ohost.de/CSS%20Stats%20" & $newversion & ".exe",@ScriptDir & "\CSS Stats " & $newversion & ".exe",1,0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","version",$newversion)
    FileDelete(@AppDataDir & "\css Stats\version.ini")
    $updatetext = "No Update"
    ElseIf $msgbox = 7 Then
    $updatetext = "Update available!"
    EndIf
    Else
    $updatetext = "No Update"
    FileDelete(@AppDataDir & "\css Stats\version.ini")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;-------------------End AutoUpdate-----------------;

    [/autoit] [autoit][/autoit] [autoit]

    ;wird verändert...er wird alle Werte zusammenrechnen
    $kills = IniRead(@AppDataDir & "\css Stats\stats.ini","stats","totalkills",0)
    $death = IniRead(@AppDataDir & "\css Stats\stats.ini","stats","totaldeath",0)
    $suicide = IniRead(@AppDataDir & "\css Stats\stats.ini","stats","totalsuicides",0)
    ; Reading the Sort-Order
    $sortorder = IniRead(@AppDataDir & "\css Stats\stats.ini","settings","Sort","Descending")
    ;Steam Path
    $SteamDir = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam","InstallPath")

    [/autoit] [autoit][/autoit] [autoit]

    ;##### Getting Username #####
    $FileList =_FileListToArray($SteamDir &"\SteamApps\","*.",2)
    For $i = 1 To $FileList[0] Step 1
    If FileExists($SteamDir &"\SteamApps\" & $FileList[$i] & "\counter-strike source\") Then
    $names[$counter] = $filelist[$i]
    $counter+=1
    ReDim $names[$counter+1]
    EndIf
    Next
    ;Creating -condebug
    RegWrite("HKEY_CURRENT_USER\Software\Valve\Steam\Apps\240\","LaunchOptions","REG_SZ","-console -condebug")

    [/autoit] [autoit][/autoit] [autoit]

    $Username = IniRead(@AppDataDir & "\css Stats\stats.ini","settings","name","")
    While $username = ""
    $username = InputBox("Username","To use this Script, we will need your Steam Username (no password!)","XxXFaNtA")
    WEnd
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","name",$username)

    [/autoit] [autoit][/autoit] [autoit]

    $file = FileOpen ($SteamDir &"\SteamApps\" & $username & "\counter-strike source\cstrike\console.log",2) ;deleting the old chatlog
    FileClose($file)

    [/autoit] [autoit][/autoit] [autoit]

    $file = FileOpen ($SteamDir &"\SteamApps\" & $username & "\counter-strike source\cstrike\console.log",0)
    $filepath = $SteamDir &"\SteamApps\" & $username & "\counter-strike source\cstrike\console.log"
    $log = FileRead($file)
    $CountLines = _FileCountLines($SteamDir &"\SteamApps\" & $username & "\counter-strike source\cstrike\console.log")
    $countLinesOld = $countlines

    [/autoit] [autoit][/autoit] [autoit]

    ; Tray Menu!
    TraySetIcon("icon.ico")
    $settingsitem = TrayCreateMenu("Settings")

    [/autoit] [autoit][/autoit] [autoit]

    #region AutoStart
    ;;AutoStart stuff
    If IniRead(@AppDataDir & "\css Stats\stats.ini","settings","Autostart",-1) = 0 Then
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","cssstats")
    $autostart = "Autostart: off"
    ElseIf IniRead(@AppDataDir & "\css Stats\stats.ini","settings","Autostart",-1) = 1 Then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","cssstats","REG_SZ",@ScriptFullPath)
    $autostart = "Autostart: on"
    EndIf
    ;; End Autostart
    #endregion

    [/autoit] [autoit][/autoit] [autoit]

    ; Reading the Old Data (out of the ini)
    For $i = 0 To UBound($weapon)-1
    $weapon[$i] = IniRead(@AppDataDir & "\css Stats\stats.ini","stats",$weaponName[$i],0)
    Next
    ;;;;;;;;;;;;;;;;;;;;;;;;

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $autostartitem = TrayCreateItem($Autostart, $settingsitem,-1)
    $nameitem = TrayCreateItem("Change Username",$settingsitem,-1)
    $updateitem=TrayCreateItem($updatetext,$settingsitem,-1)
    TrayCreateItem("",$settingsitem,-1)
    $resetitem = TrayCreateItem("Reset Stats",$settingsitem,-1)
    TrayCreateItem("")
    $weaponmenu = TrayCreateMenu("Weapons")
    $SortItem = TrayCreateItem("Sort: "& $sortorder,$weaponmenu,-1)
    TrayCreateItem("",$weaponmenu,-1)
    For $i = 0 To Ubound($weaponname)-1
    $weaponitem[$i] = TrayCreateItem($weaponname[$i] & ": " & @TAB & $weapon[$i],$weaponmenu,-1)
    Next
    $totalmenu = TrayCreateMenu("Total Stats")
    $totalkillsitem = TrayCreateItem("Total kills:" & @TAB & $kills,$totalmenu,-1)
    $totaldeathitem = TrayCreateItem("Total deaths:" & @TAB & $death,$totalmenu,-1)
    $totalsuicideitem = TrayCreateItem("Total suicides:" & @TAB & $suicide,$totalmenu,-1)
    TrayCreateItem("",$totalmenu,-1)
    If $death = 0 Then
    $KDitem = TrayCreateItem("Kill/Death-Ratio:" & @TAB & "0",$totalmenu,-1)
    Else
    $KDitem = TrayCreateItem("Kill/Death-Ratio:" & @TAB & Round($kills/$death,2),$totalmenu,-1)
    EndIf
    $servermenu = TrayCreateMenu("Server")
    $servernameitem = TrayCreateItem("Name:" & @TAB & "",$servermenu,-1)
    $servermapitem = TrayCreateItem("Map:" & @Tab & "",$servermenu,-1)
    TrayCreateItem("")
    $aboutitem = TrayCreateItem("About...")
    $exititem = TrayCreateItem("Exit")

    [/autoit] [autoit][/autoit] [autoit]

    Sort()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    ; Beim Change in der Config Waffendaten ändern.
    $CountLines = _FileCountLines($SteamDir &"\SteamApps\" & $username & "\counter-strike source\cstrike\console.log")
    If $countlinesOld <> $countlines Then
    For $i = $countlinesOld + 1 To $countlines Step 1
    ;--Old Stuff
    $line = FileReadLine($file,$i)
    If StringInStr($line,"Player: ") <> 0 AND StringInStr($line," - Damage Given") Then; Getting the Name - Name Changing included
    $name = StringTrimLeft($line,8)
    $name = StringTrimRight($name,15)
    ElseIf StringInStr($line,$name & " killed",1) <> 0 Then ; Getting the kills
    $kills += 1
    ;;Weapons
    $weaponSplit = StringSplit($line," ") ;Teilt den String in einem Array auf, wobei Waffennamen = letzter Array eintrag
    $weaponNameNew = StringTrimRight($WeaponSplit[$weaponSplit[0]],1) ;nimmt sich den Waffennamen und hakt "." ab
    For $j = 0 to Ubound($weapon)-1 ;; Schauen, ob und wo die Waffe schon in dem Array gespeichert wurde.
    If $weaponname[$j] = $WeaponNameNew Then ; Wenn der Waffenname dem eines im Array übereinstimmt:
    $weapon[$j] += 1 ; 1 Kill für diese Waffe adden
    $weaponnewvalue = IniRead(@AppDataDir & "\css Stats\stats.ini","stats",$weaponname[$j],0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats",$weaponname[$j],$weaponnewvalue+1)
    ExitLoop
    EndIf
    Next
    Sort()
    ElseIf StringInStr($line," killed " & $name,1) <> 0 Then
    $death += 1
    ElseIf StringInStr($line,$name & " suicided.") <> 0 Then
    $suicide += 1
    ElseIf StringInStr($line,"Connected to ") <> 0 Then
    $server = StringTrimLeft($line,13)
    $gameserver = StringSplit($server,":") ;;[1] = IP, [2] = Port
    $connected = 1
    $onserver = 1
    EndIf
    Next
    ;; Saving the Total-Stats in the ini and rewriting the Data for the WeaponStats in the Traymenu
    #region Restarting Total-Stats
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totalkills",$kills)
    TrayItemSetText($totalkillsitem,"Total kills:" & @TAB & $kills)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totaldeath",$death)
    TrayItemSetText($totaldeathitem,"Total deaths:" & @TAB & $death)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totalsuicides",$suicide)
    TrayItemSetText($totalsuicideitem,"Total suicides:" & @TAB & $suicide)
    #endregion
    For $i = 0 To Ubound($weaponname)-1
    TrayItemSetText($weaponitem[$i],$weaponname[$i] & ": " & @TAB & $weapon[$i])
    Next
    ; K/D-Ratio Trayitem
    If NOT $death = 0 Then
    TrayItemSetText($kditem,"Kill/Death-Ratio:" & @TAB & Round($kills/$death,2))
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndIf
    $countLinesOld = $countLines

    [/autoit] [autoit][/autoit] [autoit]

    ;################ SERVER INFORMATION ####################
    If $connected = 1 AND $onserver = 1 Then
    UDPStartUp()
    $socket = UDPOpen($gameserver[1],$gameserver[2])
    $onserver = 0

    $status = UDPSend($socket, Chr(255) & Chr(255) & Chr(255) & Chr(255) & "TSource Engine Query" & Chr(0)) ;//Server anpingen
    $data = UDPRecv($socket, 1024) ;Serverinfo abrufen
    $binString = String($data)
    $ServerInfoAll = _Hex16toString($binString)
    $ServerInfo = StringSplit($ServerInfoAll,Chr(127))
    If $binString <> "" Then
    TrayItemSetText($servernameitem,"Name:" & @TAB & StringTrimLeft($ServerInfo[1],6))
    TrayItemSetText($servermapitem,"Name:" & @TAB & $ServerInfo[2])
    Else
    $connected = 0
    EndIf
    ElseIf $connected = 1 And $onserver = 0 Then
    UDPCloseSocket($socket)
    EndIf
    ; ######################################################
    ;-------------------------------------------;
    ;-------------------------------------------;
    ;----------------- TRAY MENU ----------------
    ;-------------------------------------------;
    ;-------------------------------------------;

    [/autoit] [autoit][/autoit] [autoit]

    $msg = TrayGetMsg()
    Select
    Case $msg = $autostartitem

    If $autostart == "Autostart: on" Then
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","cssstats")
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Autostart",0)
    $autostart = "Autostart: off"
    TrayItemSetText($autostartitem,$autostart)
    Else
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","cssstats","REG_SZ",@ScriptFullPath)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Autostart",1)
    $autostart = "Autostart: on"
    TrayItemSetText($autostartitem,$autostart)
    EndIf
    Case $msg = $resetitem
    $reset = MsgBox(4,"Resetting Data","Are you sure to Reset your Stats?")
    If $reset = 6 Then
    For $i = 0 To UBound($weapon)-1
    $weapon[$i] = IniWrite(@AppDataDir & "\css Stats\stats.ini","stats",$weaponName[$i],0)
    $kills = 0
    $death = 0
    $suicide = 0
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totalkills",0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totaldeath",0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","stats","totalsuicides",0)
    TrayItemSetText($weaponitem[$i],$weaponname[$i] & ": " & @TAB & "0")
    TrayItemSetText($totalkillsitem,"Total kills:" & @TAB & "0")
    TrayItemSetText($totaldeathitem,"Total deaths:" & @TAB & "0")
    TrayItemSetText($totalsuicideitem,"Total suicides:" & @TAB & "0")
    TrayItemSetText($kditem,"Kill/Death-Ratio:" & @TAB & "0")
    Next
    EndIf
    Case $msg = $SortItem
    If TrayItemGetText ($SortItem) = "Sort: Descending" Then
    TrayItemSetText($sortitem,"Sort: Ascending")
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Sort","Ascending")
    Sort()
    ElseIf TrayItemGetText ($SortItem) = "Sort: Ascending" Then
    TrayItemSetText($sortitem,"Sort: Descending")
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","Sort","Descending")
    Sort()
    EndIf
    Case $msg = $nameitem
    $username = InputBox("Username Change","Please enter the new Username",$username)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","name",$username)
    Case $msg = $updateitem
    If TrayItemGetText($updateitem) = "Update available!" Then
    $msgbox = MsgBox(4,"New version found!","New version found." & @CRLF & "Download it now?")
    If $msgbox = 6 Then
    InetGet("http://xxxfanta.xx.ohost.de/CSS%20Stats%20" & $newversion & ".exe",@ScriptDir & "\CSS Stats " & $newversion & ".exe",1,0)
    IniWrite(@AppDataDir & "\css Stats\stats.ini","settings","version",$newversion)
    FileDelete(@AppDataDir & "\css Stats\version.ini")
    TrayItemSetText($updateitem,"No update")
    MsgBox(0,"Restart:","Newer version downloaded. Please delete the older version.")
    Run(@scriptdir & "\CSS Stats " & $newversion & ".exe")
    Exit
    ElseIf $msgbox = 7 Then
    TrayItemSetText($updateitem,"Update available!")
    EndIf
    Else
    FileDelete(@AppDataDir & "\css Stats\version.ini")
    EndIf
    Case $msg = $aboutitem
    MsgBox(64, "About CS:S Stats", @TAB & "CS:S Stats" & @CRLF & @CRLF & "Made by: XxXFaNtA © 2006" & @CRLF & "Contact me: [email='xxxfanta2@freenet.de'][/email]")
    Case $msg = $exititem
    FileDelete(@AppDataDir & "\css Stats\version.ini") ;Deleting version info
    Exit
    EndSelect
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    Func Sort()
    If TrayItemGetText ($SortItem) = "Sort: Descending" Then
    ; Kills Sortieren
    For $i = 0 To Ubound($weapon)-1
    $weapon[$i] = StringFormat("%06i",$weapon[$i]) & $weaponname[$i]
    Next
    _ArraySort($weapon,1)
    For $i = 0 To Ubound($weapon)-1
    $weaponName[$i] = StringTrimLeft($weapon[$i],6)
    $weapon[$i] = Number(StringMid($weapon[$i],1,6))
    TrayItemSetText($weaponitem[$i],$weaponname[$i] & ": " & @TAB & $weapon[$i])
    Next
    ElseIf TrayItemGetText ($SortItem) = "Sort: Ascending" Then
    For $i = 0 To Ubound($weapon)-1
    $weapon[$i] = StringFormat("%06i",$weapon[$i]) & $weaponname[$i]
    Next
    _ArraySort($weapon,0)
    For $i = 0 To Ubound($weapon)-1
    $weaponName[$i] = StringTrimLeft($weapon[$i],6)
    $weapon[$i] = Number(StringMid($weapon[$i],1,6))
    TrayItemSetText($weaponitem[$i],$weaponname[$i] & ": " & @TAB & $weapon[$i])
    Next
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Hex16toString($nHex)
    If StringLeft($nHex, 2) = '0x' And StringInStr($nHex, ',') Then
    $nHex = StringReplace($nHex, '00', '7f')
    $nHex = StringReplace($nHex, ',', ',')
    $nHex = StringReplace($nHex, '01', '90')
    Return BinaryString(StringTrimLeft($nHex, 2))
    ElseIf StringInStr($nHex, ',') Then
    $nHex = StringReplace($nHex, '00', '7f')
    $nHex = StringReplace($nHex, ',', ',')
    $nHex = StringReplace($nHex, '01', '90')
    Return BinaryString('0x' & StringTrimLeft($nHex, 2))
    ElseIf StringLeft($nHex, 2) = '0x' Then
    Return BinaryString(StringReplace($nHex, '00', '7f'))
    EndIf
    Return BinaryString('0x' & StringReplace($nHex, '00', '7f'))
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func OnAutoItExit()
    If $connected = 1 Then
    UDPCloseSocket($socket)
    UDPShutdown()
    EndIf
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von XxXFaNtA (12. Oktober 2006 um 22:25)

  • Hi,

    Ich hab das gleiche nur etwas weiterentwickelt. Man kann die letzen 10 Clipboard-Einträge per Tray-Icon abrufen. Es werden aber auch alle Einträge seit dem nächsten Programmstart in eine Logfile geloggt. Und das alles ohne Strg-X zu drücken!! Außerdem kann man mit einer checkbox im tray dem programm sagen ob es mit Windows starten soll.

    http://winklipper.sf.net

    EDIT: meine ava ist das icon von dem programm^^

    Sourcecode:

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <Constants.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; license
    #comments-start
    WinKlipper - A program that backups your clipboard
    Copyright (C) 2006 Janosch Graef

    [/autoit] [autoit][/autoit] [autoit]

    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
    You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
    #comments-end

    [/autoit] [autoit][/autoit] [autoit]

    ; vars
    global $autostartkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"
    global $cb
    global $lc = ClipGet()
    global $filename = @HomeDrive&"\clipboard.txt"
    global $traycb[10]
    global $cbb[10]
    global $autostart

    [/autoit] [autoit][/autoit] [autoit]

    ; trayeventoptions
    func traycbevent($num)
    local $clip = $cbb[$num-1]
    if ($clip<>"") then ClipPut($clip)
    EndFunc
    dim $func
    func traycbevent1()
    traycbevent(1)
    endfunc
    func traycbevent2()
    traycbevent(2)
    endfunc
    func traycbevent3()
    traycbevent(3)
    endfunc
    func traycbevent4()
    traycbevent(4)
    endfunc
    func traycbevent5()
    traycbevent(5)
    endfunc
    func traycbevent6()
    traycbevent(6)
    endfunc
    func traycbevent7()
    traycbevent(7)
    endfunc
    func traycbevent8()
    traycbevent(8)
    endfunc
    func traycbevent9()
    traycbevent(9)
    endfunc
    func traycbevent10()
    traycbevent(10)
    endfunc

    [/autoit] [autoit][/autoit] [autoit]

    ; tray
    TrayTip("WinKlipper","WinKlipper is running now."&@LF&"For infos right-click on the icon an then click on ""Infos"" "&@LF&"Have fun ;)",5)
    opt("TrayAutoPause",0)
    opt("TrayMenuMode",1)
    opt("TrayOnEventMode",1)
    TraySetClick(16)
    $tray_clipboard = TrayCreateMenu("Clipboard",-1,1)
    for $a=1 to 10 step 1
    $traycb[$a-1] = TrayCreateItem("<empty>",$tray_clipboard,$a)
    TrayItemSetOnEvent($traycb[$a-1],"traycbevent"&$a)
    next
    $tray_trenner1 = TrayCreateItem("",-1,2)
    $tray_infos = TrayCreateItem("Infos",-1,3)
    $tray_about = TrayCreateItem("About",-1,4)
    $tray_trenner2 = TrayCreateItem("",-1,5)
    global $tray_autostart = TrayCreateItem("Autostart",-1,6)
    if (RegRead($autostartkey,"winklipper")==@ScriptFullPath) then
    TrayItemSetState($tray_autostart,$TRAY_CHECKED)
    $autostart = TRUE
    Else
    TrayItemSetState($tray_autostart,$TRAY_UNCHECKED)
    $autostart = FALSE
    EndIf
    $tray_exit = TrayCreateItem("Exit",-1,7)
    TrayItemSetOnEvent($tray_infos,"infos")
    TrayItemSetOnEvent($tray_about,"about")
    TrayItemSetOnEvent($tray_autostart,"autostart")
    TrayItemSetOnEvent($tray_exit,"quit")

    [/autoit] [autoit][/autoit] [autoit]

    ; functions
    func shorten($text)
    $suffix = 0
    $text = StringReplace($text,@LF,@CRLF)
    $text = StringReplace($text,@CR,@CRLF)
    $lines = StringSplit($text,@CRLF)
    if (UBound($lines)>2) Then
    $text = $lines[1]
    $suffix = 1
    EndIf
    if (StringLen($text)>64) Then
    $text = StringLeft($text,61)
    $suffix = 1
    endif
    $text = StringStripWS($text, 3)
    if ($suffix==1) then $text = $text&"..."
    return $text
    EndFunc
    func entry_add()
    FileWrite($filename,@MON&"/"&@MDAY&"/"&@YEAR&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@CRLF&$cb&@CRLF&"=========================================="&@CRLF)
    $lc = $cb
    for $a=8 to 0 step -1
    TrayItemSetText($traycb[$a+1],TrayItemGetText($traycb[$a]))
    $cbb[$a+1] = $cbb[$a]
    next
    $cbb[0] = $cb
    TrayItemSetText($traycb[0],shorten($cb))
    EndFunc
    func infos()
    MsgBox(64,"WinKlipper - Infos","WinKlipper will remember all your clipboard-entries in "&$filename&". To restore an clipboard-entry easylier right-click on the icon, move with the mouse over ""Clipboard"" and then click on the text you want to restore.")
    endfunc
    func about()
    MsgBox(64,"WinKlipper - About","WinKlipper"&@LF&@LF&"Version: 1.1 (beta)"&@LF&"Author: Janosch Grý"&@LF&"Website: https://autoit.de/www.winklipper.de.vu"&@LF&"License: GNU/GPL")
    endfunc
    func autostart()
    if ($autostart==FALSE) then
    RegWrite($autostartkey,"winklipper","REG_SZ",@ScriptFullPath)
    TrayItemSetState($tray_autostart,1)
    $autostart = TRUE
    Else
    RegDelete($autostartkey,"winklipper")
    TrayItemSetState($tray_autostart,4)
    $autostart = FALSE
    EndIf
    EndFunc
    func quit()
    exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; program
    FileDelete($filename)
    while TRUE
    $cb = ClipGet()
    if ($cb<>"") Then
    if ($cb<>$lc) Then
    entry_add()
    endif
    endif
    sleep(500)
    wend

    [/autoit]

    3 Mal editiert, zuletzt von Schneemann (12. Oktober 2006 um 23:28)