【转】通过注册表读取Windows最小密码长度限制等

注册表:

最小密码长度 

User   Key:   [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] 
System   Key:   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] 
Value   Name:   MinPwdLen 
Data   Type:   REG_BINARY   (Binary   Value) 
06   <-----   Default 
00   <-----   Change   to 
-------------------------------------------------------------------------------------最长密码期限 

System   Key:   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] 
Value   Name:   MaxPasswordAge 
Data   Type:   REG_BINARY   (Binary   Value) 
------------------------------------------------------------------------------------- 
密码过期提前通知的天数 

System   Key:   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon] 
Value   Name:   PasswordExpiryWarning 
Data   Type:   DWORD 
14   <-----   Default 
------------------------------------------------------------------------------------- 
下面是程序调用的系统变量,您可以自己测试一下,中文部分是小妹自己猜的^-^ 

pwdProperties[密码必须符合复杂性要求] 
pwdHistoryLength   [强制密码历史] 
LockoutObservationInterval   [复位帐户锁定计数器] 
AutoUnlockInterval[帐户锁定时间] 
lockoutThreshold   [帐户锁定阀值] 

 

================================================================================================

 

隐藏注册表键值

 http://www.cnsw.org/bbs/thread-68551-1-1.html

经常有朋友会发现注册表里有一些键值可以看到却不能读取,更不能删除。这到底是怎么回事呢?其实原理非常简单,我来告诉大家。

开发的朋友都知道Win32 API,这是微软提供给开发人员的Windows系统编程接口。其实微软还有一套Native API,这个是系统底层的API。我们很多的Win32 API调用最后都通过Native API实现与系统内核间的通信。


在Win32 API和Native API里对字符串的定义是有区别的。在Win32 API里以”\0“作为字符串的结尾,而在Native API里“\0”确被看作一个字符。例如:"Key\0"在Win32 API里会被认为是"Key" ,3个字符长度。在Native API里就会被认为是"Key\0",4个字符长度。所以玄机就在这,我们可以利用Native API的NtCreateKey函数创建以”\0“为结尾的注册表键值。这样的话,Regedit和Regedt32以及使用Win32 API等的第三方注册表编辑软件就不能正常读写此键值。

这样我们就达到了隐藏注册表键值的目的。NtCreateKey函数的具体使用可以参考下面的事例程序。(完)

==============================================================================================


上一篇:宽带路由器升级失败的处理方法


下一篇:C# 设置word文档页面大小