
本站地址:http://www.bajiao123.com

WlxNetworkProviderLoad
在加载网络服务提供程序收集了身份和认证信息后,Winlogon调用此函数
WlxRemoveStatusMessage
Winlogon调用此函数告诉GINA dll停止显示状态信息
WlxScreensaverNotify
允许GINA与屏幕保护操作交互
WlxShutdown
在关闭之前Winlogon调用此函数,允许GINA实现任何关闭任务,例如从读卡器中退出智能卡
WlxStartApplication
当系统需要在用户的上下文中启动应用程序时调用此函数
WlxWkstalockedSAS
当工作站被锁定,如果接收到一个SAS,则Winlogon调用此函数
我们需要注意的是WlxLoggedOnSAS函数。屏蔽Ctrl+Alt+Del组合键代码将在调用该函数时添加。我们采用读取注册表键值来判断是否屏蔽,而该键值将在客户端程序中被操作。
// 当系统处于登陆成功,没有锁定的状态下
// Winlogon接收到SAS事件,于是调用该函数
int WINAPI WlxLoggedOnSAS(PVOID pWlxContext, DWORD dwSasType, PVOID pReserved)
{
HKEY hKey;
DWORD dwType=REG_DWORD; //定义读取数据类型:双字节
char content[4]; //所查询注册表键值的内容
DWORD dwLength=4;
//打开注册表键
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\FCSKBLock\\KBConfig",
0,KEY_READ,&hKey)
==ERROR_SUCCESS)
{ //读取CtrlAltDel键值
if(RegQueryValueEx(hKey,"CtrlAltDel",NULL,&dwType,(unsigned char *)content,&dwLength)
==ERROR_SUCCESS)
{
if(* content==1)
return WLX_SAS_ACTION_NONE;//直接返回桌面程序,实现屏蔽
}
}
return theApp.MyWlxLoggedOnSAS(pWlxContext,dwSasType,pReserved ) ;
}
开发完成的自定义GINA.dll要放到Wint\system32文件夹中。并修改注册表:
键项名
\HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon
子键名
myGina(任意名称均可)
子键类型
[REG_SZ]
子键值
上一页 [1] [2] [3] [4] [5] [6] 下一页
本站地址:http://www.bajiao123.com

