Hi Cris, It is declared in Shlwapi.h. Or you can use some other Registry access function if you want. I have the MSDN info for you if you wish. But once again you really don't need the path if you use ShellExecute(..) on an installed application. Art /////////////// From MSDN info /////////////// SHGetValue Retrieves a registry value. DWORD SHGetValue( HKEY hkey, LPCTSTR pszSubKey, LPCTSTR pszValue, LPDWORD pdwType, LPVOID pvData, LPDWORD pcbData ); Parameters hkey Handle to the currently open key, or any of the following predefined values: HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_DYN_DATA (Windows 95 only) HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA (Windows NT only) HKEY_USERS pszSubKey Address of a null-terminated string that specifies the name of the subkey from which to retrieve the value. pszValue Address of the value. pdwType Type of value. For more information, see Registry Data Types. pvData Address of the destination data buffer. pcbData Size of the destination data buffer. Return Values Returns ERROR_SUCCESS if successful, or a nonzero error code defined in Winerror.h otherwise. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to retrieve a generic description of the error. Remarks Note If your application must set/retrieve a series of values in the same key, it is better to open the key once and set/retrieve the values with the regular Microsoft® Win32® registry functions rather than use this function repeatedly. Requirements Version 4.71 and later of Shlwapi.dll Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 4.0 or later). Windows 95/98/Me: Requires Windows 98 (or Windows 95 with Internet Explorer 4.0 or later). Header: Declared in Shlwapi.h. Import Library: Shlwapi.lib.