无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: Yonsm
打印 上一主题 下一主题

XCMD 2.2.678 - 功能强大的 XPE 命令解释工具

[复制链接]
1#
发表于 2007-1-7 22:11:26 | 显示全部楼层
回复

使用道具 举报

2#
发表于 2007-1-7 22:20:30 | 显示全部楼层
Yonsm,能否在此基础上做出一个PE2.0的Logon,载入Vista的Explorer.exe?
回复

使用道具 举报

3#
发表于 2007-1-7 23:34:47 | 显示全部楼层
试验报告,内核目录改为I386可以启动了,但所有的开始菜单丢失,快捷方式是创建了的。

未命名.PNG (25.23 KB, 下载次数: 255)

未命名.PNG
回复

使用道具 举报

4#
发表于 2007-1-8 00:13:28 | 显示全部楼层
按目录结构打包,解压时会先解出INF文件的,无需做改名的工作,因为目录名 INF 排序时比 SYSTEM32 要前,这样方便打包,也使能文件的作用一目了完。
回复

使用道具 举报

5#
发表于 2007-1-8 00:45:37 | 显示全部楼层
原帖由 Yonsm 于 2007-1-8 12:27 AM 发表


安装驱动是很简单的事情:UpdateDriver 一条 API 就够了,我仔细想想取消掉了,毕竟启动的时候没必要安装驱动,如果要,也可以用BartPE来做。

能够从 CAB 中解压缩分析驱动,不是更好吗?用了就可以删除掉 ...


希望老大加多一组(4条)命令,本人的建议:
CMD_FBWF, CMD_PAGE, CMD_UPDV,CMD_DISP

分别是:设置FBWF、设置页文件、更新驱动、设置显示。


刚好多一组,加上原来的共20条。这样很多工具,包括本人原来做的那些体积大的工具都可以不要了。
回复

使用道具 举报

6#
发表于 2007-1-8 11:04:10 | 显示全部楼层
原帖由 Yonsm 于 2007-1-8 01:01 AM 发表


嘿嘿,其实我知道有,只是假装问一下,意思是不知道他肯不肯嘛……
我又更新了 RXPE,重新上传了,你可以看看启动速度。这下快了……


其实你也有了,是一些很简单的事,如果想参考的可以找重编译XPEINIT的大师,他做了一个小工具(设置FBWF、虚拟内存等4项)最合适你用,是VC源码。本人的是Delphi源码,如果需要,本人也可帖上来(只能帖Pascal源码,不会VC)。
回复

使用道具 举报

7#
发表于 2007-1-9 00:17:32 | 显示全部楼层
原帖由 Yonsm 于 2007-1-8 11:54 PM 发表
VC6 SP5 可编译。老九请在此下载。

另外说句题外话,要做这样的程序,除了 VC+++++,其他开发工具明显不太合适。因为不够Native。用Delphi什么Windows API都用得来的人,花两天时间看看 C++ 语法,搞这个应该很 ...


更晕了,原来的程序编译时只有一个错误(欠CfgMgr32.h,的确,Include目录没有这个文件),现在是一大堆,30多个,本人的VC++6.0 SP6。
看来转VC太难了。
回复

使用道具 举报

8#
发表于 2007-1-9 00:24:57 | 显示全部楼层
原帖由 Yonsm 于 2007-1-9 12:21 AM 发表


Visual Studio 6.0 SP6 不支持 内联汇编,我使用了汇编来修改内存中 USER32.DLL 的关机代码,让他来调用 XCMD.EXE 的关机命令。

e...我想想,到底 SP6 不支内联汇编,还是不支持 MMS/SSE/SSE2 intrinsic 指 ...

--------------------Configuration: XCMD - Win32 Debug--------------------
Compiling...
XCMD.cpp
WARNING: Could not detect device driver state in Visual C++ 6.0!
E:\C++教程\XCMD-VC6\XCMD.cpp(187) : error C2664: 'SetupIterateCabinetA' : cannot convert parameter 3 from 'unsigned int (void *,unsigned int,unsigned long,unsigned long)' to 'unsigned int (__stdcall *)(void *,unsigned int,unsigned int,unsigned int)'
        None of the functions with this name in scope match the target type
E:\C++教程\XCMD-VC6\XCMD.cpp(822) : error C2065: 'ULONG_PTR' : undeclared identifier
E:\C++教程\XCMD-VC6\XCMD.cpp(822) : error C2065: 'puToken' : undeclared identifier
E:\C++教程\XCMD-VC6\XCMD.cpp(822) : error C2059: syntax error : 'const'
E:\C++教程\XCMD-VC6\XCMD.cpp(823) : error C2146: syntax error : missing ')' before identifier 'uToken'
E:\C++教程\XCMD-VC6\XCMD.cpp(823) : error C2165: 'left-side modifier' : cannot modify pointers to data
E:\C++教程\XCMD-VC6\XCMD.cpp(823) : error C2071: 'PGdiplusShutdown' : illegal storage class
E:\C++教程\XCMD-VC6\XCMD.cpp(823) : error C2059: syntax error : ')'
E:\C++教程\XCMD-VC6\XCMD.cpp(835) : error C2146: syntax error : missing ';' before identifier 's_uToken'
E:\C++教程\XCMD-VC6\XCMD.cpp(835) : error C2065: 's_uToken' : undeclared identifier
E:\C++教程\XCMD-VC6\XCMD.cpp(841) : error C2146: syntax error : missing ';' before identifier 'pGdiplusStartup'
E:\C++教程\XCMD-VC6\XCMD.cpp(841) : error C2065: 'pGdiplusStartup' : undeclared identifier
E:\C++教程\XCMD-VC6\XCMD.cpp(877) : error C2146: syntax error : missing ';' before identifier 'GetProcAddress'
E:\C++教程\XCMD-VC6\XCMD.cpp(1128) : error C2664: 'DialogBoxParamA' : cannot convert parameter 4 from 'long (struct HWND__ *,unsigned int,unsigned int,long)' to 'int (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)'
        None of the functions with this name in scope match the target type
执行 cl.exe 时出错.

XCMD.exe - 1 error(s), 0 warning(s)
回复

使用道具 举报

9#
发表于 2007-1-9 00:32:36 | 显示全部楼层
是网上介绍所谓最好的龙卷风论坛出的:

VC 个头太大了,也不知要安装那几个部分。

未命名.PNG (12.51 KB, 下载次数: 148)

未命名.PNG
回复

使用道具 举报

10#
发表于 2007-1-9 01:01:25 | 显示全部楼层
Compiling...
XCMD.cpp
WARNING: Could not detect device driver state in Visual C++ 6.0!
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/XCMD.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
回复

使用道具 举报

11#
发表于 2007-1-9 01:09:34 | 显示全部楼层
原帖由 Yonsm 于 2007-1-9 01:04 AM 发表


你自己建立的工程?我建好的工程 XCMD.dsw 你打开就OK了。
建工程的时候选择 Win32 APP,而不是 Win32 Console


WARNING: Could not detect device driver state in Visual C++ 6.0!是我加的,VC6里面没 ...



搞定,谢谢。
回复

使用道具 举报

12#
发表于 2007-1-10 00:53:27 | 显示全部楼层
老大,帖个包含文件 cfg.h 上来,文件不大的话。
安装了VS 2003 前三张盘,4、5、6还在下,慢死了怕要差不多两天才能下完。
回复

使用道具 举报

13#
发表于 2007-1-12 18:46:46 | 显示全部楼层
原帖由 Yonsm 于 2007-1-7 09:37 PM 发表
红色和蓝色为最新更新和更改的功能。

欢迎使用 XCMD - XPE Commander,功能强大的 XPE 命令解释工具!

一、特点

◎ 短小精干,运行迅速。
◎ 支持常规的扩展设置命令。
◎ 支持调用外部 EXE 和 DLL 函 ...



更新很快啊,大师可否将每次更新的内容简单列出来,本人现在都不知道这次更新了哪些内容。
回复

使用道具 举报

14#
发表于 2007-1-13 01:08:50 | 显示全部楼层
原帖由 沙漠之子 于 2007-1-12 11:00 PM 发表
我的XCMD.INI设置,有问题,谁能帮我看看
XLOG %SystemRoot%\XCMD.LOG

ENVI
LOGO %CurDrv%\RXPE.JPG
//FILE %SystemRoot%\SYSTEM32\NTOSKRNL.EXE
EXEC !%SystemRoot%\SYSTEM32\XPESET.EXE FBWF L64

TEXT  ...



沙子,太多REGI,看起来眼花头大,一个配置文件80%是写注册表,不如将这些REGI做成一个注册表文件(XXX.REG),用EXEC REG.EXE搞定它。

[ 本帖最后由 lxl1638 于 2007-1-13 01:11 AM 编辑 ]
回复

使用道具 举报

15#
发表于 2007-1-13 13:32:50 | 显示全部楼层
DISP命令可能要在桌面出现以后才起作用,若DISP命令中有刷新率的设置,要安装上显卡驱动才起作用。
回复

使用道具 举报

16#
发表于 2007-1-13 23:41:50 | 显示全部楼层
原帖由 strongchen 于 2007-1-13 11:25 PM 发表
“DEVI Windows,Display”,这个命令没反映。

xcmd占用的内存比较厉害,8M了。

无法 kill 掉 winlogon。exe ,实机会蓝屏。


8MB?是不是你的INI文件中Load了很多东东?
回复

使用道具 举报

17#
发表于 2007-1-16 01:25:19 | 显示全部楼层
原帖由 Yonsm 于 2007-1-15 11:25 PM 发表

非也,XCMD 没做好。
XMCD DEVI 对于从硬盘上安装驱动的功能没做好。

这两天,老九怎么没影啦?


XMCD DEVI 对于从硬盘上安装驱动的功能没做好。

这个功能暂时还有取消了好,原理上要:
1、从硬件ID分析哪些INF文件匹配;
2、硬盘上的INF文件不能直接用于PE安装驱动,要经InfCacheBuild的类似处理;
3、从INF文件中分析匹配的硬件设备需要哪些文件,如要几个DLL、几个SYS或EXE等。

上面的1、2两点不难,但硬盘上的INF文件很多,如本人机子上就有1000多个,不少文件很大,个别达3~5MB,完成这个过程可能很耗时间。
第3点有些困难,如本人显卡的INF文件中,与Copy有关的就如下,这些文件有很多在PE中是可以不要的(但不知道哪些可以不要),若都复制进去的话,X:要很大空间。同时INF文件的注释部分或其它部分可能有.SYS、.DLL等字符(下面的红字),这些字符的存在也影响对INF文件的分析。

本人的建议,尽可能完善从外置驱动包中提取安装驱动的功能。

[Uninstall.CopyFiles]
atiiiexx.dll

[ati2mtag.Miniport]
ati2mtag.sys
ati2erec.dll
ativvpxx.vp
ativckxx.vp
ativcaxx.vp
ativcaxx.cpa

[ati2mtag.Display]
ati2dvag.dll
ati2cqag.dll
Ati2mdxx.exe
ati3duag.dll
ativvaxx.dll
atiicdxx.dat
ATIDDC.DLL
atitvo32.dll
ativcoxx.dll
ati2evxx.exe
ati2evxx.dll
atipdlxx.dll
Oemdspif.dll
ati2edxx.dll
atikvmag.dll
ATIDEMGR.dll
atifglpf.xml

[ati2mtag.OpenGL]
atioglxx.dll
atioglx1.dll

[FGL_OGL.sys]


因为要了解INF文件的信息,这几天忙中抽空完善了Nlite4INF的功能。

[ 本帖最后由 lxl1638 于 2007-1-16 01:32 AM 编辑 ]

Nlite4INF.rar

177.26 KB, 下载次数: 184, 下载积分: 无忧币 -2

回复

使用道具 举报

18#
发表于 2007-1-16 13:11:38 | 显示全部楼层
原帖由 zhaohj 于 2007-1-16 09:43 AM 发表

这个我是直接从XP系统找驱动 DEVI \windows,display ,我不至于去修改XP下的INF文件吧。说明DEVI命令少一个环节,找到这个匹配INF,copy到%systemroot%\inf,再对这个文件进行处理。目前看缺少处理。


找到匹配的INF文件,并对之处理不会很难,只是耗时可能很长。
但要找到与INF文件匹配的.SYS、.DLL、.EXE等文件就不容易,若找到的都Copy到X:盘,X:盘预留的空间要足够大才行,估计要20MB了。
回复

使用道具 举报

19#
发表于 2007-1-16 13:18:55 | 显示全部楼层
原帖由 zhaohj 于 2007-1-16 09:53 AM 发表
老九,这个Nlite4inf能不能做成支持目录带子目录,并处理好后覆盖原文件,现在一个目录修改且要保存到其他地方处理比较麻烦。


这个原本是为精简PE的INF文件而做的,PE的INF目录下没有子目录。
当初在做这个工具之前是手动精简PE的INF目录,太累了才想搞一个专门的工具,因开始时是一边写代码一边看处理结果,所以保存到别一个目录,也可以说原目录的文件不动,作为备份。
你可以选择原PE的备份目录来处理,把处理结果保存到新PE的INF目录中。一般说来,制作PE过程都会作备份的。本人的PE备份共有8G左右,一个分区基本全是PE的备份文件。
回复

使用道具 举报

20#
发表于 2007-1-16 14:04:11 | 显示全部楼层
不经InfCacheBuild处理的INF文件也可以,但要修改INF文件,告知SetupAPI从哪里复制文件,否则安装过程每复制一个文件都会弹出一个窗口。
而修改INF文件也不容易,原来的INF文件本身定义的.SYS、.DLL一般是与INF文件处于同一目录的。现在这三类文件分处在Windows\INF、Windows\SYSTEM32、Windows\SYSTEM32\Drivers三个不同的目录中了,SetupAPI找不到要复制的文件,必然弹出窗口。
回复

使用道具 举报

21#
发表于 2007-1-23 15:33:01 | 显示全部楼层
原帖由 沙漠之子 于 2007-1-23 03:11 PM 发表
希望大大能解决结束XCMD后,仍能用ctrl+alt+del快捷键

不可能的事,除非有另一个"XCMD"(不一定是XCMD,但一定要存在键盘钩子或注册了热键之类的程序)驻留内存。

[ 本帖最后由 lxl1638 于 2007-1-23 03:34 PM 编辑 ]
回复

使用道具 举报

22#
发表于 2007-1-25 17:05:02 | 显示全部楼层
原帖由 Yonsm 于 2007-1-25 03:00 PM 发表


说实话我也不知道,因为以前的 XPEInit 里面有这些东西的。
但至少我知道这个的功能有一点是:在快速启动栏创建“显示桌面”的命令。


鬼知道它干了什么,除非有SHELL32.DLL的源码。

所以鬼佬才有机会做出XPELOGON这类LOGON程式。到目前为止,XPELOGON除了没有LOGON的动画效果外,其它还是很出色的,最少它考虑到LOGON的内存瓶颈,XPELOGON分为4个部分,本人也改了一下XPELOGON的主程式,去掉LOGON期间加载BMP位图(它的窗口内连了一份BMP位图)和写文字部分,占内存不足1M,900多K

[ 本帖最后由 lxl1638 于 2007-1-25 05:10 PM 编辑 ]
回复

使用道具 举报

23#
发表于 2007-1-25 17:57:28 | 显示全部楼层
原帖由 Yonsm 于 2007-1-25 05:20 PM 发表



有源码的,Win2000 的源代码,基本上可以找到所有组件的源代码,不过懒得去仔细看了,看源代码也要慢慢分析

要做到小内存启动也很容易的。只要把 Init 的功能单独写到一个小程序中即可。


有这样的设想,XCMD保留最小功能,把其它功能做成DLL或EXE,或者可以降低启动的内存。
回复

使用道具 举报

24#
发表于 2009-12-2 19:20:17 | 显示全部楼层
原帖由 elye 于 2009-12-2 18:49 发表
呵呵,这个帖子 是被 锁定了 还是?
回复也出错。

说一句公正的话,YONSM的XCMD 值得这里的 每个 朋友 学习学习。
不怕得罪人,我本人喜欢 开源。不喜欢PECMD。
呵呵


论坛出错?

PECMD同样开源,PECMD也提供源码,你不是说拿XCMD来修改完善么?如果是这样,但愿本人能用到更好的修改后的XCMD。

说得好不而做得好,XCMD的源码在网上已挂了两年多了,又有几个认真去修改它完善它的。
PECMD2.5版的源码在网上也挂了一年多了,同样是只有本人去更新它。

你不喜欢PECMD,本人也不强求你使用PECMD,你使用PECMD对本人没有任何益处。

[ 本帖最后由 lxl1638 于 2009-12-2 19:22 编辑 ]
回复

使用道具 举报

25#
发表于 2009-12-2 19:26:31 | 显示全部楼层
想别人既提供源码,又在程式中涂上你的大名?不知你写程式时能否做到这点?

你拿XCMD或PECMD去完善修改,如何改随你便,保留这个版本的XCMD的作者和本人的信息就足够了(这个版本的XCMD也收集了本人提供的若干源码),相信你可以做到。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-15 08:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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