得到Windows用户名和序列号
2006-04-22 23:50
120 查看
得到Windows用户名和序列号
如何得到Windows的用户名称和产品序列号呢?
1. 可以用 WNetGetUser() 这个函数来得到 user name;
2. Windows 95 的产品序号可以用 TRegistry 到 Registry Database 中找出来;
// 取得用户名称
function GetUserName: AnsiString;
var
lpName: PAnsiChar;
lpUserName: PAnsiChar;
lpnLength: DWORD;
begin
Result := ';
lpnLength := 0;
WNetGetUser(nil, nil, lpnLength); // 取得字串长度
if lpnLength > 0 then
begin
GetMem(lpUserName, lpnLength);
if WNetGetUser(lpName, lpUserName, lpnLength) = NO_ERROR then
Result := lpUserName;
FreeMem(lpUserName, lpnLength);
end;
end; { GetUserName }
// 取得 Windows 产品序号
function GetWindowsProductID: string;
var
reg: TRegistry;
begin
Result := ';
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software/Microsoft/Windows/CurrentVersion', False);
Result := ReadString('ProductID');
end;
reg.Free;
end;
如何得到Windows的用户名称和产品序列号呢?
1. 可以用 WNetGetUser() 这个函数来得到 user name;
2. Windows 95 的产品序号可以用 TRegistry 到 Registry Database 中找出来;
// 取得用户名称
function GetUserName: AnsiString;
var
lpName: PAnsiChar;
lpUserName: PAnsiChar;
lpnLength: DWORD;
begin
Result := ';
lpnLength := 0;
WNetGetUser(nil, nil, lpnLength); // 取得字串长度
if lpnLength > 0 then
begin
GetMem(lpUserName, lpnLength);
if WNetGetUser(lpName, lpUserName, lpnLength) = NO_ERROR then
Result := lpUserName;
FreeMem(lpUserName, lpnLength);
end;
end; { GetUserName }
// 取得 Windows 产品序号
function GetWindowsProductID: string;
var
reg: TRegistry;
begin
Result := ';
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software/Microsoft/Windows/CurrentVersion', False);
Result := ReadString('ProductID');
end;
reg.Free;
end;
相关文章推荐
- 以Windows系统服务得到活动用户的用户名、UserProfile与环境变量
- VB 得到Windows登录用户名
- windows 2003下asp.Net站点无法使用用户名+密码的方式连接SQLSERVER的问题
- 从MSdistribution_history得到已经同步到订阅库的最后一个事务序列号
- WINDOWS 用命令行 找到PC序列号以及计算机名称
- oracle数据库导入dmp文件-详解(在不知道数据库用户名的条件下-windows环境下)
- [Windows编程] 通过GetModuleHandleEx 得到函数调用者所在的DLL/EXE
- Vmware虚拟机中windows系统用户名密码忘记处理方案
- API得到Windows版本
- 最近装了windows 7也重装了vs2008,发现有90天试用限制。无法像xp下通过“控制面板”卸载的方法重新输入序列号破解了。
- Windows客户端开发--通过CREDENTIAL保存用户名和密码
- Windows 10序列号
- 关于Windows 10 C:/Users/用户名/AppData里面的文件
- 用bash命令得到Windows一个目录下的所有文件并且把结果输入到一个文件
- 重学Windows(二):得到Windows的版本及平台:Win32(x86), Win64 (x64)还是Win64(IA64)
- Windows和Linux得到本机IP地址的通用函数
- samba通过字符界面设置过程(字符界面添加samba的windows的登陆用户名) xK)ib!BdmJYr
- Windows 2008 访问共享文件夹 提示“未知的用户名或密码错误”的解决
- 清除windows访问共享的用户名和密码
- [转帖]WindowsC++如何得到MAC地址