1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Lap Trinh VB Tren SystemTray

Chủ đề trong 'Hỏi đáp Tin học' bởi 114TrungKien, 21/02/2002.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. 114TrungKien

    114TrungKien Thành viên mới

    Tham gia ngày:
    21/02/2002
    Bài viết:
    39
    Đã được thích:
    0
    Co ai lap trinh VB 6.0 ma tao tren SystemTray duoc khong, nhu VietKey2000, chi toi voi, cam on truoc !
  2. OnlyOne

    OnlyOne Thành viên mới

    Tham gia ngày:
    19/02/2002
    Bài viết:
    16
    Đã được thích:
    0
    - Ban Co the Tim Doc Them o trong Dia MSDN Library cua Microsoft
    Steps To Create Sample Program
    Start Visual Basic. If it is already running, go to the File menu and click New Project.
    Place two CommandButtons and a common dialog box control on Form1.
    Copy the following code to the Form1 code window:
    'Declare a user-defined variable to pass to the Shell_NotifyIcon
    'function.
    Private 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
    'Declare the constants for the API function. These constants can be
    'found in the header file Shellapi.h.
    'The following constants are the messages sent to the
    'Shell_NotifyIcon function to add, modify, or delete an icon from the
    'taskbar status area.
    Private Const NIM_ADD = &H0
    Private Const NIM_MODIFY = &H1
    Private Const NIM_DELETE = &H2
    'The following constant is the message sent when a mouse event occurs
    'within the rectangular boundaries of the icon in the taskbar status
    'area.
    Private Const WM_MOUSEMOVE = &H200
    'The following constants are the flags that indicate the valid
    'members of the NOTIFYICONDATA data type.
    Private Const NIF_MESSAGE = &H1
    Private Const NIF_ICON = &H2
    Private Const NIF_TIP = &H4
    'The following constants are used to determine the mouse input on the
    'the icon in the taskbar status area.
    'Left-click constants.
    Private Const WM_LBUTTONDBLCLK = &H203 'Double-click
    Private Const WM_LBUTTONDOWN = &H201 'Button down
    Private Const WM_LBUTTONUP = &H202 'Button up
    'Right-click constants.
    Private Const WM_RBUTTONDBLCLK = &H206 'Double-click
    Private Const WM_RBUTTONDOWN = &H204 'Button down
    Private Const WM_RBUTTONUP = &H205 'Button up
    'Declare the API function call.
    Private Declare Function Shell_NotifyIcon Lib "shell32" _
    Alias "Shell_NotifyIconA" _
    (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
    'Dimension a variable as the user-defined data type.
    Dim nid As NOTIFYICONDATA
    Private Sub Command1_Click()
    'Click this button to add an icon to the taskbar status area.
    'Set the individual values of the NOTIFYICONDATA data type.
    nid.cbSize = Len(nid)
    nid.hWnd = Form1.hWnd
    nid.uId = vbNull
    nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
    nid.uCallBackMessage = WM_MOUSEMOVE
    nid.hIcon = Form1.Icon
    nid.szTip = "Taskbar Status Area Sample Program" & vbNullChar
    'Call the Shell_NotifyIcon function to add the icon to the taskbar
    'status area.
    Shell_NotifyIcon NIM_ADD, nid
    End Sub
    Private Sub Command2_Click()
    'Click this button to delete the added icon from the taskbar
    'status area by calling the Shell_NotifyIcon function.
    Shell_NotifyIcon NIM_DELETE, nid
    End Sub
    Private Sub Form_Load()
    'Set the captions of the command button when the form loads.
    Command1.Caption = "Add an Icon"
    Command2.Caption = "Delete Icon"
    End Sub
    Private Sub Form_Terminate()
    'Delete the added icon from the taskbar status area when the
    'program ends.
    Shell_NotifyIcon NIM_DELETE, nid
    End Sub
    Private Sub Form_MouseMove _
    (Button As Integer, _
    Shift As Integer, _
    X As Single, _
    Y As Single)
    'Event occurs when the mouse pointer is within the rectangular
    'boundaries of the icon in the taskbar status area.
    Dim msg As Long
    Dim sFilter As String
    msg = X / Screen.TwipsPerPixelX
    Select Case msg
    Case WM_LBUTTONDOWN
    Case WM_LBUTTONUP
    Case WM_LBUTTONDBLCLK
    CommonDialog1.DialogTitle = "Select an Icon"
    sFilter = "Icon Files (*.ico)|*.ico"
    sFilter = sFilter & "|All Files (*.*)|*.*"
    CommonDialog1.Filter = sFilter
    CommonDialog1.ShowOpen
    If CommonDialog1.filename <> "" Then
    Form1.Icon = LoadPicture(CommonDialog1.filename)
    nid.hIcon = Form1.Icon
    Shell_NotifyIcon NIM_MODIFY, nid
    End If
    Case WM_RBUTTONDOWN
    Dim ToolTipString As String
    ToolTipString = InputBox("Enter the new ToolTip:", _
    "Change ToolTip")
    If ToolTipString <> "" Then
    nid.szTip = ToolTipString & vbNullChar
    Shell_NotifyIcon NIM_MODIFY, nid
    End If
    Case WM_RBUTTONUP
    Case WM_RBUTTONDBLCLK
    End Select
    End Sub

    Have a nice day!
  3. dinhnhan

    dinhnhan Thành viên mới

    Tham gia ngày:
    07/01/2002
    Bài viết:
    14
    Đã được thích:
    0
    Chao ban!
    Ban co the dung ham win 32 API de xu li van de tren
    su dung ham ShellNotityIconData(), trong ham nay co nhieu thong so.
    Chuc thanh cong!
    dnhan
  4. 114TrungKien

    114TrungKien Thành viên mới

    Tham gia ngày:
    21/02/2002
    Bài viết:
    39
    Đã được thích:
    0
    Cam on hai ban OnlyOne va dinhnhan da gop y kien cho minh và bay gio minh se kiem nghiem. Nhung hoi lai chut nha !
    Lap trinh tao chuong trinh khong nam tren TaskBar ma nam tren SystemTray nhu VietKey2000, AOL Messenger, Hay BKAV2002, Norton Antivirus ... bang VB60 do !
    kien

Chia sẻ trang này