Toon posts:

uitzetten van CTRL-ALT-DELETE met Visual Basic

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een programma nodig dat niet door CTRL-ALT-DELETE afgesloten kan worden... en dus ook niet door ALT-TAB of CTRL-ESC van programma gewisselt kan worden.

Het moet als volgd werken. Leerlingen melden zich aan met mijn programma en het programma verwerkt de gegevens in een log-file.

Het is niet de bedoeling dat er gewoon zelf in de log-file geschreven kan worden. (Daarom wil ik dus CTRL-ALT-DELETE uitzetten)

Is dit mogelijk met Visual Basic ?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Check de windows api functies.
Volgens mij is er eentje (voor screensavers bedoeld) die dit doet.

Who is John Galt?


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Welk systeem?

Ik weet het niet zeker maar volgens mij kan je het niet afvangen met de NT versie's (NT/2000/XP). Dit ivm beveiliging.

Kan je trouwens niet beter de log file encrypted maken?

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
> Kan je trouwens niet beter de log file encrypted maken?

Dit zou heel goed kunnen, maar ik dacht niet dat er een optie voor was en werk liever niet met third party components

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

http://www.codeproject.com/asp/adrian_bacaianu.asp

Ik weet niet of je hier wat aan hebt ...

Kijk maar eens...

* LuCarD is geen VB-r

Programmer - an organism that turns coffee into software.


Verwijderd

Just Mental heeft gelijk, er is gewoon een API voor, gewoon ff zoeken

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:10
Ik denk niet dat het zo makkelijk zal gaan. Iemand op m'n werk wou dat ook doen, en had ook eerst met die API functie v die screen saver zitten klooien, maar dat lukte niet direct.
Wat hij dan gedaan heeft: een DLL geschreven rond de Gina - dll. In zijn dll verwijst hij dan naar een nieuwe functie die de ctrl-alt-delete opvangt, en alle andere functies lust hij door naar de originele dll.

(Dit werkt op Windows NT en Windows XP, en waarschijnlijk ook op '95/98)

https://fgheysels.github.io/


  • Norckon
  • Registratie: September 2000
  • Laatst online: 02-09 16:05
Disabling Ctrl-Alt-Delete and Ctrl-Esc

It is often useful in Visual Basic programs to be able to disable the Ctrl-Alt-Delete key sequence. It is easily done by persuading Windows that a screen saver is running. This code also disables Ctrl-Esc, that is used to activate the Start Menu.

Declarations
Copy this code into the declarations section of your project.

Private Declare Function SystemParametersInfo Lib _
"user32" Alias "SystemParametersInfoA" (ByVal uAction _
As Long, ByVal uParam As Long, ByVal lpvParam As Any, _
ByVal fuWinIni As Long) As Long

Code
Sub DisableCtrlAltDelete(bDisabled As Boolean)
Dim X As Long
X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub

Use
To disable Ctrl-Alt-Delete:

Call DisableCtrlAltDelete(True)
To enable Ctrl-Alt-Delete:

Call DisableCtrlAltDelete(False)
Hiding Your Program in the Ctrl-Alt-Del list

To do this, your must register your program as a
service. This is done by passing the process ID of
your application to the RegisterService API.

--> Declarations

Copy the following code into the declarations
section of a module:

Public Declare Function GetCurrentProcessId _
Lib "kernel32" () As Long
Public Declare Function GetCurrentProcess _
Lib "kernel32" () As Long
Public Declare Function RegisterServiceProcess _
Lib "kernel32" (ByVal dwProcessID As Long, _
ByVal dwType As Long) As Long
Public Const RSP_SIMPLE_SERVICE = 1
Public Const RSP_UNREGISTER_SERVICE = 0

--> Procedures

To remove your program from the Ctrl+Alt+Delete

list, call the MakeMeService procedure:

Public Sub MakeMeService()
Dim pid As Long
Dim reserv As Long

pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub

To restore your application to the Ctrl+Alt+Delete
list, call the UnMakeMeService procedure:

Public UnMakeMeService()
Dim pid As Long
Dim reserv As Long

pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, _
RSP_UNREGISTER_SERVICE)
'End Code

Don't forget to unregister your application as a
service before it closes to free up system
resources by calling UnMakeMeService.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:10
Volgens mij werkt die eerste methode niet onder Win NT.

https://fgheysels.github.io/

Pagina: 1