Deutsch
Anwendungen

OneWayTicket-Blocker

 
Aus [...]  entstandene kleine Spielerei. Hier der Quelltext:
KompilierenMarkierenSeparieren
*****************************************************************************************
**********     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 Nichtsndern 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&)

574 kB
Kurzbeschreibung: OneWayTicket-Blocker
Hochgeladen:31.12.2005
Ladeanzahl122
Herunterladen
 
31.12.2005  
 



Zur Anwendung


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.868 Betrachtungen

Unbenanntvor 0 min.
Georg Teles07.05.2014

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie