ايران ويج

نسخه‌ی کامل: کمک فوری در مورد هندل
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
یه سوال داشتم و اون اینه که چطور می تونم هندل تمام اجزای یه برنامه رو که میشه روشون کلیک کرد رو بدست بیارم من حدود 60 صفحه خوندم ولی نتونستم به جوابم برسم
حال روشنتر میگم
یه سری برنامه هایی هست تو سایت که به وسیله اونا میشه هندل یه دکمه رو در یه برنامه پیدا کرد ولی بعضی از دکمه ها در برنامه هندلشون مشخص نیست لطفا کمک کنید که چگونه این هندل ها رو میشه پیدا کرد آیا امان داره هندل نداشته باشند تا جایی که من می دونم نه.
مرسی
دوستان اینو هم اضافه می کنم من بلدم که مثلا با تابع finwindiows میشه هندل رو پیدا کرد ولی رو بعضی از دکمه ها جواب نمیده لطفا کمک کنید.
شما میتونین از تابع findwindowex برای این کار استفاده کنین چون تابع findwindow فقط هندل فورم های اصلی رو برمیگردونه
کد:
The FindWindowEx function retrieves the handle to a window whose class name and window name match the specified strings. The function searches child windows, beginning with the one following the given child window.

HWND FindWindowEx(

    HWND hwndParent,    // handle to parent window
    HWND hwndChildAfter,    // handle to a child window
    LPCTSTR lpszClass,    // pointer to class name
    LPCTSTR lpszWindow    // pointer to window name
   );    


Parameters

hwndParent

Identifies the parent window whose child windows are to be searched.
If hwndParent is NULL, the function uses the desktop window as the parent window. The function searches among windows that are child windows of the desktop.

hwndChildAfter

Identifies a child window. The search begins with the next child window in the Z order. hwndChildAfter must be a direct child window of hwndParent, not just a descendant window.
If hwndChildAfter is NULL, the search begins with the first child window of hwndParent.
Note that if both hwndParent and hwndChildAfter are NULL, the function searches all top-level windows.

lpszClass

Points to a null-terminated string that specifies the class name or is an atom that identifies the class-name string. If this parameter is an atom, it must be a global atom created by a previous call to the GlobalAddAtom function. The atom, a 16-bit value, must be placed in the low-order word of lpszClass; the high-order word must be zero.

lpszWindow

Points to a null-terminated string that specifies the window name (the window's title). If this parameter is NULL, all window names match.



Return Values

If the function succeeds, the return value is the handle to the window that has the specified class and window names.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
میشه یه نمونه برنامه بزارین
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

این خوده تابع

اون چیزهایی هم که آقای لرد لطف کردن گفتن یحتمل روش تعریف یک تابع توی دلفی است

بقیه اش هم توضیح پارامترهاست

البته این تابه رو با تابع FindWindow به کار می برن و نتایج اونو توی FindWindowEX بکار می گیرن
اینم یه مثال پایه که برای همه می تونه مفید باشه :

عکس برنامه رو اول ببینید و بعد دانلود کنید

[attachment=1246]

دانلود سورس آموزشی :

[attachment=1247]

من این برنامه رو اول توی ویژوال سی ++ 6 نوشتم و خداییش هم خیلی کار با این زبان حال می ده

البته اولش دهنم سرویس شد چون کار شی گر توی این زبان خیلی سخته چون خیلی دقیقه