السلام عليكم اخواني ,
برنامج صغير ورائع ولكن مفعوله قوي جدا جدا , مثلا نحن نعرف معظم البرامج التي نفتحها تكون فيها خانات Disable
Windows Enabler.exe
أبحث عن أداة عند فتح البرامج تقوم بإظهار الأزرار المخفية بخاصية
" "Hide=True"
"Visible=False
السلام عليكم اخواني ,
برنامج صغير ورائع ولكن مفعوله قوي جدا جدا , مثلا نحن نعرف معظم البرامج التي نفتحها تكون فيها خانات Disable
Windows Enabler.exe
أبحث عن أداة عند فتح البرامج تقوم بإظهار الأزرار المخفية بخاصية
" "Hide=True"
"Visible=False
هل من مجيب لسؤالي هذا لعلي إلى سؤال آخر أسير
إنظر للمثال في المرفقات, فيه برنامجين Target.exe و EnableTarget.exe مع الشفرة المصدرية في المجلد src, مكتوب بـC ويُمكنك إستخدام أي لغة أخرى يمكنك إستخدام Windows API عن طريقها.
الأوّل Enable.exe فيه نافذة وزرّ Click Me معطّل :
والآخر EnableTarget.exe برنامج لتفعيل ذلك الزرّ :
الدالة المسؤولة عن تفعيل الزّر :
BOOL OnDialogButtonClicked(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HWND hwndTarget;
LPCTSTR lpsWindowTitle = TEXT("Target");
INT intDialogItem = 1001;
BOOL bResult;
hwndTarget = FindWindow(NULL, lpsWindowTitle);
if(!hwndTarget) {
MessageBox(hwndDlg, TEXT("Cannot find or open that window"), NULL, MB_OK | MB_ICONWARNING);
return FALSE;
}
bResult = EnableWindow(GetDlgItem(hwndTarget, intDialogItem), TRUE);
/*
* bResult = ShowWindow(GetDlgItem(hwndTarget, intDialogItem), SW_SHOW);
*/
if(bResult)
MessageBox(hwndDlg, TEXT("OK, button is active now"), TEXT("Done!"), MB_OK);
else
MessageBox(hwndDlg, TEXT("Cannot enable that button"), NULL, MB_OK | MB_ICONWARNING);
return TRUE;
}كل مايلزم لتفعيل الزّ في البرنامج الأولّ هو الحصول على مقبض للنافذة بإستخدام الدالة FindWindow وتمرير عنوان البرنامج لها , Target في مثالنا. ثم الحصول على رقم الزرّ المعطل بإستخدام أي محرر مصادر مثل ResEdit :
بعدها إستدع الدالة GetDlgItem ومرر لها مقبض النافذة ورقم الزر, 1001, للحصول على مقبض له. بعدها يُمكنك تمرير المقبض للدالة EnableWindow مع TRUE إذا كان معطل أو ShowWindow مع SW_SHOW إذا كان مخفي وسيُمكنك إستخدامه حينها.
تم تعديل هذه المشاركة بواسطة Mr.B في 29 أكتوبر 2012 في 05:53