More WinCE mods

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2003-07-11 21:50:07 +00:00
parent 086b3a5b02
commit 4676948b68
69 changed files with 953 additions and 195 deletions

View File

@@ -38,6 +38,12 @@
#include <windows.h>
#ifdef __WXWINCE__
#include "wx/msw/private.h"
#include <winbase.h>
#include <winreg.h>
#endif
// other std headers
#include <stdlib.h> // for _MAX_PATH
@@ -71,10 +77,12 @@ aStdKeys[] =
{ HKEY_CURRENT_USER, wxT("HKEY_CURRENT_USER"), wxT("HKCU") },
{ HKEY_LOCAL_MACHINE, wxT("HKEY_LOCAL_MACHINE"), wxT("HKLM") },
{ HKEY_USERS, wxT("HKEY_USERS"), wxT("HKU") }, // short name?
#ifndef __WXWINCE__
{ HKEY_PERFORMANCE_DATA, wxT("HKEY_PERFORMANCE_DATA"), wxT("HKPD") },
#if WINVER >= 0x0400
#endif
#if WINVER >= 0x0400 && !defined(__WXWINCE__)
{ HKEY_CURRENT_CONFIG, wxT("HKEY_CURRENT_CONFIG"), wxT("HKCC") },
#ifndef __GNUWIN32__
#if !defined(__GNUWIN32__) && !defined(__WXWINCE__)
{ HKEY_DYN_DATA, wxT("HKEY_DYN_DATA"), wxT("HKDD") }, // short name?
#endif //GNUWIN32
#endif //WINVER >= 4.0
@@ -372,7 +380,8 @@ bool wxRegKey::Open()
return TRUE;
HKEY tmpKey;
m_dwLastError = RegOpenKey((HKEY) m_hRootKey, m_strKey, &tmpKey);
m_dwLastError = RegOpenKeyEx((HKEY) m_hRootKey, m_strKey,
0, 0, &tmpKey);
if ( m_dwLastError != ERROR_SUCCESS ) {
wxLogSysError(m_dwLastError, _("Can't open registry key '%s'"),
GetName().c_str());
@@ -397,7 +406,19 @@ bool wxRegKey::Create(bool bOkIfExists)
return TRUE;
HKEY tmpKey;
#ifdef __WXWINCE__
DWORD disposition;
m_dwLastError = RegCreateKeyEx((HKEY) m_hRootKey, m_strKey,
NULL, // reserved
NULL, // class string
0,
0,
NULL,
&tmpKey,
&disposition);
#else
m_dwLastError = RegCreateKey((HKEY) m_hRootKey, m_strKey, &tmpKey);
#endif
if ( m_dwLastError != ERROR_SUCCESS ) {
wxLogSysError(m_dwLastError, _("Can't create registry key '%s'"),
GetName().c_str());
@@ -856,6 +877,7 @@ bool wxRegKey::QueryValue(const wxChar *szValue,
strValue.UngetWriteBuf();
// expand the var expansions in the string unless disabled
#ifndef __WXWINCE__
if ( (dwType == REG_EXPAND_SZ) && !raw )
{
DWORD dwExpSize = ::ExpandEnvironmentStrings(strValue, NULL, 0);
@@ -878,6 +900,8 @@ bool wxRegKey::QueryValue(const wxChar *szValue,
wxLogLastError(_T("ExpandEnvironmentStrings"));
}
}
#endif
// __WXWINCE__
}
if ( m_dwLastError == ERROR_SUCCESS ) {
@@ -1012,7 +1036,14 @@ bool wxRegKey::GetNextKey(wxString& strKeyName, long& lIndex) const
return FALSE;
wxChar szKeyName[_MAX_PATH + 1];
#ifdef __WXWINCE__
DWORD sizeName = WXSIZEOF(szKeyName);
m_dwLastError = RegEnumKeyEx((HKEY) m_hKey, lIndex++, szKeyName, & sizeName,
0, NULL, NULL, NULL);
#else
m_dwLastError = RegEnumKey((HKEY) m_hKey, lIndex++, szKeyName, WXSIZEOF(szKeyName));
#endif
if ( m_dwLastError != ERROR_SUCCESS ) {
if ( m_dwLastError == ERROR_NO_MORE_ITEMS ) {
@@ -1057,7 +1088,7 @@ bool KeyExists(WXHKEY hRootKey, const wxChar *szKey)
return TRUE;
HKEY hkeyDummy;
if ( RegOpenKey( (HKEY) hRootKey, szKey, &hkeyDummy) == ERROR_SUCCESS ) {
if ( RegOpenKeyEx( (HKEY) hRootKey, szKey, 0, 0, &hkeyDummy) == ERROR_SUCCESS ) {
RegCloseKey(hkeyDummy);
return TRUE;
}