Disable Ctrl-Alt-Delete for Visual Basic .net

  • Thread starter Thread starter Greg
  • Start date Start date
G

Greg

I am developing an application where I need to secure a
workstation for periods of time. I can use BlockInput to
stop users from task switching or messing with the
keyboard, but I would like to disable Ctrl-Alt-Delete.

It seems there seems to be only one real way I know
about: Write a replacement Gina Driver to eat the
keyboard events I dont want. Does anyone have a good
template for this in Visual Basic .Net?

Or if there is an easier way that work in Win2K I am all
ears!

Thanks!
 
I would think that if you could override CTL+ALT+DEL, you'd be getting
around one of Window's main security tasks.
 
Thats exactly right.

In some environments, the PC's need to be locked down tighter than normal.
Hence I need to disable this screen under certain conditions.

g.
 
A reply to this thread has been made in microsoft.public.dontnet.fraimwork
(I am posting here):

Hello,

Thanks for your post. As I understand, you want to trap and disable
Ctrl-Alt-Delete programmatically in Win2K. Please correct me if there is
any misunderstanding. I reviewed your description carefully, and now I'd
like to share the following information with you:

1. As documented in the article to which you pointed, you can use
DisableTaskMgr to disable Ctrl+Alt+Del. To trap Ctrl+Alt+Del, you have
three options: write a GINA stub, write a keyboard driver, or replace
TaskMgr.exe with your own program. I recommend you create a GINA stub which
is comparatively easy to implement among these three options.

2. However, we have to use VC instead of VB to implement a GINA Stub. As
you know, a GINA Stub is a native dynamic-link library (DLL) exported to
Winlogon that requires a valid, consistent function to call into. This
requires a DLL export, which .NET Framework does not support. Managed code
(VB .NET, C#) has no concept of a consistent value for a function pointer
because these function pointers are proxies that are built dynamically.

3. There is an existing GINA Stub sample in MSDN. To trap/disable
Ctrl-Alt-Delete, you just need to replace its WlxLoggedOnSAS with the one
in my code snippet below.

GinaStub Sample: Pass-through "Stub" Gina
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/
html/vcsmpginastubsample.asp?frame=true

/*----------------------------code snippet----------------------*/
int
WINAPI
WlxLoggedOnSAS(
PVOID pWlxContext,
DWORD dwSasType,
PVOID pReserved)
{
if (dwSasType == WLX_SAS_TYPE_CTRL_ALT_DEL)
{
/* Add additional code of you own */
return WLX_SAS_ACTION_NONE;
}
else
return GWlxLoggedOnSAS( pWlxContext, dwSasType, pReserved );
}
/*-----------------------------end of--------------------------------*/

In addition, I believe the following MSDN aritcles are helpful:

WlxLoggedOnSAS
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/se
curity/wlxloggedonsas.asp

Loading and Running a GINA DLL
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/se
curity/loading_and_running_a_gina_dll.asp

Please feel free to let me know if you have any problems or concerns.

Have a nice day!

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 
Back
Top