`
eimhee
  • 浏览: 2115716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

API 更改系统菜单条目

 
阅读更多

一个运用API 更改系统菜单,复制系统菜单的例子。(需要注意的是:如果要响应菜单项的单击事件,可能要用到钩子函数和更多的代码)

Option Explicit

Private Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Any) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpString As Any) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Const TPM_LEFTALIGN = &H0&
Private hsysmenu As Long
Private Type POINTAPI
    x As Long
    y As Long
End Type

 


Function num(i As Integer) As String
num = Mid("    长恨歌 汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力,始是新承恩泽时。云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。", 8 * i + 1, 8)
End Function

 


Private Sub Form_Load()
Dim i As Integer
hsysmenu = GetSystemMenu(hwnd, False) '系统菜单句柄

InsertMenu hsysmenu, 0, &H800, &H0, "" '加入分割符
For i = 0 To 5
ModifyMenu hsysmenu, i, &H4410, 0, num(i+1) '改变菜单条目
Next

For i = 6 To 15

InsertMenu hsysmenu, i, &H400, &H0, num(i+1)   '插入菜单条目
Next 'i=6 对应条目为关闭按钮,如此设置是为了留下该条目


InsertMenu hsysmenu, 0, &H800, &H0, "" '加入分割符
InsertMenu hsysmenu, 0, &H400, &H0, num(0)

Me.Move Screen.Width / 2 - 3000, Screen.Height / 2 - 2000, 6000, 4000 ' 窗体居中
Me.Caption = "请用鼠标右键调出系统菜单!!!"
End Sub

 


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim Pts As POINTAPI
 GetCursorPos Pts '获取鼠标位置
    If Button = 2 Then TrackPopupMenu hsysmenu, TPM_LEFTALIGN, Pts.x, Pts.y, 0, Me.hwnd, ByVal 0&
 '在鼠标点击处弹出更改后的系统菜单
End Sub

 

效果如下:

分享到:
评论

相关推荐

    易语言API改变菜单标题学习例程

    易语言API改变菜单标题学习例程源码,API改变菜单标题学习例程,GetMenu,ModifyMenu,API_取得指定菜单条目的字串

    API之网络函数---整理网络函数及功能

    API之网络函数1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个...HiliteMenuItem 控制顶级菜单条目的加亮显示...

    openfire-restAPI-plugin:允许通过RESTful API进行Openfire管理

    更新或删除系统属性获取所有或特定聊天室的概述,以及创建,更新或删除聊天室获取所有或特定用户会话的概述向所有在线用户发送广播消息获取所有或特定安全审核日志的概述从多用户聊天室获取聊天消息历史记录可用的...

    KORONA.pos-Client-API

    转到设置>外部系统调用(如果您没有此导航点,请选择“编辑菜单条目”) 使用指向您网站的显示URL创建一个新的外部系统调用 转到设置>按钮布局并创建一个新按钮,然后将您的外部系统调用添加到该按钮。 单击该按钮后...

    CustomRightClickMenu:浏览器扩展,可从您的右键单击菜单添加链接并运行脚本样式表

    在右键菜单中创建您自己的条目。 在右键菜单中添加自定义脚本,链接,子菜单或自定义CSS,然后从右键菜单中执行所有您想做的事情。 具有针对用户脚本的完全GreaseMonkey兼容性和针对用户样式的时尚兼容性。 演示版 ...

    e-commerce-back-end:用于电子商务网页的RESTful API

    用户能够在数据库中为产品,产品类别以及相关的产品标签创建,读取,更新和删除(CRUD)条目。 该信息可以完全集成到购物网站或应用程序的前端,以便可以在客户端进行这些更改和请求。安装在您的Web浏览器中导航到...

    vfp6.0系统免费下载

    答案: 在 6.0 版中,包含有以下 ActiveX 控件的文件,其名称已从 Comctl32.ocx 更改为 Mscomctl.ocx: Microsoft ListView Control Microsoft TreeView Control Microsoft ImageList Control Microsoft ...

    VB编程资源大全(源码 控件)

    dyncontrol.zip 动态建立控件的范例(3KB) 21,listitemdrag.zip 演示如何将列表框中的条目拖放到另外一个列表框中(2KB) 22,ownerdrawmenu.zip 演示建立图形菜单,同一般的图形菜单不同,通过该程序...

    VBA常用技巧

    技巧82 改变系统菜单的操作 12 技巧83 定制自己的系统菜单 12 技巧84 改变菜单按钮图标 12 技巧85 右键快捷菜单增加菜单项 12 技巧86 自定义右键快捷菜单 12 技巧87 使用右键菜单制作数据有效性 12 技巧88 禁用工作...

    VBA编程技巧大全

    技巧82 改变系统菜单的操作 198 技巧83 定制自己的系统菜单 199 技巧84 改变菜单按钮图标 205 技巧85 右键快捷菜单增加菜单项 206 技巧86 自定义右键快捷菜单 207 技巧87 使用右键菜单制作数据有效性 210 技巧88 ...

    VB 各种控件(个人收藏30多种,还有详细的使用介绍)

    一、VB控件集,控件集内含ListView、漂亮按钮、下拉列表、TAB窗体选项卡、树形菜单控件、窗体滑动菜单、分组菜单,可折叠展开的菜单等。以前就更新过,现在修正了不少控件中的小错误,更接近完善了,相信这些控件...

    JAVA上百实例源码以及开源项目源代码

    发送消息,同时对文本进行少量修改,发送end-of-messages消息,最后关闭连接。 Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器  Tcp服务端与客户端的JAVA实例源代码,一个简单...

    JAVA上百实例源码以及开源项目

    发送消息,同时对文本进行少量修改,发送end-of-messages消息,最后关闭连接。 Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器  Tcp服务端与客户端的JAVA实例源代码,一个简单...

    Tcl_TK编程权威指南pdf

    操纵菜单和菜单条目 菜单属性 通过名字来指定菜单的软件包 第28章 资源数据库 有关资源的介绍 加载选项数据库 添加单一的数据库条目 存取数据库 用户定义的按钮 用户定义的菜单 第29章 简单的tk组件 ...

    禅道项目管理软件发布 v4.3 beta版本.zip

    禅道开源项目管理软件4.3.beta版本于08月05日正式发布,该版本主要完善批量操作、api和扩展的例子。调整插件管理功能。完善测试管理功能。 注:该版本为BETA版本,不建议用于生产环境 一、修改记录 完成的需求...

    Access+2000中文版高级编程

    13.6.5 从Access中创建Outlook日历条目 424 13.7 用DDE调用其他应用程序 425 13.7.1 理解Access中用到的DDE命令 426 13.7.2 用DDE执行复杂的Word示例 429 13.8 小 结 432 第14章 编程实现ActiveX控件功能 ...

Global site tag (gtag.js) - Google Analytics