Hi,
Ich schreibe gerade ein Programm zum System Sperren, es funktioniert auch super nur mit Ctrl+Alt+Del kommt man immernoch in die Windows-Sicherheit und kann sich abmelden/den pc herunterfahren, nun hab ich schon öfter Anwendungen gesehen die sich über den Anmelde Screen legen können und auch sichtbar sind wenn man in der Windows-Sicherheit ist, wie geht sowas?
Schonmal THX in voraus!
mfg
125
System Abriegeln
System Abriegeln


- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
>> wie kann ich den namen des eingeloggten Users herrausfinden?
Code: Alles auswählen
Procedure.s GetUserName()
Prg.s = Space(#MAX_PATH):len=#MAX_PATH
GetUserName_( @Prg, @len)
ProcedureReturn Prg
EndProcedure
Debug GetUserName()
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Ich hab hier einen Code von Danilo. Vielleicht hilft der dir weiter:
Code: Alles auswählen
;
; by Danilo, Posted - 26 Sep 2002 : 03:14:34 (engl. forum)
;
; merendo,
;
; on winNT/2000/XP no program is allowed To
; block the CTRL+ALT+DEL, because this would
; be a security risc.
; Every program could block CTRL+ALT+DEL And
; do what it wants... And the user couldnt stop
; it anymore.
;
; If you use Windows98, you can do it by telling
; windows your app is a screensaver.
;
; This code disables ALT+TAB, ATL+ESC, And Windows-Keys...
; ...also on Win2000:
; The line " SystemParametersInfo_( #SPI_SCREENSAVERRUNNING, 1, @Dummy, 0) "
; is For Windows 9x Systems.
; It tells Windows that a screensaver is running, so it blocks
; all other input on Win9x.
SystemParametersInfo_( #SPI_SCREENSAVERRUNNING, 1, @dummy, 0);
OpenLibrary(1,"kernel32.dll")
CallFunction(1,"RegisterServiceProcess", GetCurrentProcessID_(), 1 )
Structure KBDLLHOOKSTRUCT
vkCode.l
scanCode.l
flags.l
Time.l
dwExtraInfo.l
EndStructure
Procedure.l myKeyboardHook(nCode, wParam, *P.KBDLLHOOKSTRUCT)
If nCode = #HC_ACTION
If wParam = #WM_KEYDOWN Or wParam = #WM_SYSKEYDOWN Or wParam = #WM_KeyUp Or wParam = #WM_SYSKEYUP
#LLKHF_ALTDOWN = $20
If ((*P\vkCode = #VK_TAB) And (*P\flags & #LLKHF_ALTDOWN)) Or ((*P\vkCode = #VK_ESCAPE) And (*P\flags & #LLKHF_ALTDOWN)) Or ((*P\vkCode & #VK_ESCAPE) And (GetKeyState_(#VK_CONTROL) & $8000)) ;Or
ProcedureReturn 1
ElseIf (*P\vkCode = #VK_LWIN) Or (*P\vkCode = #VK_RWIN)
ProcedureReturn 1
EndIf
EndIf
EndIf
;beep_(800,1)
ProcedureReturn CallNextHookEx_(0, nCode, wParam, lParam)
EndProcedure
; Win NT
#WH_KEYBOARD_LL = 13
hook = SetWindowsHookEx_(#WH_KEYBOARD_LL,@myKeyboardHook(),GetModuleHandle_(0),0)
;If hook = 0: End: EndIf
hwnd = OpenWindow(1,10,10,100,100,#PB_Window_BorderLess,"")
ShowWindow_(hwnd, #SW_MAXIMIZE)
;SetWinBackgroundColor(hwnd,0)
CreateGadgetList(hwnd)
hString = StringGadget(1,GetSystemMetrics_(#SM_CXSCREEN)/2-100/2, GetSystemMetrics_(#SM_CYSCREEN)/2,100,20,"Enter Password",#PB_String_Numeric)
SetFocus_(hString)
GetWindowRect_(hString, winrect.RECT)
;SetThreadPriority_(GetCurrentThread_(),#REALTIME_PRIORITY_CLASS)
Repeat
message = WindowEvent()
SetActiveWindow_(hwnd)
SetWindowPos_(hwnd,#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)
ClipCursor_(winrect)
SendMessage_(hString,#WM_KEYDOWN,#VK_END,0)
SetFocus_(hString)
If message
Select message
Case #PB_EventGadget
Select EventGadgetID()
Case 1
If GetGadgetText(1) = "123"
UnhookWindowsHookEx_(hook)
ClipCursor_(0)
SystemParametersInfo_( #SPI_SCREENSAVERRUNNING, 0, @dummy, 0);
End
EndIf
EndSelect
EndSelect
Else
Delay(1)
EndIf
ForEver
; But CTRL+ALT+DEL can on win2000 only be disabled
; by writing a lowlevel system device driver For the keyboard.
; Info about this should be in the MS DDK.
;
; Best way For you would be To install win98
; on your disco machine...
;
; cya,
; ...Danilo
;
; (registered PureBasic user)
;
THX, aber den hab ich schon, leider ist der nicht CtrlAltDel sicher wenn die Wilkommenseite abgeschaltet ist die Windowsicherheit blendet den kompletten desktop aus und ihr fenster einNicTheQuick hat geschrieben:Ich hab hier einen Code von Danilo. Vielleicht hilft der dir weiter:

Services werden ja als SYSTEM ausgeführtProcedure.s GetUserName()
Prg.s = Space(#MAX_PATH):len=#MAX_PATH
GetUserName_( @Prg, @len)
ProcedureReturn Prg
EndProcedure
Debug GetUserName()



