新闻 | 天津 | 民生 | 广电 | 津抖云 | 微视 | 读图 | 文娱 | 体育 | 图事 | 理论 | 志愿 | 专题 | 工作室 | 不良信息举报
教育 | 健康 | 财经 | 地产 | 天津通 | 旅游 | 时尚 | 购物 | 汽车 | IT | 亲子 | 会计 | 访谈 | 场景秀 | 发布系统

"津云"客户端
  您当前的位置 :北方网 > IT浪潮 > 北方学院 > 软件文库 > 系统相关 正文
关键词:

添加菜单项的快捷菜单


http://www.enorth.com.cn  2001-02-22 00:00

  有些软件实现了把菜单项添加到Windows“开始”按钮的右键快捷菜单中,你想不想让自己的程序也通过这种方式运行呢?这是很诱人的,也不难实现,直接修改系统注册表就能做到。把下面的代码放在你自己的程序中,即可由软件实现用户自己选择菜单项的添加或撤消。下面用VB6.0调用API函数实现:

  

  首先,在Form1中添加Command1和Check1,主要属性设置:

  

  Command1的Caption=″确定″;

  Check1的Caption=″将本程序添加到′开始′按钮的右击快捷菜单″,Value=1-Checked。

  代码如下:

  ′通用声明

  Private Declare Function RegCreateKey Lib ″advapi32.dll″ Alias ″RegCreateKeyA″ (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

  Private Declare Function RegSetValueEx Lib ″advapi32.dll″ Alias ″RegSetValueExA″ (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

  Private Declare Function RegDeleteKey Lib ″advapi32.dll″ Alias ″RegDeleteKeyA″ (ByVal hKey As Long, ByVal lpSubKey As String) As Long

  Private Declare Function RegCloseKey Lib ″advapi32.dll″ (ByVal hKey As Long) As Long

  Private Const REG_SZ = 1

  Private Const HKEY_LOCAL_MACHINE = &H80000002

  ′按钮代码

  Private Sub Command1_Click()

   Dim hKey As Long

   Dim lRet As Long

   Dim strRunCmd As String

   Dim strMenuName As String

   ′strRunCmd为本程序的完整路径和文件名

   strRunCmd = App.Path & ″\″ & App.EXEName & ″.exe″

   strMenuName = ″我的应用程序″

   Select Case Check1.Value

   Case 1

   ′在主键HKEY_LOCAL_MACHINE\Software\CLASSES\Directory\shell下创建主键abcd

   lRet = RegCreateKey(HKEY_LOCAL_MACHINE, ″Software\CLASSES\Directory\shell\abcd″, hKey)

   ′设置abcd的默认键值为strmenuname的值

   lRet = RegSetValueEx(hKey, ″″, 0&, REG_SZ, ByVal strMenuName, Len(strMenuName) + 1)

  ′在主键HKEY_LOCAL_MACHINE\Software\CLASSES\Directory\shell\abcd下创建主键command

  lRet = RegCreateKey(HKEY_ LOCAL_MACHINE, ″Software\CLASSES\Directory\shell\abcd\command″, hKey)

  ′设置command的默认键值为strRunCmd的值

  lRet = RegSetValueEx(hKey, ″″, 0&, REG_SZ, ByVal strRunCmd, Len(strRunCmd) + 1)

   ′关上主键

  lRet = RegCloseKey(hKey)

   MsgBox ″菜单项添加成功″, ,″提示″

   Case 0

   ′删除主键abcd

  lRet = RegDeleteKey(HKEY_LOCAL_ MACHINE, ″Software\CLASSES\Directory\shell\abcd″)

   lRet = RegCloseKey(hKey)

   MsgBox ″菜单项被撤消″, , ″提示″

   End Select

  End Sub

  

     本程序在Win98+VB6.0中文企业版运行通过。(山东 刘红军)

  

  

编辑 超级管理员
[进入IT论坛]
请您文明上网、理性发言并遵守相关规定,在注册后发表评论。
 北方网精彩内容推荐
无标题文档
天津民生资讯
天气交通 天津福彩 每月影讯 二手市场
空气质量 天津股票 广播节目 二手房源
失物招领 股市大擂台 天视节目 每日房价
热点专题
北京奥运圣火传递和谐之旅 迎奥运 讲文明 树新风
解放思想 干事创业 科学发展 同在一方热土 共建美好家园
2008天津夏季达沃斯论坛 《今日股市观察》视频
北方网网络相声频道在线收听 2008高考招生简章 复习冲刺
天津自然博物馆馆藏精品展示 2008年天津中考问题解答
带你了解08春夏服饰流行趋势 完美塑身 舞动肚皮舞(视频)
C-NCAP碰撞试验—雪佛兰景程 特殊时期善待自己 孕期检查
热点新闻排行 财经 体育 娱乐 汽车 IT 时尚 健康 教育

Copyright (C) 2000-2021 Enorth.com.cn, Tianjin ENORTH NETNEWS Co.,LTD.All rights reserved
本网站由天津北方网版权所有