Sistem tepsisinde doğrudan Visual Basic'ten nasıl kullanılır?

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:176085
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Özet
Bu makalede, Windows sistem tepsisi veya Visual Basic kullanarak, görev çubuğu bildirim alanı tam olarak yararlanmak gösterilmiştir. Seçeceğiniz bir simge görev çubuğu bildirim fareyi üzerine rested tıklatıldığında uygulamayı geri yükler ve açılan bir menü görüntüler, seçeceğiniz bir araç ipucu görüntüleyecektir alanı yerleştirir, right-clicked. Bu özelliği doğrudan geri çağrıları işlemek için Visual Basic'ın nedeniyle olası tüm, bu nedenle tam Shell_NotifyIcon işlevi, yararlanarak Shell32.dll tarafından verilir.
Daha fazla bilgi
Aşağıdaki örnekte, en az bir form ve standart bir modüle sahip tüm Visual Basic Project'e eklenebilir.

Adım adım örnek

  1. Standart bir Proje modülünde <a1>bildirimleri</a1> bölümüne aşağıdaki kodu ekleyin:
          'user defined type required by Shell_NotifyIcon API call      Public Type NOTIFYICONDATA       cbSize As Long       hwnd As Long       uId As Long       uFlags As Long       uCallBackMessage As Long       hIcon As Long       szTip As String * 64      End Type      'constants required by Shell_NotifyIcon API call:      Public Const NIM_ADD = &H0      Public Const NIM_MODIFY = &H1      Public Const NIM_DELETE = &H2      Public Const NIF_MESSAGE = &H1      Public Const NIF_ICON = &H2      Public Const NIF_TIP = &H4      Public Const WM_MOUSEMOVE = &H200      Public Const WM_LBUTTONDOWN = &H201     'Button down      Public Const WM_LBUTTONUP = &H202       'Button up      Public Const WM_LBUTTONDBLCLK = &H203   'Double-click      Public Const WM_RBUTTONDOWN = &H204     'Button down      Public Const WM_RBUTTONUP = &H205       'Button up      Public Const WM_RBUTTONDBLCLK = &H206   'Double-click      Public Declare Function SetForegroundWindow Lib "user32" _      (ByVal hwnd As Long) As Long      Public Declare Function Shell_NotifyIcon Lib "shell32" _      Alias "Shell_NotifyIconA" _      (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean      Public nid As NOTIFYICONDATA					
  2. Projenizde sistem tepsisi simgesini veya bildirim simgesi, için uygulamanızın yanıt vermesini istediğiniz herhangi bir form için aşağıdaki kodu ekleyin:
          Private Sub Form_Load()       'the form must be fully visible before calling Shell_NotifyIcon       Me.Show       Me.Refresh       With nid        .cbSize = Len(nid)        .hwnd = Me.hwnd        .uId = vbNull        .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE        .uCallBackMessage = WM_MOUSEMOVE        .hIcon = Me.Icon        .szTip = "Your ToolTip" & vbNullChar       End With       Shell_NotifyIcon NIM_ADD, nid      End Sub      Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)      'this procedure receives the callbacks from the System Tray icon.      Dim Result As Long      Dim msg As Long       'the value of X will vary depending upon the scalemode setting       If Me.ScaleMode = vbPixels Then        msg = X       Else        msg = X / Screen.TwipsPerPixelX       End If       Select Case msg        Case WM_LBUTTONUP        '514 restore form window         Me.WindowState = vbNormal         Result = SetForegroundWindow(Me.hwnd)         Me.Show        Case WM_LBUTTONDBLCLK    '515 restore form window         Me.WindowState = vbNormal         Result = SetForegroundWindow(Me.hwnd)         Me.Show        Case WM_RBUTTONUP        '517 display popup menu         Result = SetForegroundWindow(Me.hwnd)         Me.PopupMenu Me.mPopupSys       End Select      End Sub      Private Sub Form_Resize()       'this is necessary to assure that the minimized window is hidden       If Me.WindowState = vbMinimized Then Me.Hide      End Sub      Private Sub Form_Unload(Cancel As Integer)       'this removes the icon from the system tray       Shell_NotifyIcon NIM_DELETE, nid      End Sub      Private Sub mPopExit_Click()       'called when user clicks the popup menu Exit command       Unload Me      End Sub      Private Sub mPopRestore_Click()       'called when the user clicks the popup menu Restore command       Dim Result As Long       Me.WindowState = vbNormal       Result = SetForegroundWindow(Me.hwnd)       Me.Show      End Sub					
  3. Yukarıdaki kod eklediğiniz aynı formda aşağıdaki özellik ayarlarını yapın:
       Property         Required Setting for Taskbar Notification Area example   -----------------------------------------------------------------------   Icon           = The icon you want to appear in the system tray.   Minbutton      = True   ShownInTaskbar = False					
  4. Aşağıdaki menü öğeleri menü Düzenleyicisi'ni kullanarak aynı forma ekleyin:
       Caption      Name          Enabled   Visible   Position   ---------------------------------------------------------   &SysTray     mPopupSys      True      False    Main Level   &Restore     mPopRestore    True      True     Inset one   &Exit        mPopExit       True      True     Inset one					
Ek bir menü öğeleri gerektiği gibi ekleyin.

Görev çubuğu bildirim alanına esneklik

Bildirim üzerinde görünen araç ipucu değiştirebilirsiniz Form_Load yordamı aşağıdaki satırda değiştirerek simge:
   .szTip = "Your ToolTip" & vbNullChar				
"ToolTip bilgisayarınızı" görünmesini istediğiniz metinle değiştir.

Aşağıdaki satırı Form_Load yordamında değiştirerek görev çubuğu bildirim alanında beliren simgeyi değiştirebilirsiniz:
   .hIcon = Me.Icon				
Değiştir Me.Icon projenizdeki herhangi bir simge ile.

Görev çubuğu bildirim alanı ayarlarının kullanımı NIM_ADD sabitinin sonra herhangi bir anda nid değişken değerleri yeniden atama ve sonra Shell_NotifyIcon API çağrısı aşağıdaki olan değişim'i kullanarak değiştirebilirsiniz:
   Shell_NotifyIcon NIM_MODIFY, nid.				
geri, sonra da almak için farklı bir form istiyorsanız ancak, geçerli simge silin NIM_Modify işlevi veya yeni bir Hwnd kabul etmeyecek şekilde "Shell_NotifyIcon NIM_Delete, nid" kullanarak systray, yeni form kullanmak için başka bir simge eklemek gerekecektir "Shell_NotifyIcon nid NIM_ADD," Yeni nid türüyle dolumu sonra Hwnd oluşturur. Windows sistem tepsisinde için bir simge görüntülemek ve her form, değiştirmek istediğiniz her form NIM_DELETE ve NIM_ADD sırasını kullanarak olay etkinleştirme (Bu alan için nid türü ayrı kopyalarını da bildirebilirsiniz.
Referanslar
Sistem tepsisinde kullanarak veya görev çubuğu bildirim alanında Visual Basic 4.0 veya önceki sürümleri kullanma ile ilgili daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
149276Windows 95/98/Me görev çubuğu bildirim alanı simgeleri nasıl kullanılır
Görev çubuğu

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 176085 - Son İnceleme: 12/05/2015 08:09:14 - Düzeltme: 2.5

Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Visual Basic Control Creation Edition, Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition

  • kbnosurvey kbarchive kbmt kbbug kbhowto KB176085 KbMttr
Geri bildirim