VC实现Win2000下屏蔽Ctrl+Alt+Del键(6)
return theApp.MyWlxNetworkProviderLoad(pWlxContext,pNprNotifyInfo); // return TRUE; } // Winlogon.exe调用该函数,告诉gina dll停止显示状态信息 // 直接返回TRUE表示信息已经删除
return theApp.MyWlxNetworkProviderLoad(pWlxContext,pNprNotifyInfo);
// return TRUE;
}
// Winlogon.exe调用该函数,告诉gina dll停止显示状态信息
// 直接返回TRUE表示信息已经删除
BOOL WINAPI WlxRemoveStatusMessage(PVOID pWlxContext)
{
return theApp.MyWlxRemoveStatusMessage(pWlxContext);
// return TRUE;
}
// 在屏保程序启动前一瞬Winlogon.exe调用该函数,允许gina dll同屏保程序交互
// 返回FALSE表示屏保程序不能启动
BOOL WINAPI WlxScreenSaverNotify(PVOID pWlxContext, BOOL *pSecure)
{
return theApp.MyWlxScreenSaverNotify(pWlxContext,pSecure);
}
// 在系统关闭之前,Winlogon.exe调用该函数
// 允许gina dll处理一些系统关闭前的处理
VOID WINAPI WlxShutdown(PVOID pWlxContext, DWORD ShutdownType)
{
theApp.MyWlxShutdown(pWlxContext,ShutdownType);
}
// 当系统要求在用户上下文中启动程序,Winlogon.exe调用该函数
// 这种情况发生在:浏览器非正常关闭需要重启或需要启动扩展的任务管理器
// 该接口gina dll可以选择性实现
BOOL WINAPI WlxStartApplication(PVOID pWlxContext,PWSTR pszDesktopName,PVOID pEnvironment,PWSTR pszCmdLine)
{
return theApp.MyWlxStartApplication(pWlxContext,pszDesktopName,pEnvironment,pszCmdLine);
}
// 在锁定状态下,Winlogon.exe接收到SAS事件调用该函数
int WINAPI WlxWkstaLockedSAS(PVOID pWlxContext, DWORD dwSasType)
{
return theApp.MyWlxWkstaLockedSAS(pWlxContext,dwSasType);
}
// return TRUE;
}
// Winlogon.exe调用该函数,告诉gina dll停止显示状态信息
// 直接返回TRUE表示信息已经删除
BOOL WINAPI WlxRemoveStatusMessage(PVOID pWlxContext)
{
return theApp.MyWlxRemoveStatusMessage(pWlxContext);
// return TRUE;
}
// 在屏保程序启动前一瞬Winlogon.exe调用该函数,允许gina dll同屏保程序交互
// 返回FALSE表示屏保程序不能启动
BOOL WINAPI WlxScreenSaverNotify(PVOID pWlxContext, BOOL *pSecure)
{
return theApp.MyWlxScreenSaverNotify(pWlxContext,pSecure);
}
// 在系统关闭之前,Winlogon.exe调用该函数
// 允许gina dll处理一些系统关闭前的处理
VOID WINAPI WlxShutdown(PVOID pWlxContext, DWORD ShutdownType)
{
theApp.MyWlxShutdown(pWlxContext,ShutdownType);
}
// 当系统要求在用户上下文中启动程序,Winlogon.exe调用该函数
// 这种情况发生在:浏览器非正常关闭需要重启或需要启动扩展的任务管理器
// 该接口gina dll可以选择性实现
BOOL WINAPI WlxStartApplication(PVOID pWlxContext,PWSTR pszDesktopName,PVOID pEnvironment,PWSTR pszCmdLine)
{
return theApp.MyWlxStartApplication(pWlxContext,pszDesktopName,pEnvironment,pszCmdLine);
}
// 在锁定状态下,Winlogon.exe接收到SAS事件调用该函数
int WINAPI WlxWkstaLockedSAS(PVOID pWlxContext, DWORD dwSasType)
{
return theApp.MyWlxWkstaLockedSAS(pWlxContext,dwSasType);
}
四、小结
本实例介绍了如何通过自定义一个DLL文件来屏蔽Windows2000下Ctrl+Alt+Del键的方法,对于读者朋友了解Windows的内幕性知识是有帮助的,当然,屏蔽Ctrl+Alt+Del键的方法不止这一种,本实例只是起一个抛砖引玉,开拓思路的作用。
- 上一篇:如何用VC++控制多光驱
- 下一篇:VC++ 替换 exe 可执行文件的图标
精彩图集