تابع GetActiveWindow :

این تابع دستگیره پنجره فعال را بر می گرداند .

اصل تابع :

Public Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long

پارامتر ها :

این تابع هیچ پارامتری ندارد .

خروجی :

خروجی این تابع از نوع عددی بوده و شامل دستگیره پنجره فعال می باشد . اگر تابع کارش را ناقص انجام بدهد مقدار صفر یا Null برگردانده می شود .

 

 

تابع SetActiveWindow :

کار این تابع دقیقا بر عکس تابع GetActiveWindow می باشد . این تابع پنجره فعال را مشخص می کند . توجه داشته باشید که فعال شدن به معنی Fouus شدن روی آن پنجره نیست .

اصل تابع :

Public Declare Function SetActiveWindow Lib "user32" Alias "SetActiveWindow" (ByVal hwnd As Long) As Long

پارامتر ها :

hwnd : این پارامتر از نوع عددی بوده و شامل دستگیره پنجره ای می باشد که می خواهیم فعال شود .

خروجی :

اگر مقدار خروجی برابر یک باشد تابع کار خود را به خوبی انجام داده است و اگر به درستی انجام ندهد مقدار صفر برگردانده می شود .

 >>>>>

تابع GetActiveWindow :

این تابع دستگیره پنجره فعال را بر می گرداند .

اصل تابع :

Public Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long

پارامتر ها :

این تابع هیچ پارامتری ندارد .

خروجی :

خروجی این تابع از نوع عددی بوده و شامل دستگیره پنجره فعال می باشد . اگر تابع کارش را ناقص انجام بدهد مقدار صفر یا Null برگردانده می شود .

 

 

تابع SetActiveWindow :

کار این تابع دقیقا بر عکس تابع GetActiveWindow می باشد . این تابع پنجره فعال را مشخص می کند . توجه داشته باشید که فعال شدن به معنی Fouus شدن روی آن پنجره نیست .

اصل تابع :

Public Declare Function SetActiveWindow Lib "user32" Alias "SetActiveWindow" (ByVal hwnd As Long) As Long

پارامتر ها :

hwnd : این پارامتر از نوع عددی بوده و شامل دستگیره پنجره ای می باشد که می خواهیم فعال شود .

خروجی :

اگر مقدار خروجی برابر یک باشد تابع کار خود را به خوبی انجام داده است و اگر به درستی انجام ندهد مقدار صفر برگردانده می شود .

 

 

تابع GetWindowText :

کار این تابع از جهتی برعکس تابع FindWindow می باشد از این رو که در تابع FindWindow ما عنوان پنجره مورد نظر را در اختیار داشتیم و دستگیره آن را نیاز داشتیم ولی این تابع دستگیره در اختیار است و می خواهیم عنوان پنجره را بدست آوریم .

اصل تابع :

Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

پارامتر ها :

hwnd : این پارامتر از نوع عددی بوده و شامل دستگیره پنجره ای می باشد که می خواهیم عنوان (Caption) آن را بدست آوریم .

lpString : این پارامتر از نوع رشته بوده و عنوان پنجره را در خود ذخیره می کند .

cch : این پارامتر از نوع عددی بوده و تعداد کاراکترهایی را که از عنوان باید نمایش داده شوند مشخص می کند .

خروجی :

اگر تابع کار خود را به خوبی انجام دهد مقدار خروجی تابع برابر با تعداد کاراکتر هایی می باشد که در متغیر IpString قرار گرفته است و اگر تابع کارش را ناقص انجام دهد مقدار صفر را بر می گرداند .

 

 

تابع GetWindowTextLength :

این تابع طول رشته عنوان یک پنجره را برمی گرداند .

اصل تابع :

Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long

پارامتر ها :

hwnd : این پارامتر از نوع عددی بوده و شامل دستگیره پنجره ای می باشد که می خواهیم طول رشته آن پنجره را بدست آوریم .

خروجی :

اگر تابع کار خود را به خوبی انجام دهد مقدار خروجی تابع برابر با تعداد کاراکتر های عنوان پنجره مورد نظر می باشد و اگر تابع کارش را ناقص انجام دهد مقدار صفر را بر می گرداند .

 

 

تابع SetWindowText :

کار این تابع دقیقا برعکس تابع GetWindowText می باشد با استفاده از این تابع می توان عنوان یک پنجره را تغییر داد .

اصل تابع :

Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

پارامتر ها :

hwnd : این پارامتر از نوع عددی بوده و شامل دستگیره پنجره ای می باشد که می خواهیم عنوان آن را تغییر دهیم .

lpString : این پارامتر از نوع رشته بوده و شامل عنوان جدید پنجره مورد نظر می باشد .

نکته : این تابع دقیقا از پیغام WM_SETTEXT استفاده می کند طریقه استفاده از این پیغام ها در قسمت Message ها توضیح خواهم داد . مثل تابع SendMessage که دوستان هم در خواست کردند .

خروجی :

اگر تابع کار خود را به خوبی انجام دهد مقدار خروجی تابع برابر یک می باشد و اگر تابع کارش را ناقص انجام دهد مقدار صفر را بر می گرداند .

 

مثال :

Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long

Private Declare Function GetActiveWindow Lib "user32" () As Long

 

Private Sub Command1_Click()

Dim Wn As String

Wn = Space(255)

a = GetWindowText (GetActiveWindow, Wn, GetWindowTextLength(GetActiveWindow) + 1)

Text1.Text = Wn

End Sub

 

Private Sub Command2_Click()

Dim str As String

str = "sajjad”

str = str + "_3piz”

SetWindowText GetActiveWindow, str

 

End Sub

رفقا در این مثال به دو CommandButton یا همون دکمه خودمون و یک TextBox .

در دکمه اولی یک متغیر رشته ای به نام Wn معرفی کردم  و بعد در خط دوم به متغیر ، 255 تا فضای خالی کاراکتر دادم ( چون نمی دونیم که چند حرفه ) در خط سوم با تابع GetWindowText می خواهم عنوان پنجره فعالی که با تابع GetActiveWindow بدست می آید را در متغیر Wn قرار داده که با استفاده از تابع GetWindowTextLength تعداد کاراکتر های عنوان پنجره را بدست آورده و در متغیر Wn تاثیر می گذارد و بعد در TextBox چاپ می شود .

در دکمه دومی یک متغیر رشته ای تعریف کردم و بعد به متغیر مقدار دادم و با استفاده از تابع SetWindowText عنوان پنجره فعال را تغییر می دهم .