Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 抓狂的Namespace Shell Extension (3)
【标  题】:抓狂的Namespace Shell Extension (3)
【关键字】:Namespace,Shell,Extension
【来  源】:BLOG.CSDN.NET

抓狂的Namespace Shell Extension (3)

Your Ad Here
Explorer有两种线程模型:
 
(1) 所有窗口在一个进程内,每窗口是一个或多个GUI线程。
(2) 每窗口一个进程,每进程中有一个或多个GUI线程。
 
比较好的情况(对程序员友好)是(2)。如果用户选择的是方式1,那么在编写namespace shell extension时如果需要non-blocking方式,即完成长时间工作而主窗口依然能处理用户消息,一定要千万分当心。
 
下面是典型的一种情况:
 
在RarFS/0.0.7中增加了在临时路径打开文件,然后监测其变化的功能。很显然,这件事一定不能妨碍用户的正常操作,即必须是non-blocking的。
 
最初的选择是建立第二消息循环。后来发现,Explorer居然在每次QueryInterface(IShellFolder)的时候都会创建一个新线程,同时将老线程关闭。这样,在老线程中创建的窗口也就随之实效。
 
目前的处理方式是建立一个singleton的监测线程,方法就是创建线程后创建一个窗口,窗口在WM_TIMER中处理所有监测改变的任务。凡是要添加新文件到监测列表时,通过SendMessage将文件名等等信息传递过去。
c++:【上一篇】
抓狂的Namespace Shell Extension (2):【下一篇】
【相关文章】
  • Shell32.Dll API New Published!
  • xp_cmdshell
  • 一个小巧的MySQL Shell
  • FreeBSD连载(14):shell设置
  • 让Freebsd终端也支持彩色,更改用户登陆shell,更换提示符,Freebsd下支持dir
  • 打开Shell提示
  • Shell提示基本知识--为什么要使用 Shell提示
  • Shell 的历史渊源
  • 在shell提示下操作文件
  • 新手一次搞定RedHat8.0simsun字体的shell程序
  • 【随机文章】
  • Linux命令Man解释:ftpaccess(5) :ftpd 的配置文件
  • mobile编程连接GPRS
  • 学友计算机等级考试试题汇编2002A+ 算法分析
  • 使OSPF有效
  • 第一次认真的注意这个词
  • 红袖离开3年了。。。
  • ORACLE常用傻瓜問題1000問(之二)
  • 设置一个简单的LINUX NAT防火墙
  • java培训笔记五
  • 《SharePoint Portal Server 2003 深入指南》出版预告
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.