我用以下程序写注册表,在win98下没有问题,如果在win2000或xp中,只要用户权限不够,就会出错,怎么办?procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
reg:TRegistry;
begin
try
reg:=TRegistry.Create(HKEY_CURRENT_USER);
if Reg.OpenKey('\Software\mysoft\dd, True) then
begin
Reg.WriteString('Keyname',strValue);
Reg.CloseKey;
end;
finally
Reg.Free;
end;end;
var
reg:TRegistry;
begin
try
reg:=TRegistry.Create(HKEY_CURRENT_USER);
if Reg.OpenKey('\Software\mysoft\dd, True) then
begin
Reg.WriteString('Keyname',strValue);
Reg.CloseKey;
end;
finally
Reg.Free;
end;end;
解决方案 »
- delphi中编辑内容格式显示的问题
- 在delphi中能否通过ini文件实现多个用户的登录功能?
- 用Access 做数据库,是不是WIN98以上的每个系统?
- 急--在线等待
- 一个关于[locate]的问题
- 如何实现当鼠标经过工具档上的某个按扭时,自动打开它的DropPopupmemu菜单?在线等待
- 关于记录集的提取问题??
- 求InstallShield Express For Delphi6的汉化补丁,要能汉化它做出的安装盘。
- Redhat Linux7.1下如何装Kylix 1.0 ?
- 我有一个PASCAL的解释/编辑器,请问它有什么价值?
- 怎样记取和控制NUMLOCK键
- com ? 谁有此方面的基础教程?
你先考虑直接用windows api吧。
象 RegCreateKeyEx,RegOpenKeyEx
该内存不能为read
ErrCode,lpdwDisposition,RegKey:integer;ErrCode:=RegCreateKeyEx(HKEY_LOCAL_MACHINE,'SOFTWARE\LanHelper',0,nil,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,nil,RegKey,@lpdwDisposition) ;
if ErrCode = 5 then begin //没有权限
application.terminate;
exit;
end;