*****************************************************************************************
********** OneWayTicket-Blocker von Andreas Hötker Version 1.0 *******************
*****************************************************************************************
$I DACL_SET.INC
DEF @DrawMenuBar(1) !USER32,DrawMenuBar
DEF @GetSystemMenu(2) !USER32,GetSystemMenu
Def @AHSetClassLong(3) !User32,SetClassLongA
DEF @AHGetClassLong(2) !USER32,GetClassLongA
DEF @PathRemoveFileSpec(1) !shlwapi,PathRemoveFileSpecA
DEF @GetModuleFileName(3) !KERNEL32,GetModuleFileNameA
Def @InitCommonControls(0) !COMCTL32,InitCommonControls
DEf @CreateWindowEx(12) !USER32,CreateWindowExA
DEF @GetSysColor(1) !USER32,GetSysColor
DEF @RegCreateKeyEx(9) !ADVAPI32,RegCreateKeyExA
DEF @GetDlgCtrlID(1) !USER32,GetDlgCtrlID
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
DEF @GetMenu(1) !USER32,GetMenu
DEF @LoadPic(6) !user32,LoadImageA
DEF @SetMenuItemBitmaps(5) !USER32,SetMenuItemBitmaps
DEF @ImageList_Create(5) !COMCTL32,ImageList_Create
DEF @ImageList_AddIcon(2) !COMCTL32,ImageList_AddIcon
DEF @ImageList_Destroy(1) !COMCTL32,ImageList_Destroy
DEF @LoadIcon(2) !USER32,LoadIconA
DEF @GetModuleHandle(1) !KERNEL32,GetModuleHandleA
Def @Aloadimage(6) !USER32,LoadImageA
Def @SHGetSpecialFolderLocation(3) !SHELL32,SHGetSpecialFolderLocation
Def @SHGetPathFromIDList(2) !SHELL32,SHGetPathFromIDListA
Def @CoTaskMemFree(1) !OLE32,CoTaskMemFree
DEF @GetMenuCheckMarkDimensions(0) !USER32,GetMenuCheckMarkDimensions
@InitCommonControls()
Declare Imagelist&,ExecuteHandle&,Iconname$,Hicon&,List_View_Handle&
Declare LVC#,Zeile#,Bmp#,Tool&,Tool#,Text#,Speichern&,Erklärung&,Merker$
Declare Ordner$,Zähler%,PicHandle&,MenuHandle&,Dimen#,PIC$,LVCHECK&,MERKER%
Declare R_Handle&,SUB_KEY$,Disposition&,Erzeugen&,My_Account$,Windowname$
Declare CLASSNAME$,PROGRESSHandle&,HWND&,ProgressZähler&,HPERC%,Filled%,Protokoll%
Declare Pfad$,ModulePath#,ModulePath$,Shell_Rückgabe&,Class_Style&,Hilfestring$,Zeilentext#
Struct LVCOLUMN=Mask&, FMT&, CX&, Text&, Textlänge&, Subitem&
Struct LVITEM=IMASK&, ITEM&, ISUBITEM&, State&, StateMask&, ITEXT&, ITEXTMAX&, IIMAGE&, ILPARAM&
SetTruecolor 1
USERMESSAGES $10
DIM ModulePath#,262
@GetModuleFileName(%HINSTANCE,ModulePath#,261)
LET ModulePath$=@STRING$(ModulePath#,0)
@PathRemoveFileSpec(ModulePath#)
Let Pfad$=@STRING$(ModulePath#,0)
Dispose ModulePath#
Proc Get_ListView_Text
Parameters LV_HANDLE&,List_Index&
Declare ERG$
Dim Zeile#,LVITEM
DIM Zeilentext#,1000
CLEAR Zeile#
Zeile#.IMASK&=$1
Zeile#.ITEM&=List_Index&
Zeile#.ITEXT&=Zeilentext#
Zeile#.ITEXTMAX&=1000
IF @sendmessage(LV_HANDLE&,$1005,List_Index&,Zeile#)=1
Let ERG$=@String$(Zeilentext#,0)
endif
Dispose Zeile#
Dispose Zeilentext#
Return ERG$
Endproc
PROC Get_ListView_Marked_text
Parameters LV_HANDLE&
Declare ERG$,List_Index&
Dim Zeile#,LVITEM
DIM Zeilentext#,1000
LET List_Index&=@SENDMESSAGE(LV_HANDLE&,$1000+12,0,$2)
CLEAR Zeile#,Zeilentext#,erg$
Zeile#.IMASK&=$1
Zeile#.ITEM&=List_Index&
Zeile#.ITEXT&=Zeilentext#
Zeile#.ITEXTMAX&=1000
IF @sendmessage(LV_HANDLE&,$1005,List_Index&,Zeile#)=1
Let ERG$=@String$(Zeilentext#,0)
endif
Dispose Zeile#
Dispose Zeilentext#
Return ERG$
Endproc
Proc Set_ListView_Check
Parameters LV_HANDLE&,ListView_Index&,Check_State%
Dim Zeile#,LVITEM
CLEAR Zeile#
Zeile#.IMASK&=$8
IF Check_State%=1
Zeile#.State&=$2000
ElseIF Check_State%=2
Zeile#.State&=$3000
else
Zeile#.State&=$1000
endif
Zeile#.StateMask&=$F000
Zeile#.IIMAGE&=2
Zeile#.ITEM&=ListView_Index&
@sendmessage(LV_HANDLE&,$102B,ListView_Index&,Zeile#)
Dispose Zeile#
Endproc
Proc Get_ListView_Check
Parameters LV_HANDLE&,ListView_Index&
Declare ERG&,ERG2&
Dim Zeile#,LVITEM
CLEAR Zeile#
Zeile#.IMASK&=$8
Zeile#.StateMask&=$F000
Zeile#.ITEM&=ListView_Index&
@sendmessage(LV_HANDLE&,$1005,ListView_Index&,Zeile#)
LET ERG&=Zeile#.State&
IF ERG&=$1000
Let ERG2&=0
Elseif ERG&=$2000
Let ERG2&=1
Elseif ERG&=$3000
Let ERG2&=2
Else
Let ERG2&=-1
Endif
Dispose Zeile#
Return ERG2&
Endproc
Proc GetSpecialFolder
Parameters csidl%
Declare lpidl&,result$
Dim Text#,256
If @Equ(@SHGetSpecialFolderLocation(GetActiveWindow(),CSIDL%,@Addr(lpidl&)),0)
If @Neq(@SHGetPathFromIDList(lpidl&,Text#),0)
Let result$=String$(Text#,0)
EndIf
EndIf
@CoTaskMemFree(lpidl&)
Dispose Text#
Return result$
EndProc
Proc Bmpbuttonaus Vorlage (c) Andreas Miethe - Genial DANKE!
Parameters Wnd&,S$,X%,Y%,Sizex%,Sizey%,Flags&
@BmpButton(%HWnd,BEISPIEL3.BMP,PosX,PosY%,Horizontale Größe%,Vertikale Größe%)
Declare H&,Ctrl&,Bmp#
Dim Bmp#,@Len(S$)+1
String Bmp#,0=S$
H& = @Aloadimage(%Hinstance,Bmp#,0,Sizex%-2,Sizey%-2,Flags&)
Ctrl&=@Control(Button,,$50000080,X%,Y%,Sizex%,Sizey%,Wnd&,2000,%Hinstance)
@Sendmessage(Ctrl&,$00F7,0,H&)
Dispose Bmp#
Return Ctrl&
Endproc
Proc Setbuttonimg
Parameters Wnd&,S$,Sizex%,Sizey%
Declare H&,Ctrl&,Bmp#
Dim Bmp#,@Len(S$)+1
String Bmp#,0=S$
H& = @Aloadimage(%Hinstance,Bmp#,0,Sizex%-2,Sizey%-2,$0050)
@Sendmessage(Wnd&,$00F7,0,H&)
Dispose Bmp#
Endproc
Proc CreateListView
Parameters Fenster_Handle&,x1&,y1&,x2&,y2&,Zeilenbreite1&,Zeilenbreite2&,Headertext$,H_Color&,T_Color&
Declare Listview_Handle&,Spaltentext$,PROC_PRIV_ZÄHLER%,State_Imagelist&,ICO_STRING$
Dim LVC#,LVCOLUMN
Listview_Handle&=Control(SysListView32,PrivListview,$54018001+$4+$8,x1&,y1&,x2&,y2&,Fenster_Handle&,$0100,%Hinstance,$200)
@sendmessage(Listview_Handle&,$1036,0,$431+6+$40+$800)
@sendmessage(Listview_Handle&,$1003,1,Imagelist&)
@sendmessage(Listview_Handle&,$1001,0,H_COLOR&)
@sendmessage(Listview_Handle&,$1000+38,0,H_COLOR&)
@sendmessage(Listview_Handle&,$1000+36,0,T_COLOR&)
LET State_Imagelist&=@Sendmessage(Listview_Handle&,$1000+2,$2,0)
LET ICO_STRING$=DOS
Let Hicon&=@loadicon(Executehandle&,@ADDR(ICO_STRING$)) Handle des Icons ok
@ImageList_AddIcon(State_Imagelist&,HIcon&)
LET Spaltentext$=Headertext$
LVC#.TEXT&=@ADDR(Spaltentext$)
LVC#.MASK&=$0001+$0002+$0004+$0008
LVC#.FMT&=0
LVC#.CX&=Zeilenbreite1&
LVC#.Subitem&=0
LVC#.Textlänge&=@LEN(Spaltentext$)
@sendmessage(Listview_Handle&,$1000+27,1,LVC#)
LET Spaltentext$=Bedeutung
LVC#.TEXT&=@ADDR(Spaltentext$)
LVC#.Textlänge&=@LEN(Spaltentext$)
LVC#.CX&=Zeilenbreite2&
@sendmessage(Listview_Handle&,$1000+27,2,LVC#)
Dispose LVC#
Return Listview_Handle&
Endproc
Proc Addzeile_To_ListView
Parameters Lvhndl&,Index&,spalte&,Text$,Image&
Dim Zeile#,LVITEM
Clear Zeile#
IF Image&=0
Zeile#.IMASK&=$0001
Zeile#.IIMAGE&=0
else
Zeile#.IMASK&=$000B
Zeile#.IIMAGE&=IMAGE&
endif
Zeile#.ITEM&=Index&
Zeile#.ITEXT&=Addr(Text$)
Zeile#.ITEXTMAX&=Len(Text$)
Zeile#.ISUBITEM&=spalte&
Zeile#.StateMask&=0
Zeile#.State&=0
Sendmessage(Lvhndl&,$1007,0,Zeile#)
Sendmessage(Lvhndl&,$102E,Index&,Zeile#)
Dispose Zeile#
Endproc
Let Imagelist&=ImageList_Create(16,16,$0001,3,3) Imagelist erzeugen
Let ExecuteHandle&=@GetModuleHandle(0) Handle des laufenden Programms
Let Iconname$=Baum
Let Hicon&=loadicon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Let Iconname$=Windows
Let Hicon&=loadicon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Let Iconname$=Drucker
Let Hicon&=loadicon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Windowstyle 31+512
Windowtitle OneWayTicket-Blocker
Window 0,0-640,440
Usecursor 15
Popup &Programm
Appendmenu 901,Protokoll&datei erstellen
Appendmenu 902,Protokolldatei &anzeigen
Appendmenu 903,Protokolldatei &löschen
separator
Appendmenu 905,&Info
separator
Appendmenu 904,&beenden
Popup Verbote &setzen
Appendmenu 201,max&imale Sicherheitseinstellungen
Appendmenu 202,mit&tlere Sicherheitseinstellungen
Appendmenu 203,minimal&e Sicherheitseinstellungen
Separator
Appendmenu 101,&alle Registryschlüssel sichern
Appendmenu 102,Registryschlüssel des &lokalen Benutzers sichern
Appendmenu 103,&gemeinsame Registryschlüssel sichern
Appendmenu 104,Registryschlüssel für die Erstellung &neuer User sichern
Separator
Appendmenu 401,alle &Dateien sichern
Separator
Appendmenu 301,alle &Ordner sichern
Popup Verbote &aufheben
Appendmenu 501,alles &erlauben
Appendmenu 511,mi&ttlere Sicherheitseinstellungen beibehalten
Appendmenu 512,minimale Sicherheits&einstellungen beibehalten
Separator
Appendmenu 502,alle Einträge in die &Registry erlauben
Appendmenu 506,alle Registry&schlüssel des lokalen Benutzers freigeben
Appendmenu 505,alle &gemeinsamen Einträge in die Registry freigeben
Appendmenu 507,alle Registry&schlüssel für die Erstellung neuer Benutzers freigeben
Separator
Appendmenu 503,alle &Dateien freigeben
Separator
Appendmenu 504,alle &Ordner freigeben
Popup Nichts &ändern bei...
Appendmenu 601,...&allen Einträgen
Separator
Appendmenu 602,...allen Einträgen in die &Registry
Appendmenu 606,...allen Registry&schlüsseln des lokalen Benutzers
Appendmenu 605,...allen &gemeinsamen Einträgen in die Registry
Appendmenu 607,...allen Registry&schlüsseln für die Erstellung neuer Benutzers
Separator
Appendmenu 603,...allen &Dateien
Separator
Appendmenu 604,...allen &Ordnern
Popup &Hilfe
Appendmenu 701,Hilfe&datei aufrufen
Appendmenu 702,&Kontextabhängige Hilfe
SET(Errorlevel,-1)
LET Protokoll%=@VAL(@READINI$(HKEY_1,SoftwareAHOWTB,Logdatei))
SET(Errorlevel,0)
CheckMenu 901,Protokoll%
IF Protokoll%=1
Assign #1,Pfad$+Protokoll.TXT
CHDIR PFAD$
IF @FINDFIRST$(Protokoll.TXT)=
Rewrite #1
Print #1,*** +@Date$(2)+ +@Time$(0)+ ***
Close #1
else
APPEND #1
Print #1,*** +@Date$(2)+ +@Time$(0)+ ***
Close #1
endif
Endif
DIM DIMEN#,4
Long Dimen#,0=@GetMenuCheckMarkDimensions()
LET Menuhandle&=@GetMenu(%HWND)
LET PIC$=DELETE
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,903,0,PicHandle&,PicHandle&)
LET PIC$=AUGE
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,902,0,PicHandle&,PicHandle&)
LET PIC$=EXIT
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,904,0,PicHandle&,PicHandle&)
LET PIC$=VVOLL
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,201,0,PicHandle&,PicHandle&)
LET PIC$=VHALB
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,202,0,PicHandle&,PicHandle&)
LET PIC$=VWENIG
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,203,0,PicHandle&,PicHandle&)
LET PIC$=REGISTRY
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,101,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,102,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,103,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,104,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,502,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,506,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,507,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,505,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,602,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,606,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,607,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,605,0,PicHandle&,PicHandle&)
LET PIC$=EVOLL
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,501,0,PicHandle&,PicHandle&)
LET PIC$=EHALB
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,511,0,PicHandle&,PicHandle&)
LET PIC$=EWENIG
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,512,0,PicHandle&,PicHandle&)
LET PIC$=ORDNER
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,301,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,504,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,604,0,PicHandle&,PicHandle&)
LET PIC$=FILE
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,401,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,503,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,603,0,PicHandle&,PicHandle&)
LET PIC$=HILFE
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,701,0,PicHandle&,PicHandle&)
LET PIC$=FRAGE
let PicHandle&=@LoadPic(%HINSTANCE,@ADDR(PIC$),0,@Word(Dimen#,0),@Word(Dimen#,2),$0)
@SetMenuItemBitmaps(Menuhandle&,702,0,PicHandle&,PicHandle&)
@SetMenuItemBitmaps(Menuhandle&,905,0,PicHandle&,PicHandle&)
Dispose DIMEN#
CLS @RGB(200,200,240)
USEFONT Arial,15,5,0,0,0
LET Erzeugen&=@CreateCheckBox(%HWND,Alle Registryschlüssel erstellen?,10,270,200,20)
SetFont Erzeugen&,%FONT
Bmpbutton %Hwnd,Button,10,300,200,30,0
LET Speichern&=@&(0)
Enablewindow Speichern&,0
LET Erklärung&=@ConTrol(STATIC,,$40000000 | $10000000 | $1000 | $100,230,270,380,60,%HWND,0,%HINSTANCE,$200)
SetFont Erklärung&,%FONT
SetText Erklärung&,Die mit einem Häkchen versehenen Objekte werden mit einem Schreibschutz für Administratoren versehen, ein Minus hebt einen Schreibschutz auf. Leeres Kästchen = kreine Änderung!
LET CLASSNAME$=msctls_progress32
LET Windowname$=
LET PROGRESSHandle&=@CreateWindowEx(0,@addr(CLASSNAME$),0,$40000000+$10000000+$800000,10,335,600,30,%HWND,0,%Hinstance,0)
LET Tool&=@control(tooltips_class32,,$d0000000,0,0,0,0,%HWND,0,%hinstance)
dim Text#,262
dim Tool#,40
long Tool#,0=40 ------Größe der TOOLINFO-Struktur
long Tool#,4=17 ------Flags
long Tool#,36=Text# --Bereichsvariable mit String
String Text#,0=Einstellungen so abspeichern?? ---Text des 1.Tooltips
long Tool#,12=Speichern&
@Sendmessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
String Text#,0=Ganz kurze Erklärung zum Programm... ---Text des 1.Tooltips
long Tool#,12=Erklärung&
@Sendmessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
String Text#,0=Sollen nicht vorhanden Registryschlüssel erzeugt werden?? ---Text des 1.Tooltips
long Tool#,12=Erzeugen&
@Sendmessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
String Text#,0=Fortschrittsanzeige ---Text des 1.Tooltips
long Tool#,12=PROGRESSHandle&
@Sendmessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
Dispose Text#
Dispose Tool#
@SetFocus(%HWND)
CreateListView %HWND,10,20,600,235,265,320,Schutz für...,@RGB(250,250,220),@RGB(0,0,255)
LET List_View_Handle&=@&(0)
GetSpecialFolder 7
Let Ordner$=@$(0)
Addzeile_To_ListView List_View_Handle&,0,0,Ordner$,1
Addzeile_To_ListView List_View_Handle&,0,1,Keine Einträge zu deinem Autostartordner hinzufügen lassen!,0
GetSpecialFolder $18
Let Ordner$=@$(0)
Addzeile_To_ListView List_View_Handle&,0,0,Ordner$,1
Addzeile_To_ListView List_View_Handle&,0,1,Keine Einträge zum globalen Autostartordner hinzufügen lassen!,0
Addzeile_To_ListView List_View_Handle&,0,0,$WINPATH,1
Addzeile_To_ListView List_View_Handle&,0,1,Keine neuen Dateinen im Windowsverzeivchnis erstellen!,0
Addzeile_To_ListView List_View_Handle&,0,0,$SYSPATH,1
Addzeile_To_ListView List_View_Handle&,0,1,Keine neuen Dateinen im Windows-Systemverzeichnis erstellen!,0
Addzeile_To_ListView List_View_Handle&,0,0,$WINPATH+WIN.INI,2
Addzeile_To_ListView List_View_Handle&,0,1,Die Datei WINI.INI nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,$WINPATH+SYSTEM.INI,2
Addzeile_To_ListView List_View_Handle&,0,1,Die Datei SYSTEM.INI nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,$SYSPATH+AUTOEXEC.NT,2
Addzeile_To_ListView List_View_Handle&,0,1,Die Datei AUTOEXEC.NT nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,$SYSPATH+CONFIG.NT,2
Addzeile_To_ListView List_View_Handle&,0,1,Die Datei CONFIG.NT nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders,0
Addzeile_To_ListView List_View_Handle&,0,1,Ausweichorte der Systemordner (u.a.Autostart) für neue User nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders,0
Addzeile_To_ListView List_View_Handle&,0,1,Orte der Systemordner (u.a.Autostart) für neue User nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindows NTCurrentVersionWindows,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im Registryschlüssel Windows für neue User ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindows NTCurrentVersionWindowsload,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im Registryschlüssel load für neue User ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindows NTCurrentVersionWindowsun,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im Registryschlüssel run für neue User ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwarePoliciesMicrosoftSystem,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im Registryschlüssel System für neue User ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionRunOnce,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im Registryschlüssel RunOnce für neue User ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionRun,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im Registryschlüssel Run für neue User ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,0
Addzeile_To_ListView List_View_Handle&,0,1,Taskmanager und Registrytools können durch die Registry für neue User nicht abgeschaltet werden!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,0
Addzeile_To_ListView List_View_Handle&,0,1,Taskmanager und Registrytools können durch die Registry für lokalen User nicht abgeschaltet werden!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders,0
Addzeile_To_ListView List_View_Handle&,0,1,Ausweichorte der lokalen Systemordner (u.a.Autostart) nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders,0
Addzeile_To_ListView List_View_Handle&,0,1,Orte der lokale Systemordner (u.a.Autostart) nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im lokalen Registryschlüssel Windows ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindows NTCurrentVersionWindowsun,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im lokalen Registryschlüssel run ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindows NTCurrentVersionWindowsload,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im lokalen Registryschlüssel load ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwarePoliciesMicrosoftSystem,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im lokalen Registryschlüssel System ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindowsCurrentVersionRunOnce,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im lokalen Registryschlüssel RunOnce ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKCUSoftwareMicrosoftWindowsCurrentVersionRun,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im lokalen Registryschlüssel Run ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSystemCurrentControlSetControlSession ManagerPendingFileRenameOperations,0
Addzeile_To_ListView List_View_Handle&,0,1,Umbenennen von DLLs durch Registryeintrag verhindern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSystemCurrentControlSetControlUpdate,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel Update ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESexefileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf EXE Programm starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESatfileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf BAT Batchdatei starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSEScmdfileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf CMD Datei starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSEScomfileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf COM Dosprogramm starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESpiffileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf PIF Dosverknüpfung starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESvbsfileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf VBS Script starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESvbefileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf VBE Script starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESscrfileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf SCR Screensaver starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESegfileshellopencommand,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine weiteren Programme beim Klick auf REG Registrierungsdatei starten!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders,0
Addzeile_To_ListView List_View_Handle&,0,1,Orte der globalen Systemordner (u.a.Autostart) nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders,0
Addzeile_To_ListView List_View_Handle&,0,1,Ausweichorte der globalen Systemordner (u.a.Autostart) nicht ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwarePoliciesMicrosoftWindowsSystStartup,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel SystStartup ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionRunOnce,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel RunOnce ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionRun,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel Run ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindows NTCurrentVersionWinlogon,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel Winlogon ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionRunOnceEx,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel RunOnceEx ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel Setup ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte im globalen Registryschlüssel ShellServiceObjectDelayLoad ändern!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSESCLSID,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte und Unterschlüssel im globalen Registryschlüssel CLSID erstellen!,0
Addzeile_To_ListView List_View_Handle&,0,0,HKLMSoftwareCLASSES,0
Addzeile_To_ListView List_View_Handle&,0,1,Keine Werte und Unterschlüssel im globalen Registryschlüssel CLASSES erstellen!,0
Enablewindow Speichern&,1
Usecursor 0
IF @VAL(@LEFT$($WINVER,1))<5
@Messagebox(Dieses Programm wurde nicbt für dies Windowsversion gemacht und funktioniert hier evtl. nicht!,Schaaaade...,32)
endif
@SetFocus(%HWND)
While %UMESSAGE<>$10
Waitinput
IF %MENUITEM=101
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKCU
Set_ListView_Check List_View_Handle&,Zähler%,1
ElseIf @Left$(@$(0),5)=HKLM
Set_ListView_Check List_View_Handle&,Zähler%,1
ElseIf @Left$(@$(0),4)=HKU
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=905
Setmenuitem 0
@Messagebox(Programmiert von
Andreas Hötker
Buddenkamp 12
49324 Melle
05422/46946
Profan² 7.5.,Programminfos:,32)
elseif %MENUITEM=904
Setmenuitem -2
elseif %MENUITEM=903
Setmenuitem 0
Assign #1,Pfad$+Protokoll.TXT
REWRITE #1
Close #1
LET Shell_Rückgabe&=%IORESULT
elseif %MENUITEM=902
Setmenuitem 0
Let Shell_Rückgabe&=@Shellexec(Pfad$+Protokoll.TXT,open,1)
LET AHRückgabe&=@AHGetLastError()
If Shell_Rückgabe&<32
Print_Last_Error Protokoll%
@Messagebox(AHGETERROR_Buffer$,Fehler beim Öffnen des Protokolls!,64)
endif
elseif %MENUITEM=901
Setmenuitem 0
Let Protokoll%=@Not(Protokoll%)
WRITEINI HKEY_1,SoftwareAHOWTB,Logdatei=@STR$(Protokoll%)
IF Protokoll%=1
Assign #1,Pfad$+Protokoll.TXT
CHDIR PFAD$
IF @FINDFIRST$(Protokoll.TXT)=
Rewrite #1
Print #1,*** +@Date$(2)+ +@Time$(0)+ ***
Close #1
else
APPEND #1
Print #1,*** +@Date$(2)+ +@Time$(0)+ ***
Close #1
endif
endif
CheckMenu 901,Protokoll%
elseif %MENUITEM=102
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKCU
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=103
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKLM
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=104
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),4)=HKU
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=201
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Set_ListView_Check List_View_Handle&,Zähler%,1
INC Zähler%
wend
elseif %MENUITEM=301
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
LET MERKER$=@$(0)
CHDIR MERKER$
If MERKER$=@GetDir$(@)
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=401
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
LET MERKER$=@$(0)
CHDIR MERKER$
If @and(MERKER$<>@GetDir$(@),@MID$(MERKER$,2,2)=:)
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=203
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
Let Merker$=@$(0)
IF HKLMSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
elseIF HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
elseIF HKCUSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
else
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=202
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
Let Merker$=@$(0)
IF HKLMSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
elseIF HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
elseIF HKCUSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
elseif @INSTR(SoftwareMicrosoftWindows NTCurrentVersionWindowsload,Merker$)>0
Set_ListView_Check List_View_Handle&,Zähler%,1
elseif @INSTR(SoftwareMicrosoftWindows NTCurrentVersionWindowsun,Merker$)>0
Set_ListView_Check List_View_Handle&,Zähler%,1
elseif @INSTR(WIN.INI,Merker$)>0
Set_ListView_Check List_View_Handle&,Zähler%,1
elseif @INSTR(SYSTEM.INI,Merker$)>0
Set_ListView_Check List_View_Handle&,Zähler%,1
elseIF $SYSPATH=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
elseIF $WINPATH=Merker$
Set_ListView_Check List_View_Handle&,Zähler%,1
else
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=501
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Set_ListView_Check List_View_Handle&,Zähler%,2
INC Zähler%
wend
elseif %MENUITEM=502
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKCU
Set_ListView_Check List_View_Handle&,Zähler%,2
ElseIf @Left$(@$(0),5)=HKLM
Set_ListView_Check List_View_Handle&,Zähler%,2
ElseIf @Left$(@$(0),4)=HKU
Set_ListView_Check List_View_Handle&,Zähler%,2
endif
INC Zähler%
wend
elseif %MENUITEM=503
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
LET MERKER$=@$(0)
CHDIR MERKER$
If @and(MERKER$<>@GetDir$(@),@MID$(MERKER$,2,2)=:)
Set_ListView_Check List_View_Handle&,Zähler%,2
endif
INC Zähler%
wend
elseif %MENUITEM=504
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
LET MERKER$=@$(0)
CHDIR MERKER$
If MERKER$=@GetDir$(@)
Set_ListView_Check List_View_Handle&,Zähler%,2
endif
INC Zähler%
wend
elseif %MENUITEM=601
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Set_ListView_Check List_View_Handle&,Zähler%,0
INC Zähler%
wend
elseif %MENUITEM=602
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKCU
Set_ListView_Check List_View_Handle&,Zähler%,0
ElseIf @Left$(@$(0),5)=HKLM
Set_ListView_Check List_View_Handle&,Zähler%,0
ElseIf @Left$(@$(0),4)=HKU
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=512
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
Let Merker$=@$(0)
Let Merker%=0
IF HKLMSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Let Merker%=1
elseIF HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Let Merker%=1
elseIF HKCUSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Let Merker%=1
endif
If Merker%=0
Set_ListView_Check List_View_Handle&,Zähler%,2
endif
INC Zähler%
wend
elseif %MENUITEM=511
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
Let Merker$=@$(0)
Let Merker%=0
IF HKLMSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Let Merker%=1
elseIF HKU+.DefaultSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Let Merker%=1
elseIF HKCUSoftwareMicrosoftWindowsCurrentVersionRun=Merker$
Let Merker%=1
elseif @INSTR(SoftwareMicrosoftWindows NTCurrentVersionWindowsload,Merker$)>0
Let Merker%=1
elseif @INSTR(SoftwareMicrosoftWindows NTCurrentVersionWindowsun,Merker$)>0
Let Merker%=1
elseif @INSTR(WIN.INI,Merker$)>0
Let Merker%=1
elseif @INSTR(SYSTEM.INI,Merker$)>0
Let Merker%=1
elseIF $SYSPATH=Merker$
Let Merker%=1
elseIF $WINPATH=Merker$
Let Merker%=1
endif
IF Merker%=0
Set_ListView_Check List_View_Handle&,Zähler%,2
endif
INC Zähler%
wend
elseif %MENUITEM=505
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKLM
Set_ListView_Check List_View_Handle&,Zähler%,2
endif
INC Zähler%
wend
elseif %MENUITEM=506
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKCU
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=507
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),4)=HKU
Set_ListView_Check List_View_Handle&,Zähler%,1
endif
INC Zähler%
wend
elseif %MENUITEM=605
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKLM
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=606
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),5)=HKCU
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=607
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
If @Left$(@$(0),4)=HKU
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=603
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
LET MERKER$=@$(0)
CHDIR MERKER$
If @and(MERKER$<>@GetDir$(@),@MID$(MERKER$,2,2)=:)
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=604
Setmenuitem 0
LET Zähler%=0
While Zähler%<60
Get_ListView_Text List_View_Handle&,Zähler%
LET MERKER$=@$(0)
CHDIR MERKER$
If MERKER$=@GetDir$(@)
Set_ListView_Check List_View_Handle&,Zähler%,0
endif
INC Zähler%
wend
elseif %MENUITEM=701
Setmenuitem 0
$B Aufruf der Hilfedatei
WinHelp Pfad$+OWTB_Hilfe.HLP,*
elseif %MENUITEM=702
Setmenuitem 0
$B Aufruf der Kontexthilfe
Get_ListView_Marked_text List_View_Handle&
WinHelp Pfad$+OWTB_Hilfe.HLP,@$(0)
elseif @Buttonclicked(Speichern&)
Setmenuitem 0
Enablewindow Speichern&,0
Enablewindow Erzeugen&,0
Enablewindow List_View_Handle&,0
Usecursor 2
LET Zähler%=0
LET HPERC%=0
While Zähler%<60
Get_ListView_Check List_View_Handle&,Zähler%
LET LVCHECK&=@&(0)
IF LVCHECK&>0
INC HPERC%
endif
INC Zähler%
wend
LET Filled%=0
GET_Group_Name Administratoren,Protokoll%,LOG_EINTRÄGE&
LET My_Account$=@$(0)
LET ZÄHLER%=0
Let Merker%=0
While Zähler%<60
Sleep 10
Get_ListView_Check List_View_Handle&,Zähler%
LET LVCHECK&=@&(0)
Get_ListView_Text List_View_Handle&,Zähler%
Let Merker$=@$(0)
IF LVCHECK&>0
$D ,Merker$
INC Filled%
LET ProgressZähler&=@INT((Filled%/HPERC%)*100)
@sendmessage(PROGRESSHandle&,$0400+2,ProgressZähler&,0)
If Merker$=HKLMSoftwareCLASSESCLSID
IF @GetCheck(Erzeugen&)
LET SUB_KEY$=@RIGHT$(MERKER$,@LEN(MERKER$)-5)
LET FILE_FEHLER&=@RegCreateKeyEx($80000001,@ADDR(SUB_KEY$),@ADDR(Windowname$),0,$0,$0,0,@ADDR(R_HANDLE&),@ADDR(Disposition&))
@AHRegCloseKey(R_HANDLE&)
endif
IF LVCHECK&=1
Let Merker%=7
ElseIF LVCHECK&=2
Let Merker%=8
endif
Let Merker$=@Translate$(Merker$,HKLM,HKEY_LOCAL_MACHINE)
ELSEIf Merker$=HKLMSoftwareCLASSES
IF @GetCheck(Erzeugen&)
LET SUB_KEY$=@RIGHT$(MERKER$,@LEN(MERKER$)-5)
LET FILE_FEHLER&=@RegCreateKeyEx($80000001,@ADDR(SUB_KEY$),@ADDR(Windowname$),0,$0,$0,0,@ADDR(R_HANDLE&),@ADDR(Disposition&))
@AHRegCloseKey(R_HANDLE&)
endif
IF LVCHECK&=1
Let Merker%=7
ElseIF LVCHECK&=2
Let Merker%=8
endif
Let Merker$=@Translate$(Merker$,HKLM,HKEY_LOCAL_MACHINE)
ElseIf @Left$(Merker$,5)=HKCU
IF @GetCheck(Erzeugen&)
LET SUB_KEY$=@RIGHT$(MERKER$,@LEN(MERKER$)-5)
LET FILE_FEHLER&=@RegCreateKeyEx($80000001,@ADDR(SUB_KEY$),@ADDR(Windowname$),0,$0,$0,0,@ADDR(R_HANDLE&),@ADDR(Disposition&))
@AHRegCloseKey(R_HANDLE&)
endif
IF LVCHECK&=1
Let Merker%=1
ElseIF LVCHECK&=2
Let Merker%=2
endif
Let Merker$=@Translate$(Merker$,HKCU,HKEY_CURRENT_USER)
elseIf @Left$(Merker$,5)=HKLM
IF @GetCheck(Erzeugen&)
LET SUB_KEY$=@RIGHT$(MERKER$,@LEN(MERKER$)-5)
LET FILE_FEHLER&=@RegCreateKeyEx($80000002,@ADDR(SUB_KEY$),@ADDR(Windowname$),0,$0,$0,0,@ADDR(R_HANDLE&),@ADDR(Disposition&))
@AHRegCloseKey(R_HANDLE&)
endif
IF LVCHECK&=1
Let Merker%=1
ElseIF LVCHECK&=2
Let Merker%=2
endif
Let Merker$=@Translate$(Merker$,HKLM,HKEY_LOCAL_MACHINE)
elseIf @Left$(Merker$,4)=HKU
IF @GetCheck(Erzeugen&)
LET SUB_KEY$=@RIGHT$(MERKER$,@LEN(MERKER$)-4)
LET FILE_FEHLER&=@RegCreateKeyEx($80000003,@ADDR(SUB_KEY$),@ADDR(Windowname$),0,$0,$0,0,@ADDR(R_HANDLE&),@ADDR(Disposition&))
@AHRegCloseKey(R_HANDLE&)
endif
IF LVCHECK&=1
Let Merker%=1
ElseIF LVCHECK&=2
Let Merker%=2
endif
Let Merker$=@Translate$(Merker$,HKU,HKEY_USERS)
Else
CHDIR MERKER$
IF @GetDir$(@)=Merker$
Ordner
IF LVCHECK&=1
Let Merker%=3
ElseIF LVCHECK&=2
Let Merker%=4
endif
Else
Datei
IF LVCHECK&=1
Let Merker%=5
ElseIF LVCHECK&=2
Let Merker%=6
endif
Endif
endif
IF Merker%=1
Set_RegKey_ACE_IN_DACL Merker$,My_Account$,-,KEY_SET_VALUE WRITE_DAC _DELETE,Protokoll%,LOG_EINTRÄGE&
ElseIF Merker%=2
Set_RegKey_ACE_IN_DACL Merker$,My_Account$,+,KEY_SET_VALUE WRITE_DAC _DELETE,Protokoll%,LOG_EINTRÄGE&
ELSEIF Merker%=7
Set_RegKey_ACE_IN_DACL Merker$,My_Account$,-,KEY_CREATE_SUB_KEY KEY_SET_VALUE WRITE_DAC _DELETE,Protokoll%,LOG_EINTRÄGE&
ElseIF Merker%=8
Set_RegKey_ACE_IN_DACL Merker$,My_Account$,+,KEY_CREATE_SUB_KEY KEY_SET_VALUE WRITE_DAC _DELETE,Protokoll%,LOG_EINTRÄGE&
ElseIF Merker%=5
Set_File_ACE_IN_DACL MERKER$,My_Account$,-,FILE_WRITE_DATA WRITE_DAC FILE_APPEND_DATA _DELETE,Protokoll%,LOG_EINTRÄGE&
ElseIF Merker%=6
Set_File_ACE_IN_DACL MERKER$,My_Account$,+,FILE_WRITE_DATA WRITE_DAC FILE_APPEND_DATA _DELETE,Protokoll%,LOG_EINTRÄGE&
ElseIF Merker%=3
Set_File_ACE_IN_DACL MERKER$,My_Account$,-,FILE_WRITE_DATA WRITE_DAC _DELETE,Protokoll%,LOG_EINTRÄGE&
ElseIF Merker%=4
Set_File_ACE_IN_DACL MERKER$,My_Account$,+,FILE_WRITE_DATA WRITE_DAC _DELETE,Protokoll%,LOG_EINTRÄGE&
endif
endif
INC Zähler%
wend
Usecursor 0
Enablewindow Speichern&,1
Enablewindow Erzeugen&,1
Enablewindow List_View_Handle&,1
LET ProgressZähler&=0
@sendmessage(PROGRESSHandle&,$0400+2,ProgressZähler&,0)
endif
wend
@Destroywindow(List_View_Handle&)
@ImageList_Destroy(Imagelist&)