امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
لیست کردم پنجره های یک پنجره دیگر با EnumWindows
نویسنده پیام
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #1
لیست کردم پنجره های یک پنجره دیگر با EnumWindows
سلام
خیلی با این تابع ور رفتم اما نتونستم ازش استفاده کنم
میخواستم بدونم نحوه استفادش به چه شکله. اگه یک مثال بزنید ممنون میشمHeart

۲۳-اردیبهشت-۱۳۸۷, ۱۸:۱۰:۲۸
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: لیست کردم پنجره های یک پنجره دیگر با EnumWindows
از این تابع به تنهایی کار نمیکنه بلکه اطلاعاتی میخواهد که اونو باید از یه callback function دیگه دریافت کنه به اسم EnumWindowsProc که process های دارای پنجره رو میگیره
کد:
function EnumWindowsProc(h:hwnd;s:tstringlist):bool;stdcall;
var
c:array[0..256]of char;
begin
getwindowtext(h,c,sizeof(c));
if c>'' then
s.Add(string(c));
result:=true;
end;
enumwindows(@EnumWindowsProc,integer(listbox1.Items));
۲۳-اردیبهشت-۱۳۸۷, ۲۰:۱۱:۱۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #3
RE: لیست کردم پنجره های یک پنجره دیگر با EnumWindows
به زبان ویبی میخاستم
ولی در کل مرسی مشکلم حل شد.

۲۴-اردیبهشت-۱۳۸۷, ۱۷:۵۷:۵۵
ارسال‌ها
پاسخ
m_vb66 آفلاین
در حال پیشرفت
***

ارسال‌ها: 253
موضوع‌ها: 60
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 114
( 52 تشکر در 35 ارسال )
ارسال: #4
RE: لیست کردم پنجره های یک پنجره دیگر با EnumWindows
HoseinVig نوشته است:به زبان ویبی میخاستم
ولی در کل مرسی مشکلم حل شد.

کد:
' Display the title bar text of all top-level windows.  This


' task is given to the callback function, which will receive each handle individually.


' Note that if the window has no title bar text, it will not be displayed (for clarity's sake).





' *** Place this code in a module.  This is the callback function. ***


' This function displays the title bar text of the window identified by hwnd.


Public Function EnumWindowsProc (ByVal hwnd As Long, ByVal lParam As Long) As Long


  Dim slength As Long, buffer As String  ' title bar text length and buffer


  Dim retval As Long  ' return value


  Static winnum As Integer  ' counter keeps track of how many windows have been enumerated





  winnum = winnum + 1  ' one more window enumerated....


  slength = GetWindowTextLength(hwnd) + 1  ' get length of title bar text


  If slength > 1  ' if return value refers to non-empty string


    buffer = Space(slength)  ' make room in the buffer


    retval = GetWindowText(hwnd, buffer, slength)  ' get title bar text


    Debug.Print "Window #"; winnum; " : ";  ' display number of enumerated window


    Debug.Print Left(buffer, slength - 1)  ' display title bar text of enumerated window


  End If





  EnumWindowsProc = 1  ' return value of 1 means continue enumeration


End Function





' *** Place this code wherever you want to enumerate the windows. ***


Dim retval As Long  ' return value





' Use the above callback function to list all of the enumerated windows.  Note that lParam is


' set to 0 because we don't need to pass any additional information to the function.


retval = EnumWindows(AddressOf EnumWindowsProc, 0)
۰۸-خرداد-۱۳۸۷, ۱۰:۰۵:۱۷
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تغییر زبان پنجره در تمام حالت godvb 1 3,035 ۲۲-خرداد-۱۳۸۷, ۱۹:۴۷:۱۵
آخرین ارسال: lord_viper

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS