pcworld online logo

Uygulama Listesini Çağırmak

Windows 3.1’de masaüstüne çift tıkladığınızda, Windows 95’de ise CTRL+ALT+DEL tuşlarına bastığınızda karşınıza açık olan uygulamaların bir listesi gelir. Bu listeyi kullanarak istediğiniz uygulamayı sonlandırabilir veya aktif hale getirebilirsiniz. Bu örneğimizde de yukarıdakine benzer bir uygulama yazacağız. Boş formun üzerine şekildeki gibi iki komut butonu bir de Combo Box yerleştirin ve aşağıdaki kodları yazın.
'General Declarations Bölümüne yazılacak
DefInt A-Z
Declare Function GetWindow Lib "user" (ByVal hWnd, ByVal wCmd) As Integer
Declare Function GetWindowText Lib "user" (ByVal hWnd, ByVal lpSting$, ByVal nMaxCount) As Integer
Declare Function GetWindowTextLength Lib "user" (ByVal hWnd) As Integer

'GetWindows API’sinin "sabitleri"
Const GW_CHILD = 5
Const GW_HWNDFIRST = 0
Const GW_HWNDLAST = 1
Const GW_HWNDNEXT = 2
Const GW_HWNDPREV = 3
Const GW_OWNER = 4

Sub GorevListesi ()
CurrWnd = GetWindow(Form1.hWnd, GW_HWNDFIRST)

While CurrWnd <> 0
Length = GetWindowTextLength(CurrWnd)

ListItem$ = Space$(Length + 1)
Length = GetWindowText(CurrWnd, ListItem$, Length + 1)

If Length > 0 Then
Combo1.AddItem ListItem$
End If

CurrWnd = GetWindow(CurrWnd, GW_HWNDNEXT)
X = DoEvents()
Wend
End Sub

Form penceresine yazılacak...
Sub Command1_Click ()
f$ = Combo1.Text
'Eğer problem çıkarsa gözardı et.
On Local Error Resume Next
AppActivate f$
End Sub

Sub Command2_Click ()
f$ = Combo1.Text
On Local Error Resume Next
AppActivate f$
'Uygulamaya ALT+F4 yollayarak kapat.
SendKeys "%{F4}"
End Sub

Sub Form_Load ()
Call GorevListesi
'Herhangi bir uygulama açık değilse programdan çık
If Combo1.ListCount > 0 Then
Combo1.Text = Combo1.List(0)
Else
MsgBox "Hiç Bir Uygulama Açık Değil", 16
Unload Form1
End If
End Sub
Programı çalıştırdığınızda General - Declarations bölümünde tanımladığımız üç API fonksiyonu kullanılarak aktif uygulamalar çağırılır ve Combo kutusuna eklenir. Bu kutudan herhangi bir uygulamayı çağırarak penceresini aktif yapabilir veya uygulamayı kapatabilirsiniz.

Not: Uygulamayı kapatma seçeneği ALT+F4 tuşlarını kabul etmeyen uygulamalar için geçerli değildir.