Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
RegEnumValue from WinApi32 function call
Message
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00562037
Message ID:
00562484
Views:
20
>>>>>>>
>>>>>>>It's hard to make other suggestions without seeing what the actual parameters are. Could you post them?
>>>>>>
>>>>>> hKey = 0
>>>>>> retval = RegOpenKey(HKEY_CLASSES_ROOT, "Minitab.mpj\shell\open\command", @hKey)
>>>>>> valuename = Space(255)
>>>>>> valuelen = 255
>>>>>> STORE 0 TO lpdwReserved,dataType, xindex
>>>>>> Store Space(255) to indata
>>>>>> datalen = Len(indata)
>>>>>
>>>>>Is the value returned by RegOpenKey equal to zero (ERROR_SUCCESS)? If not, the key may not exist.
>>>>
>>>>Sorry hit reply before i oculd finish my changes but
>>>>
>>>>Value returned is 0 and hkey changes to different numbers per run. It does find the key
>>>>
>>>>HKEY_CLASSES_ROOT = -2147483648
>>>
>>>OH yeah, AND this program DOES work in win 95,98!!!!!!!
>>
>>Sounds like a problem with registry access caused by WinNT/2K security settings. I generally use the registry class in the FFC. I'm about to leave and won't have access to Win2K again until Monday. If no one else checks for you, I will then.
>
>I'm leaving myself so I may see ya then!!!

Found it! In my tests I made the same mistake you did. The declaration should be
DECLARE INTEGER RegEnumValue IN Win32API;
  INTEGER hKey, INTEGER dwIndex,;
  STRING @lpValueName, INTEGER @lpcValueName,;
  INTEGER <b>lpReserved</b>, INTEGER @lpType,;
  STRING @lpData, INTEGER @lpcbData
Both of us passed the lpReserved parameter by reference rather than value. Change the declaration and it should work fine.
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform