无忧启动论坛

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

2007年02月16日YY版WinPE。

  [复制链接]
1#
发表于 2006-12-21 18:17:21 | 显示全部楼层
搂主,Regedit.exe 不宜压缩,或者用 UPX 但不要压缩资源。否则 开始菜单中 注册表编辑器的快捷方式无法建立(注册表中Programs下登及建立的快捷方式,使用了Regiedit.exe,-16资源字符串)。
回复

使用道具 举报

2#
发表于 2006-12-21 23:46:30 | 显示全部楼层
原帖由 lxl1638 于 2006-12-21 11:42 PM 发表


挂接它们的外置驱动,或自己将驱动整进去。

所谓YY版,就是给YY们YY的,自己YY搞定它,本人只做出个核心,说明了已有哪些驱动,下来就是给大家YY的,都YY好了,YY们又如何YY。



我已经 YY 了一个,这里可以下载:http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
回复

使用道具 举报

3#
发表于 2006-12-22 20:50:07 | 显示全部楼层
老九兄,可否请教一下“XPESET.EXE FBWF Pa Lb Hc”这个命令到底为FBWF做了哪些工作?换句话说,你的 WinPE 中如果不用 XPSET.EXE,需要做哪些工作(可以是编程,烦请告知相关操作)才能启用 FBWF(不能默认启用,而是通过和XPSET类似的程序中启用)。

我分析了一下,可能是以下方式:
在 HKLM\\SYSTEM\\ControlSet001\\Services\\FBWF 下的设置参数
然后启用这个驱动(是否使用 NET START 或 StartService() ?)

请赐教!谢谢九兄。

[ 本帖最后由 Yonsm 于 2006-12-22 08:54 PM 编辑 ]
回复

使用道具 举报

4#
发表于 2006-12-22 22:47:08 | 显示全部楼层
原帖由 lxl1638 于 2006-12-22 10:23 PM 发表
晕死,会VC++++++++++++++的高人,一看就明白了,就是StartService() 不是NET START。

方法很一般,判断服务是否存在,判断服务状态(停或动),将命令行参数转化成数值写入注册表,动的先停,启动它

你用VC+ ...


多谢!

我原来写 WXPE.EXE 只是因为 XPESET.EXE 在创建快捷方式的时候不能控制ShowCmd参数,而用这个参数可以控制启动 .BAT/.CMD 文件是否最小化启动或隐藏启动。

昨天我放弃了使用自己写的程序,今天想想,还是要这个功能——创建快捷方式的时候可以指定ShowCmd参数(隐藏或最小化)。

WinPE 判断非常感谢提醒,我会加入。但广告懒得去搞了,我的定位是自己使用,源代码公开的,要的可以自己看。大家使用可以用 XPESET.EXE 功能强大也通用。

另外再问一个问题,如何做到快速进入桌面?经过分析定位在以下更改:

旧版本
[HKEY_LOCAL_MACHINE\z\Microsoft\Windows\CurrentVersion\RunOnceEx\600]
"100"="||xpeinit.exe"
"111"="||xpeinit.exe -m \"加载扩展设置...\" XPESET.EXE /REG"

[HKEY_LOCAL_MACHINE\z\Microsoft\Windows\CurrentVersion\RunOnceEx\900]
"100"="||xpeinit.exe -f -m \"检测即插即用设备...\" bartpe.exe -pnp -cn BartPE -wg WORKGROUP"


新版本改为
[HKEY_LOCAL_MACHINE\WXPE_SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\600]
"100"="||xpeinit.exe -f \"XPESET.EXE /REG\""
"111"="||xpeinit.exe"

[HKEY_LOCAL_MACHINE\WXPE_SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\900]
"100"="||XPESET.EXE /R BartPE.EXE -pnp -cn BartPE -wg WORKGROUP"


不知道这里的更改里面,XPESET.EXE 到底做了什么。多谢九兄不厌其烦解惑:)
回复

使用道具 举报

5#
发表于 2006-12-22 23:34:45 | 显示全部楼层
我尝试了一下,似乎不用XPESET.EXE /REG,只要按你新的注册表设置顺序就能很快进入桌面。
且XPESET.EXE /R BartPE.EXE -pnp -cn BartPE -wg WORKGROUP,可以用 XPEINIT 来隐藏执行。所以问题基本搞定。
回复

使用道具 举报

6#
发表于 2006-12-23 14:04:51 | 显示全部楼层
原帖由 lxl1638 于 2006-12-22 11:55 PM 发表


注册表的顺序是其中之一,另有两处。能搞一门语言会编程的人做这些不算难,就真难而又麻烦的是对WinPE的精简,今晚花了2个多小时才把XPSP2RES.DLL的所有非中文资源砍掉,其中的每一个资源都是双语言的(很多资 ...


还有“两处”,估计一处是尽早 Hide XPELOGON 的 Window,再有一处,我暂时还没看出来。如果我搞不出来,不妨跟我说一声:)

我昨晚熬了一夜到现在一下没合上眼,重新写了个小工具,功能强大了一些。听你的意见加入了说明,还做了个 GUI 的命令处理界面。某些地方还是有些新意,可以鼓励一下:)

欢迎使用 XWIN - Windows PE 扩展设置工具!


一、简介

XWIN 是为扩展设置 Windows PE 而制作的小工具。

    ◎ 支持常规的扩展设置命令。
    ◎ 支持外部命令增加程序的功能。
    ◎ 支持命令行、命令列表文件和图形界面,所有命令均使用统一格式,一看就会使用。
    ◎ 细微周到的功能支持。
    ◎ 短小精干,运行迅速。
    ◎ 源代码公开,方便更改定制。在源代码中增加扩展命令非常容易。


二、命令

■ AddLink <快捷方式路径>|<目标路径>|[运行参数]|[图标路径][,图标索引]

  ◎ 功能:添加快捷方式。
  
  ◎ 参数:
    ※ 快捷方式路径      指定要生成的快捷方式的路径(.lnk 可以省略)。

    ※ 目标路径          指定快捷方式的目标路径。如果目标路径的结尾处有字符“?”,则快捷方式的起始位置(或者说当前目录)为临时文件夹“%TEMP%”;否则,为目标文件所在的目录。如果目标路径的结尾处有字符“<”,则快捷方式的启动方式为最小化方式启动;如果是“>”,则以隐藏方式启动;否则,为正常方式启动。

    ※ 运行参数          目标程序运行参数。

    ※ 图标路径          快捷方式图标的路径。

    ※ 图标索引          快捷方式图标的在文件资源中的序号,0 为第一个图标(不填写则默认),依此类推。   
   
  ◎ 示例:AddLink $Desktop\宽带连接|PPPOE.CMD<||RASDIAL.DLL,19

  ◎ 备注:无。

■ DelFile <文件路径>

  ◎ 功能:删除文件。
  
  ◎ 参数:指定要删除的文件路径,支持路径搜索。
  
  ◎ 示例:DelFile NTOSKRNL.EXE

  ◎ 备注:如果以 RAMDISK 方式启动系统,可删除一些启动后无用的文件(如 2 MB 的 NTOSKRNL.EXE)来增加 RAMDISK 的可写空间。

■ DelDir <目录路径>

  ◎ 功能:删除目录和其中的所有文件。
  
  ◎ 参数:指定要删除的目录路。
  
  ◎ 示例:DelDir %Temp%

  ◎ 备注:无。

■ ShowWin <窗口名称|窗口类名>

  ◎ 功能:显示窗口。
  
  ◎ 参数:要显示的窗口名称或窗口类名。
  
  ◎ 示例:ShowWin WinRAR

  ◎ 备注:仅支持顶级窗口。

■ HideWin <窗口名称|窗口类名>

  ◎ 功能:隐藏窗口
  
  ◎ 参数:要隐藏的窗口名称或窗口类名。
  
  ◎ 示例:HideWin WinRAR

  ◎ 备注:仅支持顶级窗口。

■ CloseWin <窗口名称|窗口类名>

  ◎ 功能:关闭窗口。
   
  ◎ 参数:要隐藏的窗口名称或窗口类名。
  
  ◎ 示例:CloseWin WinRAR

  ◎ 备注:仅支持顶级窗口。

■ KillProc <进程名称>

  ◎ 功能:强制终止指定的进程
  
  ◎ 参数:进程名称,即 EXE 文件名(不包含路径)。
  
  ◎ 示例:KillProc WinLogOn

  ◎ 备注:此命令将终止与 <进程名称> 前部分匹配的所有进程。

■ SendKey <按键代码1>[|按键代码2][|按键代码3]...

  ◎ 功能:模拟按键。
  
  ◎ 参数:虚拟按键代码,如 VK_RETURN,请参相关考编程文档。
  
  ◎ 示例:SendKey 0x12<|0x09<|0x09>|0x12>

  ◎ 备注:上面的示例模拟 Alt+Tab。如果按键代码以“<”结束,则仅模拟按键按下;“>”则仅模拟按键弹起;否则模拟按下并弹起。按键代码支持 16 进制。

■ ExecCmd <程序路径|文件路径|网址>[|参数]

  ◎ 功能:执行外部命令
  
  ◎ 格式:调用外壳功能执行外部命令。
  
  ◎ 参数:指定外壳所能支持的文件或网址等。
  
  ◎ 示例:ExeCmd CMD.EXE /C "DEL /Q /F %TEMP%"

  ◎ 备注:如果路径结尾处有字符“?”,则等待外部命令执行完后才继续执行下一条命令;否则立即返回并执行下一条。如果目标路径的结尾处有字符“<”,则快捷方式的启动方式为最小化方式启动;如果是“>”,则以隐藏方式启动;否则,为正常方式启动。

■ ExecFile [文件路径]

  ◎ 功能:逐条运行命令文件中的命令。
   
  ◎ 参数:指定文件的路径。如果省略,假设 XWIN 本身的 EXE 文件名为 XWIN.EXE,则自动搜索每个分区上的 XWIN.INI 和 XWIN\XWIN.INI 文件。
  
  ◎ 示例:ExeFile

  ◎ 备注:把 XWIN.EXE 改名即可实现自定义命令文件的名称。

■ ShowHelp

  ◎ 功能:显示帮助信息
  
  ◎ 参数:无。
  
  ◎ 示例:ShowHelp

  ◎ 备注:无。


三、备注

◎ XWIN 命令不区分大小写。

◎ XWIN 命令之后可以跟数量不限的空格和制表符。

◎ 上面的命令中 <> 内的参数表示必须输入,[] 内的表示可以省略。

◎ 如果您需要更多功能的扩展设置工具,请参考 老九 的功能强大的 XPESET 工具。

◎ 所有的文件或目录路径中,支持以下文件夹宏替换:

         $Favorites      收藏夹
         $Desktop        桌面
         $StartMenu      开始菜单
         $Startup        启动菜单
         $Programs       程序菜单
         $Recent         新近文件
         $SendTo         发送到
         $System         系统
         $Windows        Windows
         $Personal       我的文档
         $QuickLaunch    快速启动

   并且,XWIN 还支持环境变量替换(如“%TEMP%\X.TXT”)。另外,还支持自动搜索当前目录、WINDOWS 目录中、SYSTEM32 目录、PATH 目录等路径。如需要为 CMD.EXE 创建快捷方式,只需要写 CMD.EXE 即可。


四、致谢

◎ 感谢 老九 的热心帮助和意见。
◎ 感谢 无忧论坛 提供的讨论场所。


要获取更多信息,请访问 WWW.YONSM.NET


Yonsm
Yonsm@163.com
WWW.Yonsm.NET
2006.12.23,杭州


最终打算把所有的小工具要实现的功能都加入,比如 AutoRAMResizer 之类的小程序,还是整合近来方便——如果能做到的话。

[ 本帖最后由 Yonsm 于 2006-12-23 02:06 PM 编辑 ]
回复

使用道具 举报

7#
发表于 2006-12-24 22:24:17 | 显示全部楼层
INERNET.CMD 中,安装 MS_RASCLI组件的那一行,执行的命令写的是BARTPE.EXE,貌似NETCFG.EXE的笔误吧?

由于缺少 NETSHELL.DLL这个文件,MS_RASCLI 网络组件是无法安装成功的,但这似乎不影响网络和PPPoE功能的使用。

我把老九里面的 INTERNET.CMD 整理了一下,功能与原来的一样。但发现其中似乎有不少组件服务是可以不要的。不知道有没有人可以确认一下那些可以不要。我也在尝试()。

ECHO 正在安装网络设备...
NET START FBWF
BARTPE -pnp

ECHO 正在安装网络组件...
REGSVR32 /S NETCFGX.DLL
BARTPE -c p -i MS_TCPIP
BARTPE -c c -i MS_MSCLIENT
BARTPE -c s -i MS_SERVER

BARTPE -c p -i MS_L2TP
BARTPE -c p -i MS_PPTP
BARTPE -c p -i MS_PPPOE
BARTPE -c p -i MS_WANARP
BARTPE -c p -i MS_NDISWAN

BARTPE -c s -i MS_RASCLI
BARTPE -c s -i MS_RASSRV
BARTPE -c s -i MS_RASMAN
BARTPE -c s -i MS_STEELHEAD

ECHO 正在启动网络服务...
NET START TCPIP
NET START DHCP
NET START NLA
NET START LMHOSTS
NET START SERVER

NET START TAPISRV
NET START RASMAN

ECHO 正在启动宽带连接...
START RASPHONE.EXE -F RASPHONE.PBK -D 宽带连接
回复

使用道具 举报

8#
发表于 2006-12-25 01:55:35 | 显示全部楼层
原帖由 lxl1638 于 2006-12-24 10:30 PM 发表
ADSL宽带连接根本无需启动那么多服务,就下面的即可:


NETCFG.EXE在这方面有相似的功能,它是调用了BARTPE.EXE?


经试验 NETCFG.EXE 可以删除掉。

另外我尝试了一下,还是没搞定快速进入桌面。

猜想你是用 XPESET.EXE /R 来启动 BartPE.EXE -pnp 的时候隐藏了 xpelogon 的窗口,但我在程序中做了好多次尝试都无法成功。最主要的是,每次都要夹在注册表->修改注册表->替换注册表文件->启动虚拟机,来测试,非常不便。不知九兄可否指点一二,让我也好事半功倍:)

[ 本帖最后由 Yonsm 于 2006-12-25 01:58 AM 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-14 18:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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