A_Salimi
چهارشنبه 07 فروردین 1387, 13:51 عصر
سلام
من در رجیستری شاخه ای رو ایجاد کردم و در داخل اون شاخه هم چند تا کلید رو ایجاد کردم از اونجایی که در برنامه بدلایلی نیاز دارم تا تعداد زیر کلیدها رو بشمرم سعی میکنم تا از ATL (تابع EnumKey) به جای SDK (تابع RegEnumKeyEx ) استفاده کنم .
من تابع رو به صورت زیر مقداردهی میکنم :
#define MAX_KEY_LENGTH 255
.
.
.
DWORD dwWord;
TCHAR achKey[MAX_KEY_LENGTH];
int i=0;
while((m_cKey.EnumKey(i,achKey,&dwWord,NULL))!=ERROR_NO_MORE_ITEMS)
i++;
در msdn اینطوری اومده :
To enumerate the subkeys, call CRegKey::EnumKey with an index of zero. Increment the index value and repeat until the method returns ERROR_NO_MORE_ITEMS.
خوب من هم دقیقا همین کار رو میکنم اما نمیدونم چرا تابع همیشه عدد 259 رو برمیگردونه ؟
لطفا راهنمایی در مورد شمردن کلیدها بدید و بگید باید دقیقا چکار کنم ؟ ضمنا من کلیدها رو در سازنده کلاس create میکنم و در دفعات بعدی اجرا این تابع اونها رو باز میکنه و در مخرب هم کلید ها رو می بندم .
با تشکر
من در رجیستری شاخه ای رو ایجاد کردم و در داخل اون شاخه هم چند تا کلید رو ایجاد کردم از اونجایی که در برنامه بدلایلی نیاز دارم تا تعداد زیر کلیدها رو بشمرم سعی میکنم تا از ATL (تابع EnumKey) به جای SDK (تابع RegEnumKeyEx ) استفاده کنم .
من تابع رو به صورت زیر مقداردهی میکنم :
#define MAX_KEY_LENGTH 255
.
.
.
DWORD dwWord;
TCHAR achKey[MAX_KEY_LENGTH];
int i=0;
while((m_cKey.EnumKey(i,achKey,&dwWord,NULL))!=ERROR_NO_MORE_ITEMS)
i++;
در msdn اینطوری اومده :
To enumerate the subkeys, call CRegKey::EnumKey with an index of zero. Increment the index value and repeat until the method returns ERROR_NO_MORE_ITEMS.
خوب من هم دقیقا همین کار رو میکنم اما نمیدونم چرا تابع همیشه عدد 259 رو برمیگردونه ؟
لطفا راهنمایی در مورد شمردن کلیدها بدید و بگید باید دقیقا چکار کنم ؟ ضمنا من کلیدها رو در سازنده کلاس create میکنم و در دفعات بعدی اجرا این تابع اونها رو باز میکنه و در مخرب هم کلید ها رو می بندم .
با تشکر