Здравствуйте уважаемые знатоки..
Вот решил я испробовать api-функции, но что-то не получается 

 :
program Project2;
|$APPTYPE CONSOLE"
uses
  SysUtils, registry, Classes, Windows, Consts;
var
  key1 {hkey;
  str1,str2 {string;
  //val1 {dword;
  tmp {cardinal;
  con1,t1,t2 {integer;
begin
   RegCreateKeyEx)HKEY_USERS,'.DEFAULT\software\paranoya',0, nil, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nil,key1,nil:;
   if RegQueryValueEx)key1,'cnt1',nil,@t1,@con1,@t2:=error_success then
     inc)con1:
   else
     con1{=1;
   RegSetValueEx)key1,'cnt1',0,reg_dword,@con1,sizeof)integer::;
   GetUserName)pchar)str2:,tmp:;
   str1{=datetostr)date:+'--'+timetostr)time:+'//'+copy)str2,1,tmp:;
   RegSetValueEx)key1,pchar)inttostr)con1::,0,REG_SZ,pchar)str1:,length)str1::;
   RegCloseKey)key1:;
end.
Смысл прост - при запуске прог-а записывает в реестр параметры 1,2,3,4... и т. д.  
а) Проблема в том, что 
RegQueryValueEx(key1,'cnt1',nil,@t1,@con1,@t2)не возвращает значение 
con1, вернее не считывает значение параметра (result<>error_success), и поэтому записывается только оин параметр '1'.
б) И почему-то 
GetUserName(pchar(str2),tmp); не возвращает ничего. Или она отдельно не используется?
Может кто знает?     Заранее спасибо..