计算机等级考试注册表reg文件自动生成。

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

说明:如果你感兴趣,我提供源码下载,

如果你是2005年上半年全国计算机等级的系统管理员就会用到这个东东。

此程序在安装2005年上半年全国计算机等级上机考试时使用,在一台配置完整的工作站上通过net命令先建立所有的登陆用户(如:z001,z002,z003等)并赋予administrator权限,用这台工作站克隆所有工作站,然后把此程序生成的reg文件放在服务器端,所有的工作站启动后执行对应的reg文件导入注册表,以完成每个工作站自动登陆的工作。

本人在安装上机模拟考试系统时为了提高效率,制作了这么个生成工具,其实没有什么技术含量。就是批量生成了所需的文件。

开发环境:Delphi7.0

实际就是自动生成与工作站用户名一样的文件名,如z001.reg,z002.reg等,文件的内容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]

"DefaultUserName"="z001"

"DefaultPassword"=""

"AutoAdminLogon"="1"

其中"DefaultUserName"="z001"这行字符中的‘z001’必须与工作站用户名一样,即:z008.reg文件中这行内容必须是"DefaultUserName"="z008"。

主要的源码:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

FileName: string;

s: string;

s1, s2, s3, s4, s5: string;

First, Last,UsrLen, i: integer;

begin

//****************************************

if not DirectoryExists(ExtractFileDir(Application.ExeName) + '\RegFile') then

if not ForceDirectories(ExtractFileDir(Application.ExeName) + '\RegFile')

then

application.Terminate;

//***************************************

First := SpinEdit1.Value;

Last := SpinEdit2.Value;

UsrLen := SpinEdit4.Value;

s1 := 'Windows Registry Editor Version 5.00';

s2 :=

'[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon]';

s4 := '"DefaultPassword"=""';

s5 := '"AutoAdminLogon"="1"';

for i := First to Last do

begin

s := '%.' + IntToStr(UsrLen) + 'd';

s := LabeledEdit1.Text + Format(s, [i]);

FileName := ExtractFilePath(paramstr(0)) + 'RegFile\' + s + '.reg';

s3 := '"DefaultUserName"="' + s + '"';

AssignFile(MyRegFile, FileName);

Rewrite(MyRegFile);

try

Writeln(MyRegFile, s1);

Writeln(MyRegFile, '');

Writeln(MyRegFile, s2);

Writeln(MyRegFile, s3);

Writeln(MyRegFile, s4);

Writeln(MyRegFile, s5);

finally

CloseFile(MyRegFile);

end;

end;

showmessage('创建完毕!文件保存在RegFile目录下!');

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

showmessage('本程序由赵明炬2005.3编制,不得乱用!')

end;

procedure TForm1.MemoRefresh(Sender: TObject);

var

s: string;

i, UsrLen: integer;

readme:Tstrings;

begin

UsrLen := SpinEdit4.Value;

memo1.Lines.Clear;

memo1.Lines.Add('生成的用户名示例:');

for i := 1 to 3 do

begin

s := '%.' + IntToStr(UsrLen) + 'd';

s := LabeledEdit1.Text + Format(s, [i]);

memo1.Lines.Add(s);

end;

readme:=TStringList.Create;

readme.LoadFromFile('read.txt');

memo1.Lines.AddStrings(readme);

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航