Win32OperatingSystem.st
branchjv
changeset 23766 14192e6eeae8
parent 23765 ecd8104acb9a
child 23767 c0e32a3e2ca0
equal deleted inserted replaced
23765:ecd8104acb9a 23766:14192e6eeae8
 15958 
 15958 
 15959     |windowsRegistryTable nameUtf16Z errorNumber|
 15959     |windowsRegistryTable nameUtf16Z errorNumber|
 15960 
 15960 
 15961     windowsRegistryTable := Dictionary new.
 15961     windowsRegistryTable := Dictionary new.
 15962 
 15962 
       
 15963     "/ checking user input
       
 15964     nameString isString ifFalse:[
       
 15965         self error: 'nameString is not a string!!'
       
 15966     ].
 15963     "/ adding terminating null into empty string
 15967     "/ adding terminating null into empty string
 15964     nameString notNil ifTrue:[
 15968     nameString notNil ifTrue:[
 15965         nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue
 15969         nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue
 15966                                         ifFalse:[nameString asUnicode16StringZ]
 15970                                         ifFalse:[nameString asUnicode16StringZ]
 15967     ].
 15971     ].
 16121 	or nil, to access the key (32/64) for the current application.
 16125 	or nil, to access the key (32/64) for the current application.
 16122     "
 16126     "
 16123 
 16127 
 16124     |subKeyStringUtf16Z errorNumber|
 16128     |subKeyStringUtf16Z errorNumber|
 16125 
 16129 
       
 16130     "/ checking user input
       
 16131     subKeyString isString ifFalse:[
       
 16132         self error: 'subKeyString is not a string!!'
       
 16133     ].
 16126     subKeyStringUtf16Z := subKeyString asUnicode16StringZ.
 16134     subKeyStringUtf16Z := subKeyString asUnicode16StringZ.
 16127 
 16135 
 16128 %{
 16136 %{
 16129     /* 
 16137     /* 
 16130      * Following is a little tricky. To be able to access 32bit / 64bit keys
 16138      * Following is a little tricky. To be able to access 32bit / 64bit keys
 16552 	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
 16560 	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
 16553 	or nil, to access the key (32/64) for the current application"
 16561 	or nil, to access the key (32/64) for the current application"
 16554 
 16562 
 16555     |subKeyStringUtf16Z newEntry subHandle errorNumber disposition|
 16563     |subKeyStringUtf16Z newEntry subHandle errorNumber disposition|
 16556 
 16564 
       
 16565     "/ checking user input
       
 16566     subKeyString isString ifFalse:[
       
 16567         self error: 'subKeyString is not a string!!'
       
 16568     ].
 16557     subKeyStringUtf16Z := subKeyString asUnicode16StringZ.
 16569     subKeyStringUtf16Z := subKeyString asUnicode16StringZ.
 16558 
 16570 
 16559 %{
 16571 %{
 16560 #ifndef KEY_WOW64_64KEY
 16572 #ifndef KEY_WOW64_64KEY
 16561 // this is missing in BCC header files
 16573 // this is missing in BCC header files
 16682     "delete a value.
 16694     "delete a value.
 16683      Return true on success."
 16695      Return true on success."
 16684 
 16696 
 16685     |nameUtf16Z errorNumber|
 16697     |nameUtf16Z errorNumber|
 16686 
 16698 
       
 16699     "/ checking user input
       
 16700     nameString isString ifFalse:[
       
 16701         self error: 'nameString is not a string!!'
       
 16702     ].
 16687     "/ adding terminating null into empty string
 16703     "/ adding terminating null into empty string
 16688     nameString notNil ifTrue:[
 16704     nameString notNil ifTrue:[
 16689         nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue
 16705         nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue
 16690                                   ifFalse:[nameString asUnicode16StringZ]
 16706                                   ifFalse:[nameString asUnicode16StringZ]
 16691     ].
 16707     ].
 16812 
 16828 
 16813     "/ checking user input
 16829     "/ checking user input
 16814     nameString isString ifFalse:[
 16830     nameString isString ifFalse:[
 16815         self error: 'nameString is not a string!!'
 16831         self error: 'nameString is not a string!!'
 16816     ].
 16832     ].
 16817 
       
 16818     "/ adding terminating null into empty string
 16833     "/ adding terminating null into empty string
 16819     nameString notNil ifTrue:[
 16834     nameString notNil ifTrue:[
 16820         nameString isEmpty ifTrue:[nameUtf16Z := (nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue
 16835         nameString isEmpty ifTrue:[nameUtf16Z := (nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue
 16821                     ifFalse:[nameUtf16Z := nameString asUnicode16StringZ]
 16836                     ifFalse:[nameUtf16Z := nameString asUnicode16StringZ]
 16822     ].
 16837     ].
 17094 
 17109 
 17095     REG_EXPAND_SZ:
 17110     REG_EXPAND_SZ:
 17096     Null-terminated string that contains unexpanded references to environment variables (for example, ""%PATH%""). It will be a Unicode or ANSI string, 
 17111     Null-terminated string that contains unexpanded references to environment variables (for example, ""%PATH%""). It will be a Unicode or ANSI string, 
 17097     depending on whether you use the Unicode or ANSI functions.
 17112     depending on whether you use the Unicode or ANSI functions.
 17098     "
 17113     "
 17099 
       
 17100     |nameUtf16Z dataUtf16Z stringArray errorNumber|
 17114     |nameUtf16Z dataUtf16Z stringArray errorNumber|
 17101 
 17115     
       
 17116     "/ checking user input
       
 17117     nameString isString ifFalse:[
       
 17118         self error: 'nameString is not a string!!'
       
 17119     ].
 17102     "/ nameString asUnicodeString and null terminated
 17120     "/ nameString asUnicodeString and null terminated
 17103     nameString notNil ifTrue:[
 17121     nameString notNil ifTrue:[
 17104         nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue:
 17122         nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue:
 17105                                   ifFalse:[nameString asUnicode16StringZ]
 17123                                   ifFalse:[nameString asUnicode16StringZ]
 17106     ].
 17124     ].