我在学习使用wxpython制作一款windows下的文件管理器,树形菜单已经实现,现在想实现在文件树节点上单击右键,弹出Explorer的上下文菜单,查阅资料无数..... wxpython没有内置的实现,看了一些别的语言的介绍,写出下面的代码片段

def GetFolderAndPIDLForPath(filename):

desktop = shell.SHGetDesktopFolder()

info = desktop.ParseDisplayName(0, None, os.path.abspath(filename))

cchEaten, pidl, attr = info

# We must walk the ID list, looking for one child at a time.

folder = desktop

while len(pidl) > 1:

this = pidl.pop(0)

folder = folder.BindToObject([this], None, shell.IID_IShellFolder)

# We are left with the pidl for the specific item. Leave it as

# a list, so it remains a valid PIDL.

return folder, pidl

def OnItemRightClick(self, evt):

hwnd = self.GetHandle()

folder, pidl = self.GetFolderAndPIDLForPath('D:\\')

pidls = [pidl]

inout, cm = folder.GetUIObjectOf(hwnd, pidls, shell.IID_IContextMenu, 0)

hmenu = win32gui.CreatePopupMenu()

flags = 0

flags |= shellcon.CMF_EXPLORE

cm.QueryContextMenu(hmenu, 0, 1, -1, flags)

spt = evt.GetPoint()

tpm_flags = win32con.TPM_LEFTALIGN | win32con.TPM_RETURNCMD | win32con.TPM_RIGHTBUTTON

win32gui.TrackPopupMenu(hmenu,tpm_flags,spt[0], spt[1], 0, hwnd, None)

结果触发的时候,没有异常报出,整个程序直接崩溃了...

请问那位朋友了解有相关的问题... 谢谢了

wxpython 树菜单单击_请教怎么在wxpython调用windows系统的右键菜单(context menu)?相关推荐

  1. Electron-vue开发实战7——命令行调用与系统级别右键菜单项的实现

    原文首发在我的博客,欢迎关注! 前言 前段时间,我用electron-vue开发了一款跨平台(目前支持主流三大桌面操作系统)的免费开源的图床上传应用--PicGo,在开发过程中踩了不少的坑,不仅来自应 ...

  2. 右键菜单_右键菜单太长会导致电脑卡顿?轻松删除右键菜单无用项

    ​ 有些人的电脑桌面看起来很整洁有序,结果点一下右键要卡 2秒,弹出来的菜单比脸都长,新建一个文件夹都要找半天. 右键菜单一直是各大软件刷存在感的好地方,因为比起桌面.任务栏和开始菜单,右键菜单使用频 ...

  3. 更改计算机菜单字体大小,windows10系统修改右键菜单字体的方法

    默认情况下,每台win10系统电脑的字体都是一样的,不过一些用户由于个人需求,就想要进行更改.该如何操作呢?今天,系统城小编将在下面给大家分享windows10系统修改右键菜单字体的方法.有需要的朋友 ...

  4. 服务器系统右键关机,Win7系统在右键菜单中添加关机选项的方法

    在win7系统中,我们关机的话可以通过开始菜单中的关机选项中来选择关机,那么其实还有更方便的方法,就是在右键菜单中添加关机选项,这样就可以快速关机了,现在给大家分享一下Win7系统在右键菜单中添加关机 ...

  5. win7 右键计算机 服务 设备管理器,win7系统计算机右键菜单添加设备管理器的操作方法...

    今天和大家分享一下关于对win7系统计算机右键菜单添加设备管理器设置的方法,在使用win7系统的过程中经常不知道如何去对win7系统计算机右键菜单添加设备管理器进行设置,有什么好的办法去设置win7系 ...

  6. 电脑中计算机右键管理无法打开,win8系统计算机右键菜单中的管理打不开怎么办...

    ‍‍ 计算机管理一组Windows管理工具,这些工具被组合到一个控制台中,方便我们操作.最近有些雨林木风win8旗舰版用户遇到了计算机管理打不开的情况,在右键点击计算机打开菜单后,点击管理打不开,遇到 ...

  7. 解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题

    解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题 参考文章: (1)解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题 (2)ht ...

  8. windows 2003 server右键菜单没有共享选项的解决办法

    windows 2003 server右键菜单没有共享选项的解决办法 首先检查: 1.是否administrator身份登录 2.运行services.msc,检查server,workstation ...

  9. 右键计算机没有软件删减,右键菜单太长会导致电脑卡顿?轻松删除右键菜单无用项!...

    原标题:右键菜单太长会导致电脑卡顿?轻松删除右键菜单无用项! 有些人的电脑桌面看起来很整洁有序,结果点一下右键要卡 2秒,弹出来的菜单比脸都长,新建一个文件夹都要找半天. 右键菜单一直是各大软件刷存在 ...

最新文章

  1. 炒菜机器人煎鸡蛋视频_我的生活小技巧,今天才发现鹅油那么好用,炸鸡蛋炸豆腐都挺好...
  2. Python+Selenium 技巧篇-svg标签内元素的xpath定位方式
  3. 基于SIMULINK的六足机器人仿真
  4. 沟通无国界,云信助力译牛构建远程会议同传新模式
  5. 现在的便签本都这么社会了!?重复写万次还能云端保存
  6. 如何查看cplex的help文档_word查看技巧:如何快速找到文档的修改痕迹
  7. 消息传递的图神经网络
  8. 白盒测试方法_软件测试的种类:白盒测试和黑盒测试
  9. 高并发系统的限流算法
  10. 【HDU5409】CRB and Graph 边双联通 子树最值
  11. 数理逻辑习题集(6)
  12. 鸿蒙系统摩尔纹怎么去,PS摩尔纹如何消除?摩尔纹消除方法图文分享
  13. zemax设计35mm镜头_镜头光学设计宝典结合Zemax实例分析(中文版).pdf
  14. 控制天象,世间的最强者!
  15. 基于Goolgle最新NavigationDrawer实现全屏水平平移
  16. undefined symbol 问题解决记录
  17. SEO静态页面生成系统
  18. 四、 按键控制流水灯的运行与暂停
  19. 产品狗的Python之路(2):excel表格拆分桌面小程序
  20. 关于Parser的知识点总结

热门文章

  1. Python Day42
  2. 第16件事 愿景和目标要接地气
  3. 呕心之作:支付宝的手机网站支付接口的应用
  4. [分享]iOS开发-实现UILabel显示出不同颜色并且某一部分产生下划线的效果 ...
  5. iOS开发-16进制颜色转换
  6. Oracle HTTP 乱码
  7. Android核心基础(五)
  8. 用Windows Server 2003配置×××
  9. 一个关于从1到100的加法算法
  10. pycharm自定义代码段