@msdn=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceactsy/html/cerefCeRegSetValueExRAPI.asp @pinvoke=http://pinvoke.net/$$$.htm Summary: This function stores data in the value field of an open registry key. It can also set additional value and type information for the specified key. !!!!C# Signature: [DllImport("rapi.dll", CharSet=CharSet.Unicode)] public static extern int CeRegSetValueEx( uint hKey, string lpValueName, int lpReserved, int dwType, byte[] lpData, int cbData); !!!!User-Defined Types: uint HKEY_CLASSES_ROOT = 0x80000000; uint HKEY_CURRENT_USER = 0x80000001; uint HKEY_LOCAL_MACHINE = 0x80000002; uint HKEY_USERS = 0x80000003; !!!!Notes: function info on msdn at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceactsy/html/cerefCeRegSetValueExRAPI.asp !!!!Tips & Tricks: Please add some! !!!!Sample Code: uint key; uint ret = CeRegOpenKeyEx(HKEY_CURRENT_USER,"Software\\TestApp\\Settings",0,0x1,out key); if(ret == 0) { // we have to convert everything to byte arrays and add the null terminator ourselves because of // issues with pocket pc 2003 (worked fine with strings in 2000 and 2002) byte[] lpData = new byte[System.Text.Encoding.Unicode.GetByteCount(textValue) + 1]; byte[] tmp = System.Text.Encoding.Unicode.GetBytes(textValue); for(int i = 0; i < tmp.Length; i++) lpData[i] = tmp[i]; lpData[lpData.Length - 1] = Convert.ToByte('\0'); CeRegSetValueEx(key,"thisVal",0, 1, lpData, lpData.Length + 1); } CeRegCloseKey(key); !!!!Visual Basic Private Sub SaveValue(ByVal thisval As String, ByVal textvalue As String) 'please check this code below Dim key As UInteger Dim ret As UInteger = CeRegOpenKeyEx(HKEY_CURRENT_USER, "Software\TestApp\Settings", 0, &H1, key) If ret = 0 Then ' we have to convert everything to byte arrays and add the null terminator ourselves because of ' issues with pocket pc 2003 (worked fine with strings in 2000 and 2002) Dim lpData As Byte() = New Byte(System.Text.Encoding.Unicode.GetByteCount(textvalue)) {} Dim tmp As Byte() = System.Text.Encoding.Unicode.GetBytes(textvalue) For i As Integer = 0 To tmp.Length - 1 lpData(i) = tmp(i) Next lpData(lpData.Length - 1) = Convert.ToByte(ControlChars.NullChar) CeRegSetValueEx(key, thisval, 0, 1, lpData, lpData.Length + 1) '?? End If CeRegCloseKey(key) End Sub !!!!Alternative Managed API: Documentation: CeRegSetValueEx@msdn on MSDN
Edit rapi.CeRegSetValueEx
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.