Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CList Get_StartUp_Programs(CString csRegistryPath)
- CList<CString,CString> listData;
- HKEY hKey;
- if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,csRegistryPath,0,KEY_ALL_ACCESS | KEY_WOW64_64KEY,&hKey) == ERROR_SUCCESS)
- {
- DWORD dwValues, dwMaxValueNameLen, dwMaxValueLen;
- LONG lRet = ::RegQueryInfoKey(hKey,
- NULL, NULL, // lpClass, lpcClass
- NULL, // lpReserved
- NULL, NULL, // lpcSubKeys, lpcMaxSubKeyLen
- NULL, // lpcMaxClassLen
- &dwValues,
- &dwMaxValueNameLen,
- &dwMaxValueLen,
- NULL, // lpcbSecurityDescriptor
- NULL); // lpftLastWriteTime
- if(ERROR_SUCCESS == lRet)
- {
- LPTSTR pszName = new TCHAR[dwMaxValueNameLen + 1];
- LPBYTE lpData = new BYTE[dwMaxValueLen];
- for(DWORD dwIndex = 0; dwIndex < dwValues; dwIndex++)
- {
- DWORD dwNameSize = dwMaxValueNameLen + 1;
- DWORD dwValueSize = dwMaxValueLen;
- DWORD dwType;
- lRet = ::RegEnumValue(hKey, dwIndex, pszName, &dwNameSize,0, &dwType, lpData, &dwValueSize);
- CString strName = pszName;
- listData.AddHead(strName);
- CLog::Log(strName + _T(""));
- }
- delete []pszName;
- delete []lpData;
- }
- }
- void FunctionToGetListData(CList<CString,CString> &listData)
- {
- listData.RemobveAll();
- ...
- CList<CString,CString> listData;
- FunctionToGetListData(listData);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement