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

2008-04-10 02:56:35来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

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

如果你是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;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:递归法选取树子节点 控件拖放

下一篇:利用自定义事件实现不同窗体间的通讯 -- Delphi篇