Hallo, ich möchte ein Programm vorstellen! TrayRecycler.exe ist ein Papierkorb im System-Tray von Microsoft (Benachrichtigungsfeld). TrayRecycler.exe räumt auch den Computer auf (Datenträger bereinigen und Säubere Temp Ordner). Ihr könnt jetzt den Papierkorb vom Desktop verstecken.
ich beantworte aber keine Fragen und so Sachen, ich habe Aphasie durch Schlaganfall!
Über Änderungsvorschläge würde ich mich schon freuen!
AutoIt: Papierkorb.au3
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=D:\Meine Apps\tools\gfx\trash.ico
#AutoIt3Wrapper_Outfile=TrayRecycler.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Tray Recycler
#AutoIt3Wrapper_Res_Description=Tray Recycler
#AutoIt3Wrapper_Res_Fileversion=1.0.0.1
#AutoIt3Wrapper_Res_LegalCopyright=© ICE Tec. All rights reserved.
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_Res_Field=CompanyName|ICE Tec
#AutoIt3Wrapper_Res_Field=OriginalFileName|TrayRecycler.exe
#AutoIt3Wrapper_Res_Field=ProductName|Tray Recycler
#AutoIt3Wrapper_Res_Field=ProductVersion|1.0.0.1
#AutoIt3Wrapper_Run_Tidy=y
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <Constants.au3>
Opt('MustDeclareVars', 1)
Opt("TrayMenuMode", 1)
Global $Recycle, $option, $cleanmgr, $cleantempdir, $aboutitem, $exititem, $i, $autorun, $Diskclean
Global $iRecycleBin_Items, $SHQUERYRBINFO, $Query, $OpenRecycle, $Recyclerdel, $var, $msg
Global Const $hdd = DriveGetDrive("FIXED")
Global Const $path = @ScriptFullPath
Global Const $reg1 = "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
Global Const $reg2 = "Tray Recycler"
Global Const $MIM_APPLYTOSUBMENUS = 0x80000000, $MIM_BACKGROUND = 0x00000002
$aboutitem = TrayCreateItem("Tray Recycler")
TrayCreateItem("")
$option = TrayCreateMenu("Optionen")
$autorun = TrayCreateItem("Mit Windows starten", $option)
TrayCreateItem("")
$Diskclean = TrayCreateMenu("Datenträger aufräumen")
$cleanmgr = TrayCreateItem("Datenträger bereinigen", $Diskclean)
TrayCreateItem("", $Diskclean)
$cleantempdir = TrayCreateItem("Säubere Temp Ordner", $Diskclean)
TrayCreateItem("")
$Recycle = TrayCreateMenu("Papierkorb")
$OpenRecycle = TrayCreateItem("Papierkorb öffnen", $Recycle)
TrayCreateItem("", $Recycle)
$Recyclerdel = TrayCreateItem("Papierkorb leeren", $Recycle)
TrayCreateItem("")
$exititem = TrayCreateItem("Beenden")
autostartcheck()
itemcheck()
SetMenuColor(0, 0xEEBB99) ; BGR Farbwert, '0' bedeutet, dass das Tray Kontext-Menü dies selbst regelt
SetMenuColor($option, 0x0099FF) ; BGR Farbwert
SetMenuColor($Diskclean, 0x0099FF) ; BGR Farbwert
SetMenuColor($Recycle, 0x0099FF) ; BGR Farbwert
TraySetClick(2)
TraySetToolTip("Tray Recycler")
TraySetState($TRAY_ICONSTATE_SHOW)
While 1
itemcheck()
$msg = TrayGetMsg()
Select
Case $msg = $autorun
autostart()
Case $msg = $OpenRecycle
TrayItemSetState($OpenRecycle, $TRAY_UNCHECKED)
RecycleOpen()
Case $msg = $cleanmgr
TrayItemSetState($cleanmgr, $TRAY_UNCHECKED)
CleanDisc()
Case $msg = $cleantempdir
TrayItemSetState($cleantempdir, $TRAY_UNCHECKED)
SplashTextOn("Tray Recycler", "" & @LF & "Säubere Temp Ordner", 200, 85, -1, -1, 0, "", 12, 600)
tempdir()
SplashOff()
Case $msg = $Recyclerdel
TrayItemSetState($Recyclerdel, $TRAY_UNCHECKED)
Recycle()
Case $msg = $aboutitem
TrayItemSetState($aboutitem, $TRAY_UNCHECKED)
MsgBox(8256, "Tray Recycler", StringReplace(" Why go you to High School, when you can go High to School _ _ _ Tray Recycler v1.0.0.1 _ _ Copyrights: © ICE Technologie. All rights reserved. _ Greetings from GERMANY (Singen am Hohentwiel)", "_", @CR))
Case $msg = $exititem
ExitLoop
EndSelect
WEnd
Func autostartcheck()
RegRead($reg1, $reg2)
If @error Then
TrayItemSetState($autorun, $TRAY_UNCHECKED)
Else
TrayItemSetState($autorun, $TRAY_CHECKED)
EndIf
EndFunc ;==>autostartcheck
Func autostart()
RegRead($reg1, $reg2)
If @error Then
RegWrite($reg1, $reg2, "REG_SZ", $path)
TrayItemSetState($autorun, $TRAY_CHECKED)
Else
RegDelete($reg1, $reg2)
TrayItemSetState($autorun, $TRAY_UNCHECKED)
EndIf
EndFunc ;==>autostart
Func itemcheck()
If ProcessExists("DeviceDisplayObjectProvider.exe") Then Return
$SHQUERYRBINFO = DllStructCreate("align 1;int;int64;int64")
DllStructSetData($SHQUERYRBINFO, 1, DllStructGetSize($SHQUERYRBINFO))
$Query = DllCall("shell32.dll", "int", "SHQueryRecycleBin", "str", $hdd & "\", "ptr", DllStructGetPtr($SHQUERYRBINFO))
If DllStructGetData($SHQUERYRBINFO, 3) = 0 Then
TraySetIcon(@SystemDir & "\shell32.dll", 32)
Else
TraySetIcon(@SystemDir & "\shell32.dll", 33)
EndIf
EndFunc ;==>itemcheck
Func Recycle()
FileRecycleEmpty($hdd)
SoundPlay(@WindowsDir & "\media\recycle.wav")
EndFunc ;==>Recycle
Func RecycleOpen()
Run("explorer.exe ::{645FF040-5081-101B-9F08-00AA002F954E}")
EndFunc ;==>RecycleOpen
Func CleanDisc()
For $i = 1 To 1000
Local $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches", $i)
If @error <> 0 Then ExitLoop
Local $regread = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\" & $var, "StateFlags1488")
If $regread = False Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\" & $var, "StateFlags1488", "REG_DWORD", "2")
EndIf
Next
Run(@SystemDir & "\cleanmgr.exe /sagerun:1488")
EndFunc ;==>CleanDisc
Func tempdir()
Local $search = FileFindFirstFile(@UserProfileDir & "\AppData\Local\Temp\*.*")
While 1
Local $file = FileFindNextFile($search)
If @error Then Return True
DirRemove(@UserProfileDir & "\AppData\Local\Temp\" & $file, 1)
FileDelete(@UserProfileDir & "\AppData\Local\Temp\" & $file)
WEnd
FileClose($search)
Local $search4 = FileFindFirstFile(@WindowsDir & "\Temp\*.*")
While 1
Local $file4 = FileFindNextFile($search4)
If @error Then Return
DirRemove(@WindowsDir & "\Temp\" & $file4, 1)
FileDelete(@WindowsDir & "\Temp\" & $file4)
WEnd
FileClose($search4)
Local $search3 = FileFindFirstFile(@TempDir & "\*.*")
While 1
Local $file3 = FileFindNextFile($search3)
If @error Then Return
DirRemove(@TempDir & "\" & $file3, 1)
FileDelete(@TempDir & "\" & $file3)
WEnd
FileClose($search3)
EndFunc ;==>tempdir
Func SetMenuColor($nMenuID, $nColor)
Local $hMenu = TrayItemGetHandle($nMenuID) ; Holt den internen Menü-Handle
Local $hBrush = DllCall("gdi32.dll", "hwnd", "CreateSolidBrush", "int", $nColor)
$hBrush = $hBrush[0]
Local $stMenuInfo = DllStructCreate("dword;dword;dword;uint;dword;dword;ptr")
DllStructSetData($stMenuInfo, 1, DllStructGetSize($stMenuInfo))
DllStructSetData($stMenuInfo, 2, BitOR($MIM_APPLYTOSUBMENUS, $MIM_BACKGROUND))
DllStructSetData($stMenuInfo, 5, $hBrush)
DllCall("user32.dll", "int", "SetMenuInfo", "hwnd", $hMenu, "ptr", DllStructGetPtr($stMenuInfo))
EndFunc ;==>SetMenuColor
Alles anzeigen