无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: slore
打印 上一主题 下一主题

[原创]把PETools放到 搜索 菜单

  [复制链接]
31#
 楼主| 发表于 2010-3-28 22:08:36 | 只看该作者
原帖由 Plantsoot 于 2010-3-28 09:32 发表
呵呵,跟我的Udhelper其中的一项功能类似,只不过,不知道楼主大大,
用你的创建菜单,是全部加载到内存了,还是按需加载?


需要加载的时候用
regsvr32命令注册下就是了。


To:
天使,利用系统的很好,我最初就是想用打开IE的,你们都删除我想利用下,苦于一直
没有找到=。=所以才自己写DLL了。
回复

使用道具 举报

32#
发表于 2010-3-28 22:50:10 | 只看该作者
这个方法很不错呀,谢谢了
回复

使用道具 举报

33#
发表于 2010-3-29 10:39:38 | 只看该作者
谢谢分享,努力学习中
回复

使用道具 举报

34#
发表于 2010-3-30 14:31:39 | 只看该作者
為何在"外置程序到 程序" & " 外置程序到 桌面"按下沒有反應的?
回复

使用道具 举报

35#
 楼主| 发表于 2010-3-30 15:02:43 | 只看该作者
你在system32(环境变量Path存在的目录都可以)放一个CLINK.CMD

内容:
notpead.exe

就会打开一个记事本程序。

在CLINK.CMD里面写上对应PETOOLS的命令才能有效果
回复

使用道具 举报

36#
发表于 2010-3-30 17:33:24 | 只看该作者
正好需要,感谢slore大侠分享经典创意,本人菜鸟按大侠教程已安装成功,效果很酷,在此深表感谢
回复

使用道具 举报

37#
发表于 2010-3-30 23:25:02 | 只看该作者
感觉怪怪的,试试吧.
回复

使用道具 举报

38#
发表于 2010-3-31 00:39:27 | 只看该作者
支持一下,有了这个方便多了。
回复

使用道具 举报

39#
发表于 2010-3-31 14:13:00 | 只看该作者
太有才了,学习了,谢谢分享,
回复

使用道具 举报

40#
发表于 2010-3-31 17:56:23 | 只看该作者
我已照着楼主在#36楼的指示做,但仍然无反应,楼主可否给个在#1楼的范例文件,以便测试及学习,谢谢楼主分享。
回复

使用道具 举报

41#
发表于 2010-3-31 19:10:03 | 只看该作者
无忧又多了一个高脚,将PETools的功能集成进去可能会更好更高效,
或者做成EXE文件(不采用DLL方式)可能会省些内存,也可能使文件的体积更小。

不能楼主这个DLL是作什么编的,按这样的功能(一个搜索扩展 + 一个执行PETools的功能)做成DLL,应该在8K至16K的范围内就可以实现。

WimTool工具组也带一个DLL(WimShext.DLL),集成了三个外壳扩展(外壳菜单、外壳图标、外壳执行),还有BASE64编码/解码、图标解码/ICO_DTAT to HICON、WIM的常用功能及注册这个DLL的4个导出函数(其中两个是默认函数,三个外壳扩展可以用参数指定注册或卸载),24K左右就实现了(三个外壳扩展共用一个CLSID GUID)。
回复

使用道具 举报

42#
 楼主| 发表于 2010-3-31 20:45:22 | 只看该作者
原帖由 lxl1638 于 2010-3-31 19:10 发表
无忧又多了一个高脚,将PETools的功能集成进去可能会更好更高效,
或者做成EXE文件(不采用DLL方式)可能会省些内存,也可能使文件的体积更小。

不能楼主这个DLL是作什么编的,按这样的功能(一个搜索扩展 + 一 ...


VC写了个空的也得32KB。。。我也很郁闷。不知道怎么做能小,已经用了最小依赖方式编译,
debug的话200多KB。

PETools大家写的可能不一样,有的喜欢放菜单顶,有的喜欢放到程序中?
也许想搜索别的东西,所以写出来可以按自己需要做,不想写死。

就是VC的ATL架子加了个3,4行通过ID执行字符串资源的ShellExecute
如果要源码的可以PM下我,我改天发过去,没在现在的电脑上。

[ 本帖最后由 slore 于 2010-3-31 20:47 编辑 ]
回复

使用道具 举报

43#
 楼主| 发表于 2010-3-31 20:46:14 | 只看该作者
原帖由 wama 于 2010-3-31 17:56 发表
我已照着楼主在#36楼的指示做,但仍然无反应,楼主可否给个在#1楼的范例文件,以便测试及学习,谢谢楼主分享。


CLINK.CMD
内容为:
notepad.exe


放到system32下。。。


你执行菜单没有运行记事本程序麽?
已经有人成功了呀.
回复

使用道具 举报

44#
发表于 2010-4-1 12:31:08 | 只看该作者
我其實是想好像你在#1楼的范例一樣,加載PETools的,但連notepad.exe也試了,還是不成功,
希望楼主指點及發個範例文件給我學習,謝謝!
回复

使用道具 举报

45#
 楼主| 发表于 2010-4-1 12:50:36 | 只看该作者
原帖由 wama 于 2010-4-1 12:31 发表
我其實是想好像你在#1楼的范例一樣,加載PETools的,但連notepad.exe也試了,還是不成功,
希望楼主指點及發個範例文件給我學習,謝謝!



如果notepad不成功,加什么也一样。。。
你在你当前系统注册下看看有没有效果。
你用的PE是哪个?


那个范例是
请试试 #463 haiou327 版主提供的 PETOOLS 补丁
回复

使用道具 举报

46#
发表于 2010-4-1 14:44:12 | 只看该作者
原帖由 lxl1638 于 2010-3-31 19:10 发表
无忧又多了一个高脚,将PETools的功能集成进去可能会更好更高效,
或者做成EXE文件(不采用DLL方式)可能会省些内存,也可能使文件的体积更小。

不能楼主这个DLL是作什么编的,按这样的功能(一个搜索扩展 + 一 ...


老实说,一直觉得老九每个回帖都让人摸不着头脑

高脚是褒奖,还是讽刺?

说wimtool的优秀,如果是为了给人作为参考的范例,提高大家的编程技巧,那么应该把外壳扩展相关的这段代码公布出来,要不说了也白说

如果是为了炫耀,貌似没这个必要,无忧没人怀疑你的编程水平

所以说。。。完全不知道你到底要说什么

[ 本帖最后由 NicTense 于 2010-4-1 14:55 编辑 ]
回复

使用道具 举报

47#
发表于 2010-4-1 18:44:20 | 只看该作者
@slore

核心句子是不是就是给
IContextMenu.InvokeCommand
指定执行的命令,例如pelink.cmd

好象网上都是用vc或者delphi来做这个事情,找个vb的都没有,更别说pb了,我都不知道怎么声明对象为IContextMenu了。。。。
回复

使用道具 举报

48#
 楼主| 发表于 2010-4-1 20:29:03 | 只看该作者
加个壳可能就10KB左右了,反正压到内核所以我就不管这20KB,加壳压缩率比较低,不加的话压缩率高点点。

你说对了,就是VC建立一个ATL板子,然后:

HRESULT CPETSearch::InvokeCommand( LPCMINVOKECOMMANDINFO lpcmi )
{
        long ret;
        char RunCommand[255];
        ret = DWORD(lpcmi->lpVerb);
        ret = LoadString(_Module.m_hInst,IDS_COMMAND1 + ret,RunCommand,256);
        if (ret > 0) ShellExecute(NULL,NULL,RunCommand,NULL,NULL,SW_HIDE);
        return S_OK;
}

代码简单吧?
LoadString就是读取字符串资源
然后ShellExecute调用下就完了,我看了系统的,REGINST,注册是INF格式,是自己处理的,不是一般的RGS自动注册。


主要VC建立一个空的也32KB所以我也没辙,只知道不用Debug生成会小很多。
回复

使用道具 举报

49#
发表于 2010-4-1 20:36:07 | 只看该作者
原帖由 slore 于 2010-4-1 20:29 发表
加个壳可能就10KB左右了,反正压到内核所以我就不管这20KB,加壳压缩率比较低,不加的话压缩率高点点。

你说对了,就是VC建立一个ATL板子,然后:

HRESULT CPETSearch::InvokeCommand( LPCMINVOKECOMMAND ...


代码我知道很简单,我上次弄的那个9kb,但是那个不能用,因为我把代码写到dllmain去了,导致很严重的后果,乱响应

下午看到这个又想起这个事情,去网上搜了半天,还是不知道pb里怎么定义IContextMenu.InvokeCommand

。。。。。。。。

你的编译方法估计有问题,cnad写的那个usbfix才5k,好象就是vc写的吧

vc的hello,world应该就3,4k吧

你是不是用的模板建立的dll,本身调用了一大堆用不着的库文件

[ 本帖最后由 NicTense 于 2010-4-1 20:42 编辑 ]
回复

使用道具 举报

50#
 楼主| 发表于 2010-4-1 20:56:27 | 只看该作者
EXE我知道能小。写了个截图的也就3KB

DLL实在不清楚。


usbfix也加壳了,不过不加也挺小,第四版都10多天了还没更新。。。


打开
VC,选第一个ATL COM AppWizard

然后选动态链接库 确定。

CLASS右键新建ATL。。。写个类名,然后用MinDependency方式编译。。。就32KB

我知道用什么可以清除多余的东西。
回复

使用道具 举报

51#
发表于 2010-4-1 21:51:23 | 只看该作者
原帖由 slore 于 2010-4-1 20:56 发表
EXE我知道能小。写了个截图的也就3KB

DLL实在不清楚。


usbfix也加壳了,不过不加也挺小,第四版都10多天了还没更新。。。


打开
VC,选第一个ATL COM AppWizard

然后选动态链接库 确定。

CL ...


那就没错了,看样子你也是很久没编程了,不过比我好很多,我基本上已经彻底忘光了,从头学起了

我现在知道为什么高手编程都用 ultraedit,notepad之类的文本编辑器了,就是因为不要那些自动加入的垃圾代码
回复

使用道具 举报

52#
发表于 2017-10-8 17:26:08 | 只看该作者
学习一下外置程序petools!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-20 07:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表