都曾被everything搜索的速度震撼?但它每次启动都自动扫描USN日志很费时.这里是个完整的vc源码,求vc大侠或版主出手改一下,成手动扫描

xinrensheng 2012-08-26 08:16:52
这个源码是牛人仿搜索神器everything的.这里是作者的原发布:http://hi.baidu.com/chenxiong0115/blog/item/b31e573a3d8bd6e715cecbb6.html
我用了一段时间了,有一点觉得可以改善下:就是它每次都程序启动的时候就扫描USN日志刷新数据库,把文件和文件夹目录读取出来,关闭程序的时候就自动保存到c盘的ntfsqs.db和ext.db文件.很花时间,300G的硬盘大概要花上1分钟.我想改造一下,改成让我手工扫描,不要启动即扫描.因为硬盘上的文件夹和文件其实可能很长时间都不会有什么大变化,每次都扫描刷新太浪费时间了.

求哪位大侠或版主出手帮忙简单改一下或指教下(版主出手下?就当是给vc版fans的福利了.^_^.....),把它每次启动时都自动扫描USN日志,改为加个按钮让我手动(自己觉得需要扫的时候,当我自己觉得自己硬盘上文件和文件夹变化大了,数据有点旧了的时候,再手动扫描.).我自己弄了半天弄不成.我用vb的,它那个启动扫描应该相当于vb里面form_load事件,按钮的话vb里双击下就知道在哪里了.vc这个我不会,那么多函数头绪都搞不清楚.我看了下应该是把它INT_PTR CALLBACK DialogProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)这个叫对话框的"回调函数"还是什么改成按钮控制应该就可以了.自己试了下不会,连那个按钮怎么固定位置都弄不成.

还有那个"展开过滤选项"(菜单)如果想改成程序启动的时候 默认就是展开的,要怎么写呢?它现在默认是收起的,我觉得展开最好.

源码我再传个在这里:http://tinyurl.com/9gda3ty 我在对话框上加了个"手动更新数据库"按钮.其它都是原作者的.

...全文
3971 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdgzwqz 2013-01-29
  • 打赏
  • 举报
回复
我好像在什么地方看过一个帖子讲到,只要修改USN的什么空间大小,把原先的32K改大一点就不会每次启动啦!但忘记在什么地方看到的啦!不知对你有无帮助!
xinrensheng 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我每次初始化都关闭掉Everything,要用再打开。

坐等大神出现
[/Quote]
按理说应该不会很复杂的,算是小修改.
我是不会vc.

关闭掉,但是再开再用的时候还是会扫描USN日志花时间的吧?
傻X 2012-08-26
  • 打赏
  • 举报
回复
我每次初始化都关闭掉Everything,要用再打开。

坐等大神出现
Everything:速度最快的文件搜索工具 转载善用佳软,本人用的时候都是用alt+F快捷键的,这个需要到选项设置一下,检索速度太快,占用内存平时7MB左右,不能检索文件内容,仅文件名。可以开启http或ftp服务,用来共享文件还是不错的,毕竟校网传输速度不错,方便 Everything是速度最快的文件搜索软件。其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完索引;文件名搜索瞬间呈现结果。它小巧免费,支持中文,支持正则表达式,可以通过HTTP或FTP分享搜索结果。如果不满意Windows自带的搜索工具、Total Commander的搜索、Google 桌面搜索或百度硬盘搜索,如果正在使用或放弃了Locate32,都值得推荐这款体积小巧、免安装、免费、速度极快(比Locate32更快)的文件搜索工具Everything! 最新beta版。 中文语言包、语言包txt文本 本文目录:简介、初级教程、视频演示、技巧、补充、总结、附录 1. Everything简介 voidtools(中文主页)开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly)”。它体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。 注意: - 只搜索文件名,不能搜索文件内容; - 只适用NTFS文件系统,不适合FAT32; - 完美支持中文,但必须使用V1.2.及更新版本。 2. 初级教程:Everything的基本用法 2.1 下载与安装 官方下载页。 安装或解压Everything,即可开始使用。 2.2 首次运行 Everything在第一次运行时,会建立索引数据库。但你丝毫不用担心,其速度极快,生的索引文件极小!看看本文下面的回复,你会充满信心。亲身体验之后,你或者也会为其速度震惊。或者,你根本没感觉到它需要建立索引。 索引之后,简洁的程序界面呈现在你的面前,程序状态栏中还会显示索引的文件数量。看到这个数字,你是否惊奇Everything的神速呢? 2.3 基本搜索 尽管Everything还处在英文界面,但这并不影响你的基本使用。只须在搜索框中,输入几个字母或汉字,搜索结果就会实时呈现在你的眼前。然后,可以直接双击某条结果,打开文件。也可以直接在结果中进行复制、删除等常见操作。 2.4 切换为中文界面 中文语言包,并将语言包内的Everything.lng解压到程序目录,就可以通过菜单切换为中文了:Tools→ Options→ General→ Language→ 简体中文。 需要说明的是,切换语言后,需要重启Everything才能看到效果。另外,点击Everything窗口的关闭按钮后,它只是缩小为托盘图标,并没有真正关闭。 3. Everything搜索技巧 3.1 高效搜索之“与”“或” 技巧:在Everything的搜索框中可以输入多个关键词,以空格分开,表示搜索结果要包括全部关键词。大家肯定对这种做法不会陌生,因为它正是搜索引擎的惯例。 举例:键入(不包括引号,下同)“李白 北京 08 jpg”,可以快速找出某些照片。 技巧:对应“与”的还有“或”(OR)运算,用半角竖线表示:|。当你不确信关键词的准确描述时,这种方式非常有用。 举例:“jpg 李白|libai 北京 08”、“免费|freeware”…… 引伸:既然空格表示“与”,那么如何表示真正的空格呢?很简单,加英文半角引号,比如”program files”。 3.2 正则表达式 Everything支持正则表达式,或者说,支持一些简单的正则表达式。但对大多数用户而言,这已经足够了!Everything支持的正则表达式有: | () ? * + . [] [^] ^ $ {m,n} rex网友的翻译。如果你不了解什么是正则表达式,请自行搜索。 3.3 指定搜索范围 默认情况下,Everything索引、搜索所有本地NTFS磁盘的所有目录。但是你可以通过如下方式,限定搜索范围,以得到更易用的结果列表。 - 希望Everything永不索引某个磁盘,请在“选项”-“NTFS磁盘”中,选定相应盘符,取消“搜索本卷”或“包含在数据库中”。(注:可以取消前一项,这样后一项就自动变灰——但没发现这种做法与只取消后一项的差别。大家可以研究一下!) - 希望永远排除某些目录,可以在“选项”-“排除列表”中设定。和上条方法一样,确认之后Everything会重新生索引。 - 希望Everything只搜索某个目录,可以在资源管理器或Total Commander中,右击该目录,在弹出菜单上选“Search Everything…”。这时你会看到Everything的搜索框中,出现了带引号的目录名。 - 与上一方法相同,只是不用右击目录,而是直接输入带引号的目录名,再输入搜索关键词。需要注意的是:目录名一定是完整路径,且用半角双引号括起来,不能选中“使用正则表达式”。 - 还有一种方法,使用起来要头脑更清楚才行。比如,设定“匹配路径”后,输入 files/ .exe,看看搜到了什么结果,想想这是为什么。 3.4 网络分享 Everything内置了HTTP、ETP/FTP服务器。这意味着,你可以用它当作简单的服务器来用。何况,它的HTTP分享,仍然提供了强大的搜索功能。 HTTP分享:点击菜单“工具”-“HTTP服务器”后,就可以在浏览器访问 http://localhost 或输入本机IP进行访问了。在HTTP中,它的搜索功能一样强大。因此,你可以把它加入Firefox等浏览器的自定义搜索中,更加方便的进行搜索。 FTP功能类似,但不具备搜索功能。 相比而言,因为浏览器更为常用,并且支持搜索,默认的UTF-8编码识别率更高,所以推荐HTTP方式分享。无论是HTTP还是FTP,其端口、用户名、密码都是可以设定的。这样,你就可以在局域网内更放心的分享文件了。 除了与朋友分享之外,在文件服务器上运行Everything,然后用户就可以通过浏览器快速搜索了。这是一个很好的应用。 4. 一些补充 4.1 everything的速度 Everything搜索工具的最大优点是速度。其速度不是快,是极快;用户不是满意,而是震惊。 第一个快速体现在索引速度。官网称,1分钟可索引100万个文件。笔者的NTFS文件系统共40G/近4万个文件,第一次启动时,根本没有感觉到建立索引需要时间。这种快速,是因为Everything的索引无需逐一扫描硬盘文件,而是直接读取NTFS文件系统的USN日志。这当然是既省力,又合理的做法。 第二个快速体现在搜索速度。在搜索框中键入字符后,搜索结果——或许称为过滤结果更准确——实时呈现。 Locate32。是否真有这么快?请各位读者反馈试用结果。目前收到的反馈都证明了这一点,对有些网友而言,速度已经快到令人震惊,甚至是愤怒了:凭什么可以这么快! 4.2 Everything资源占用 总起来讲,占用资源很少。 - 从安装(实际解压即可)来看,真正需要的只有一个主文件exe,约0.5MB。 - 索引数据库极小。笔者60G硬盘,索引文件0.7MB。 - 占用内存少,笔者使用为7MB。 4.3 Everything数据库更新 - 没有所谓更新频率的设定,因为更新是自动的。 - 每次重启Everything,都会自动更新; - 每次设置Everything(比如设定排除列表)之后,都会自动更新; - Everything运行时,会实时更新索引数据库。 4.4 Everything可与其他文件管理器(如Total Commander)集 以下内容由网友dracodoc于2008-11-18 1:17补充。Everything集Total Commander Everything FAQ有介绍。 我的修: explore_folder_command=$exec(”%SystemRoot%\explorer.exe” /n,/e,”%1″) explore_folder_path_command=$exec(”%SystemRoot%\explorer.exe” /n,/e,/select,”%1″) open_folder_path_command=$exec(”d:\app\wincmd\TOTALCMD.EXE” “$parent(%1)”) open_file_command=$exec(”%1″) open_folder_command=$exec(”d:\app\wincmd\TOTALCMD.EXE” “%1″) explore部分不用变,保留第二种选择。需要在tc里设定只打开一个tc实例,我试过用tc命令行的/o参数来不打开第二个实例,但是everything不认。 现在双击找到的文件会打开,双击目录会激活tc跳到该目录(如果你想设定在左边,右边或者新建一个tab可以尝试加上tc的命令行参数,不一定能用),右键选择文件,open path会用tc打开文件所在目录。 再在tc里或者其他全局hotkey设定程序里设定everything的激活热键就可以了(我不喜欢一直开着,随用随启动并不慢) 下载最新beta版。低版本Everything无法识别上述ini内容,会强行删除。“在tc里设定只打开一个tc实例”的做法有2种。一是图形化操作(推荐):配置 → 操作方式 → 主程序 → 只允许一个TC运行。二是直接在wincmd.ini中的[Configuration]段增加一句 onlyonce=1,并重启TC。 5. 结论 如果你经常需要按照文件名进行快速搜索,并且磁盘用了NTFS文件系统,则Everything是首荐工具。如果你需要远程搜索其他计算机上的文件,那么Everything的服务器共享功能更为适合。总之,这款不到1MB的搜索利器,很值得收藏试用。 附录 用Everything在電光石火間找到迷失的檔案。于是,我也在翻译完之前先发此文,以便合力宣传everything。 友好竞争的关系,都是小巧、免费的佳作。bbinn还有一款文件查重小软件FindDump,也在上面的贴子中。 网友评论:(评论内容只代表网友观点,与本站立场无关!) 【发表评论】 评论人 评论内容 评论时间 打分 【bavon】 绝对的好东西。 只要大概知道你的文件名包含哪几个字,就可以把文件找出来,而且速度极快 2009-9-1 11:02:29 5分 【comme】 不清楚,我只是自己用着好就发上来了 2008-11-27 17:53:12 3分 【xjdonkey】 用ava find很久了,感觉不错。 这类工具就是搜索文件名的,跟desktop那种全文索引工具没有可比性。 ava find要在线监视文件读写,感觉对硬盘速度有影响,但它建立的索引库大概也就是50M/50G,检索速度非常快了。现在这类工具挺多,确实很有意义,估计微软用不了多久应该就会集进windows了。 有没有用过的说说它和ava find比有什么优点? 2008-11-27 12:33:01
1. Everything简介 Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly)”。它体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。 2. Everything三大优点 2.1 速度极快 Everything搜索工具的最大优点是速度极快。 第一个快速体现在索引速度。官网称,1分钟可索引100万个文件。笔者的NTFS分区共40G/近4万个文件,第一次启动时,根本没有感觉到建立索引需要时间。这种快速,是因为Everything的索引无需逐一扫描硬盘文件,而是直接读取NTFS磁盘USN日志。这当然是既省力,又合理的做法。 第二个快速体现在搜索速度。在搜索框中键入字符后,搜索结果——或许称为过滤结果更准确——实时呈现。 总起来看,多篇测评和试用者认为,其速度超过了以前备受好评的Locate32。是否真有这么快?各位读者也可以把你的感受留言反馈。 2.2 简洁易用 Everything的第二大优点是界面简洁易用。安装之后,运行程序,键入搜索内容,连回车都不用按,直接得到结果。非常方便,尤其适合初级用户。 Everything还可以集到右键菜单中(如图所示)。这样,在资源管理器或Total Commander等文件管理器中,就可以更方便地搜索文件了。 另,快速+简洁,这不是Google的风格吗?或者说,这是任何优质服务的共有特征。 2.3 支持服务器分享 快速易用,并不意味着功能单一或设置固化。实际上,Everything的第三大优点就是,高可配置性和实用的附加功能。高可配置性,看一下软件的设置菜单就明白。而实用的附加功能,体现为搜索结果的共享发布。Everything支持把文件索引通过http或ETP/FTP的方式发布。也就是说,你可以让它在局域网的文件服务器上运行,然后在任何一台机器上,通过浏览器快速搜索文件服务器。参见视频演示。 此外,Everything占用资源很少(内存7MB),支持正则表达式。 3.结论 如果你经常需要按照文件名进行快速搜索,并且磁盘是NTFS格式,则Everything是首荐工具。如果你需要远程搜索其他计算机上的文件,那么Everything的服务器共享功能更为适合。总之,这款不到1MB的搜索利器,很值得收藏试用。 Everything是一款速度超级快的NTFS文件搜索工具,能索引和搜索NTFS分区的文件。可以按文件名进行高速搜索文件。支持远程搜索其他计算机上的文件。 相比其他的搜索工具,Everything 无论是体积、索引数据库的大小、还是内存占用都是暂时我所见到最强的!Everything的体积才5百多K,硬盘上有217G的数据,索引数据库仅有2.2MB,而内存占用仅为9M~12M左右,可以说是完胜其他的搜索工具了! Everything搜索工具的最大优点是速度。其速度不是快,是极快;用户不是满意,而是震惊。你甚至会愤怒,它凭什么这么快?!它的工作原理是基于 NTFS 文件系统的,NTFS文件系统中的 USN 日志记录了系统对NTFS分区中的文件所做的所有更。对于每一卷,NTFS 都使用 USN 日志来跟踪有关添加、删除和修的文件的信息。Everything利用USN进行文件搜索时,速度超快。如果你的文件系统还是FAT32,而又想使用Everything的话,你需要转换你的分区格式了,如果你使用的是XP的话,在命令行下输入 convert X:/FS:NTFS 回车按提示重启后等待转换完就可以了。其中X代表你要转换的盘符,转换后数据不会掉失。如果让我给Everything打分的话,我会打99分!!而剩下的1分是留给它的新版本!【转自bbs.bitsCN.com】

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧