• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    添加菜單到系統菜單

    發布: 2007-5-25 09:21 | 作者: Shawls | 來源: 互聯網 | 查看: 30次 | 進入軟件測試論壇討論

    領測軟件測試網

    添加菜單到系統菜單

    Private Sub Form_Load()

        OldWindowProc = GetWindowLong(Form1.hwnd, GWL_WNDPROC)
        ' 取得窗口函數的地址
        Call SetWindowLong(Form1.hwnd, GWL_WNDPROC, AddressOf SubClass1_WndMessage)
        ' 用SubClass1_WndMessage代替窗口函數處理消息

        SysMenuHwnd = GetSystemMenu(Form1.hwnd, False)

        Call AppendMenu(SysMenuHwnd, MF_SEPARATOR, 2000, vbNullString)
        Call AppendMenu(SysMenuHwnd, MF_STRING, 2001, "關于本程序(&A)")
        Call AppendMenu(SysMenuHwnd, MF_SEPARATOR, 2002, vbNullString)
        Call AppendMenu(SysMenuHwnd, MF_STRING, 2003, "恢復系統菜單(&R)")
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
        If OldWindowProc <> GetWindowLong(Form1.hwnd, GWL_WNDPROC) Then
            Call SetWindowLong(Form1.hwnd, GWL_WNDPROC, OldWindowProc)
        End If
    End Sub

    Option Explicit

    ' API函數聲明
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long,
    ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long,
    ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal
    lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal
    lParam As Long) As Long

    Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long)
    As Long
    Public Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal
    wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal
    lpDirectory As String, ByVal nShowCmd As Long) As Long

    ' 常數聲明
    Public Const WM_SYSCOMMAND = &H112
    ' 單擊控制框產生此消息
    Public Const MF_SEPARATOR = &H800&
    ' 為菜單加一條分隔線
    Public Const MF_STRING = &H0&
    ' 在菜單中加一個字符串
    Public Const GWL_WNDPROC = (-4)

    ' 全局變量
    Public OldWindowProc As Long
    ' 保存默認的窗口函數地址
    Public SysMenuHwnd As Long
    ' 保存系統菜單句柄

    Public Function SubClass1_WndMessage(ByVal hwnd As Long, ByVal Msg As Long, ByVal wp As Long,
    ByVal lp As Long) As Long
        If Msg <> WM_SYSCOMMAND Then
            SubClass1_WndMessage = CallWindowProc(OldWindowProc, hwnd, Msg, wp, lp)
            ' 如果消息不是WM_SYSCOMMAND,就調用默認的窗口函數處理
            Exit Function
        End If

        Select Case wp
            Case 2001
                Call MsgBox("本程序實現了修改系統菜單的功能  ", vbOKOnly + vbInformation)
            Case 2003
                Call GetSystemMenu(Form1.hwnd, True)
                Call SetWindowLong(Form1.hwnd, GWL_WNDPROC, OldWindowProc)
                Call MsgBox("已經恢復了默認的系統菜單  ", vbOKOnly + vbInformation)
            Case Else
                SubClass1_WndMessage = CallWindowProc(OldWindowProc, hwnd, Msg, wp, lp)
                Exit Function
        End Select

        SubClass1_WndMessage = True

    End Function

     

           以上代碼來自: 源代碼數據庫(SourceDataBase)
               當前版本: 1.0.538
                   作者: Shawls
               個人主頁: Http://Shawls.Yeah.Net
                 E-Mail: ShawFile@163.Net
                     QQ: 9181729

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>