| Author |
cRegistry problems read/writing to (Default)
|
|
| MatthewBrown@gmail.com 2006-01-28, 6:55 pm |
| Hello,
I'm attempting to read the value of a default into a variable. It's
simply not working.
Private Sub Command1_Click()
Dim cr As New cRegistry
With cr
.ClassKey = HKEY_CURRENT_USER
.SectionKey =
" HKEY_CURRENT_USER\AppEvents\Schemes\Apps
\Explorer\Navigating\.Current"
.ValueKey = "" 'value is (Default)
.ValueType = REG_SZ
OldNavigationSound = .Value
End With
Text1.Text = OldNavigationSound
End Sub
Any suggestions?
OldNavigationSound is a Global.
Thanks,
Matt
| |
| MatthewBrown@gmail.com 2006-01-28, 6:55 pm |
| BAHHHHH! Typo.
Private Sub Command1_Click()
Dim cr As New cRegistry
With cr
.ClassKey = HKEY_CURRENT_USER
.SectionKey =
" AppEvents\Schemes\Apps\Explorer\Navigati
ng\.Current"
.ValueKey = "" 'value is (Default)
.ValueType = REG_SZ
OldNavigationSound = .Value
End With
Text1.Text = OldNavigationSound
End Sub
| |
| Tom Esh 2006-01-28, 9:55 pm |
| On 28 Jan 2006 14:23:41 -0800, MatthewBrown@gmail.com wrote:
>I'm attempting to read the value of a default into a variable. It's
>simply not working.
>
>
>Private Sub Command1_Click()
>
>Dim cr As New cRegistry
>
> With cr
> .ClassKey = HKEY_CURRENT_USER
> .SectionKey =
>" HKEY_CURRENT_USER\AppEvents\Schemes\Apps
\Explorer\Navigating\.Current"
> .ValueKey = "" 'value is (Default)
> .ValueType = REG_SZ
> OldNavigationSound = .Value
> End With
>
>Text1.Text = OldNavigationSound
>
>End Sub
>
>
>Any suggestions?
Hard to tell for sure without seeing code behind cRegistry, however a
~guess~ would be .ValueKey. The default valuename for a key is not
really an empty string (even though it ~looks~ that way in Regedit),
but rather a NULL (in Api lingo), or typically vbNullString with VB.
It's possible the code in cRegistry is just passing the empty string
to the underlying Api. I know in my own reg class I make a special
case exception for "" to specify the default valuename. Setting the
..ValueKey prop to vbNullString ~might~ work (worth a try anyway), but
it may still end up as an empty string by the time it's washed through
the arg and the cRegistry code passes it along to the Api. Anyway this
is just a guess, but if that's whats happening you may have to resort
to using the Reg Api directly or a component that specifically
provides a way to set te default valuename.
-Tom
MVP - Visual Basic
(please post replies to the newsgroup)
| |
| MatthewBrown@gmail.com 2006-01-28, 9:55 pm |
| thanks for your response. I was having a lot of trouble understanding
calling with variables.
I'm in the middle of testing storing the original navigation sound in a
public variable and then clearing it while the program is running, then
setting it back to original.
It is stated in cRegistry documentation that to get/set (Default)
values you need to use a "zero length variable." I was just saying I'm
a moron and set the SectionKey =
" HKEY_CURRENT_USER\AppEvents\Schemes\Apps
\Explorer\Navigating\.Current"
with the HK in there. Took me over an hour to figure it out. And
guess what? I did it again during testing, at least it took me a
half-hour to figure it out this time. :P
Thanks,
Matt
| |
|
|
|
|