⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 password.c

📁 这是一个开放源代码的与WINNT/WIN2K/WIN2003兼容的操作系统
💻 C
字号:
//
//	password.c
//
//	Password support for Win9x
//
#include <windows.h>
#include <tchar.h>

typedef BOOL (WINAPI *VERIFYSCREENSAVEPWD)(HWND hwnd);
typedef VOID (WINAPI *PWDCHANGEPASSWORD)(LPCTSTR lpcRegkeyname, HWND hwnd,UINT uiReserved1,UINT uiReserved2);

BOOL VerifyPassword(HWND hwnd)
{ 
	// Under NT, we return TRUE immediately. This lets the saver quit,
	// and the system manages passwords. Under '95, we call VerifyScreenSavePwd.
	// This checks the appropriate registry key and, if necessary,
	// pops up a verify dialog

	HINSTANCE			hpwdcpl;
	VERIFYSCREENSAVEPWD VerifyScreenSavePwd;
	BOOL				fResult;
	
	if(GetVersion() < 0x80000000)
		return TRUE;

	hpwdcpl = LoadLibrary(_T("PASSWORD.CPL"));

	if(hpwdcpl == NULL) 
	{
		return FALSE;
	}

	
	VerifyScreenSavePwd = (VERIFYSCREENSAVEPWD)GetProcAddress(hpwdcpl, "VerifyScreenSavePwd");

	if(VerifyScreenSavePwd == NULL)
	{ 
		FreeLibrary(hpwdcpl);
		return FALSE;
	}

	fResult = VerifyScreenSavePwd(hwnd); 
	FreeLibrary(hpwdcpl);

	return fResult;
}

BOOL ChangePassword(HWND hwnd)
{ 
	// This only ever gets called under '95, when started with the /a option.
	HINSTANCE hmpr = LoadLibrary(_T("MPR.DLL"));
	PWDCHANGEPASSWORD PwdChangePassword;

	if(hmpr == NULL) 
		return FALSE;

	PwdChangePassword = (PWDCHANGEPASSWORD)GetProcAddress(hmpr, "PwdChangePasswordA");
  
	if(PwdChangePassword == NULL)
	{ 
		FreeLibrary(hmpr);
		return FALSE;
	}

	PwdChangePassword(_T("SCRSAVE"), hwnd, 0, 0); 
	FreeLibrary(hmpr);

	return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -