Quellcode
- '#####################################################################################
- '######### Native XProfan Code von AHT #########
- '######### erstellt für [URL]http://www.paules-pc-forum.de[/URL] #########
- '#####################################################################################
- Declare Ordner$, NtFehler%, Object_Attrib#, LSA_UNICODE#, Fehler%, IOStatus%, StatusBlock#
- Declare UNICODE#, FileHandle%, FileInformation#, FileInformationLength&
- Declare Offset%, FileNameLength&, Filename#, Ordner2$, Attributes&, PRIORITY&
- Declare Offset1%
- Ordner$ = ChooseDir$("Bitte Ordner auswählen:")
- If Ordner$ <> ""
- If Len(Ordner$) > 3
- If Right$(Ordner$, 1) = "\"
- Ordner$ = Left$(Ordner$, len(Ordner$)-1)
- endif
- endif
- Ordner2$ = Ordner$
- Ordner$ = "[URL='file://\\??\\']\\??\\[/URL]" + Ordner$
- DIM Object_Attrib#, 24
- DIM LSA_UNICODE#, 8
- Dim UNICODE#, len(Ordner$) * 2 + 4
- DIM StatusBlock#, 16
- Dim Filename#, 600
- Fehler% = External("kernel32", "MultiByteToWideChar", 0, 0, addr(Ordner$), -1, UNICODE#, int(len(Ordner$) + 2))
- Long Object_Attrib#, 0 = 24
- Long Object_Attrib#, 4 = 0
- Long Object_Attrib#, 12 = $40 | $80
- WORD LSA_UNICODE#, 0 = len(Ordner$) * 2
- WORD LSA_UNICODE#, 2 = len(Ordner$) * 2 + 2
- LONG LSA_UNICODE#, 4 = UNICODE#
- Long Object_Attrib#, 8 = LSA_UNICODE#
- NtFehler% = External("ntdll", "NtOpenFile", addr(FileHandle%), $1, Object_Attrib#, StatusBlock#, $4 | $2 | $1, $1)
- IF NtFehler% = 0
- FileInformationLength& = 30000000
- Dim FileInformation#, FileInformationLength&
- Clear StatusBlock#
- PRIORITY& = External("kernel32", "GetPriorityClass", External("kernel32", "GetCurrentProcess"))
- Fehler% = External("kernel32", "SetPriorityClass", external("kernel32", "GetCurrentProcess"), $40)
- NtFehler% = External("ntdll", "NtQueryDirectoryFile", FileHandle%, 0, 0, 0, StatusBlock#, FileInformation#, FileInformationLength&, 2, 0, 0, 1)
- Sleep 1
- Fehler% = External("kernel32", "SetPriorityClass", external("kernel32", "GetCurrentProcess"), PRIORITY&)
- Offset% = 0
- If (NtFehler% = 0) or (NtFehler% = 259)
- Repeat
- FileNameLength& = Long(FileInformation#, Offset% + 60)
- Attributes& = Long(FileInformation#, Offset% + 56)
- Clear Filename#
- Fehler% = External("kernel32", "WideCharToMultiByte", 0, 0, FileInformation# + Offset% + 68, int(FileNameLength& / 2), Filename#, 500 , 0, 0)
- If Attributes& | $10 = Attributes&
- AddString "[' + String$(Filename#, 0) + ']"
- else
- AddString String$(Filename#, 0)
- endif
- Offset1% = Long(FileInformation#, Offset%)
- Offset% = Offset% + Long(FileInformation#, Offset%)
- until Offset1% = 0
- endif
- NtFehler% = External("ntdll", "NtClose", FileHandle%)
- Dispose FileInformation#
- endif
- EditBox("inhalt von " + Ordner2$, 0)
- Dispose Filename#
- Dispose StatusBlock#
- Dispose UNICODE#
- Dispose LSA_UNICODE#
- Dispose Object_Attrib#
- endif
________________________________________________________
PPFScanner PPFS Android MisterXMail@web.de
Mfg AHT
PPFScanner PPFS Android MisterXMail@web.de
Mfg AHT