| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 726 人关注过本帖
标题:Win7 任务栏右键菜单的疑问
只看楼主 加入收藏
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:171
专家分:19
注 册:2013-8-12
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:4 
Win7 任务栏右键菜单的疑问
先上两张图:(好像不能直接发图,只好发附件了)

两张对比图.zip (17.78 KB)


    程序运行后,在Win7任务栏上右击程序图标,会弹出一个菜单,菜单内容有“关闭窗口”、“将此程序锁定到任务栏”等等。

    我的问题是:有的软件这个菜单显然是自定义的(见图2)。

    而我用VFP开发的系统运行时,这个菜单的内容就只有三项,分别为:“关闭窗口”、“将此程序锁定到任务栏”,第三项就只有一个程序图标,后面没有文字(见图1)

    附件为两种截图,一张图为“QQ旋风”的任务栏右键菜单,一张为我自己程序的任务栏右键菜单(图标部分作了涂黑处理)。

    请教大家:如何自定义这个任务栏菜单??

我只有10分了,全部家当。
搜索更多相关主题的帖子: 任务栏 开发 软件 
2015-08-15 00:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10568
专家分:43031
注 册:2014-5-20
收藏
得分:0 
试试API相关函数:
用GetSystemMenu()获取任务栏菜单的句柄(hMenu),再用AppendMenu()或lnsertMenultem()添加你自己的菜单项,lnsertMenultem()增加了扩展特性。
2015-08-15 10:06
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:171
专家分:19
注 册:2013-8-12
收藏
得分:0 
回复 2楼 吹水佬
版本能不能稍微具体点,不是想不劳而获,实在是因为新手,你懂的。
2015-08-15 12:36
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10568
专家分:43031
注 册:2014-5-20
收藏
得分:10 
回复 3楼 eepcvfp
GetSystemMenu()可能有点老了,可能从Win7起就有点不一样,现在Win10测试,要<Shift+右键>才见到老模样,看来要对新模样学习一下。
添加系统菜单项目示例,在窗口标题菜单或任务栏图标<Shift+右键>操作。
程序代码:
DECLARE LONG GetSystemMenu IN User32 LONG, LONG
DECLARE LONG AppendMenu    IN User32 LONG, LONG, LONG, STRING@
DECLARE LONG SendMessage   IN User32 LONG, LONG, LONG, LONG
_screen.Visible = .F.
of = CREATEOBJECT("TForm")
of.Show 
READ EVENTS 
RETURN

DEFINE CLASS TForm AS Form
    ShowWindow = 2

    PROCEDURE Init
            *WM_SYSCOMMAND    equ 112h
        BINDEVENT(this.hWnd, 0x0112, this, "MyMenuCmd1")
        AppendMenu(GetSystemMenu(this.hWnd, 0), 0, 0x401, "我的菜单项目")
    ENDPROC

    PROCEDURE UnLoad
        CLEAR EVENTS 
    ENDPROC

 
    PROCEDURE MyMenuCmd1(hWnd, Msg, wParam, lParam)
        IF wParam == 0x401    && 自定义菜单项目消息
            MESSAGEBOX("点击了我的菜单项目")
        ENDIF
        SendMessage(hWnd, Msg, wParam, lParam)
    ENDPROC
ENDDEFINE
2015-08-15 16:26
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:171
专家分:19
注 册:2013-8-12
收藏
得分:0 
感谢版主出手,我试过了,成功!

不过这是要Shift + 右键,能不能使用我描述的那种直接右键出现自定义的菜单项目呢?
2015-08-15 16:39
快速回复:Win7 任务栏右键菜单的疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015492 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved