HKEY_LOCAL_MACHINE = 2147483650 && (HKEY) 0x80000002 SECURITY_ACCESS_MASK = 983103 && SAM value KEY_ALL_ACCESS FLAG_ICC_FORCE_CONNECTION = 0x01 && Force a connection when attemping internect connect KEY_READ = 0x020019Then calls a function before the "Main" form is opened:
* Check for existing registry entry PROCEDURE R6_isThereAnExistingICBookMark() lnHKEY=0 lnKeyCanBeOpened=RegOpenKeyEX(HKEY_LOCAL_MACHINE,IC_RegistryKey,0,0x020019,@lnHkey) RegCloseKey(lnHKey) RETURN lnKeyCanBeOpened=0 &&When A zero returns a .T. ENDPROC * Does the registry already have a bookmark? PROCEDURE R6_CanAddICRegistryKey() nRESULT=0 nDISPLAY=0 llwasKeyCreated=RegCreateKeyEx(HKEY_LOCAL_MACHINE,IC_RegistryKey,0,"REG_SZ",; 0,SECURITY_ACCESS_MASK,0,@nRESULT,@nDISPLAY) && Returns .T. if successful RETURN llwasKeyCreated AND nDISPLAY=1 ENDPROC * It also runs a get log in name. Would this cause an issue on some desktops? PROCEDURE R6_GetComputerUserName() LOCAL lcUserName, lnNameLength, lnResult lnNameLength = 256 lcUserName = SPACE( m.lnNameLength ) lnResult = GetLoginName( 0, @lcUsername, @lnNameLength ) lcUserName = PROPER(LEFT( m.lcUserName, AT( chr(0), m.lcUserName)-1)) RETURN lcUserName ENDPROC &&GetComputerUserNameDoes ISE offer a create registry key because permissions are more liberal during an install than during runtime. Should ISE set the key - that would defeat the purpose since the desire is to prevent the prospect from acquiring an additional evaluation without permission (go around a previous installation marker).