Interview Questions

Read and write to the registry using the Windows API functions

Mercury WinRunner FAQ


(Continued from previous question...)

Read and write to the registry using the Windows API functions

function space(isize)
{
        auto s;
        auto i;
        for (i =1;i<=isize;i++)
            {
                s = s & " ";

            }
    return(s);
}

load_dll("c:\\windows\\system32\\ADVAPI32.DLL");
extern long RegDeleteKey( long, string<1024> );
extern long RegCloseKey(long);
extern long RegQueryValueExA
(long,string,long,long,inout string<1024>,inout long );
extern long RegOpenKeyExA
(long,string,long ,long,inout long);
extern long RegSetValueExA
(long,string,long,long,string,long);

MainKey = 2147483649; # HKEY_CURRENT_USER
SubKey = "Software\\TestConverter\\TCEditor\\Settings"; 
# This  is where you set your subkey path
const ERROR_SUCCESS = 0;

const KEY_ALL_ACCESS = 983103;
ret = RegOpenKeyExA(MainKey, SubKey, 0, 
   KEY_ALL_ACCESS, hKey);
 # open the key
if (ret==ERROR_SUCCESS)
{
cbData = 256;
tmp = space(256);
KeyType = 0;
ret = RegQueryValueExA
(hKey,"Last language",0,KeyType,tmp,cbData); 
# replace "Last language" with 
#the key you want to read
}
pause (tmp);
NewSetting = "SQABASIC";
cbData = length(NewSetting) + 1;
ret = RegSetValueExA(hKey,"Last language",
0,KeyType,NewSetting,cbData); 
# replace "Last language" with the key
 you want to write

cbData = 256;
tmp = space(256);
KeyType = 0;
ret = RegQueryValueExA
(hKey,"Last language",0,KeyType,tmp,cbData); 
# verifies you changed the key

pause (tmp);

RegCloseKey(hKey); 
 # close the key

(Continued on next question...)

Other Interview Questions