无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9761|回复: 37
打印 上一主题 下一主题

给老毛桃PE的虚拟内存设置添加多分区选择(可预览硬盘)

[复制链接]
跳转到指定楼层
1#
发表于 2007-3-14 19:45:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
声明:此程序我在虚拟机下测试的,我的机器 815+CY1..1,393M内存,虚拟机 vPC 5.2 128M 内存 WIN98 系统,PE为老毛桃0310版

来无忧也有些时日了,学到不少知识,呵呵,惭愧~ 做个小程序汇报一下下。
初次接触 AUTOIT,又不懂 SCRIPT,还真费了不少功夫,看着别人的源码东拼西凑的总算可以使用了。可恨的是我这个做出来居然有近 200 KB大小,而老毛桃原来那个只有 32 KB,彻底昏倒~~~

老毛桃PE的虚拟内存设在 D 盘,虽足以应付各种情形,但有时你难免碰到意外情况,因此我做了这个小东西给需要的朋友。注意只能用在0310版,好像不能用于有名的1111版(也可能是我不会用吧)。

附件2 应 SECOWU 建议增加了硬盘浏览功能,关闭浏览窗口后即弹出虚拟内存设置窗口。

另: 27 楼 老毛桃 提供了一个简单程序制作小工具,非常好用,大家可以下载看看。

[ 本帖最后由 dylc 于 2007-3-15 05:55 PM 编辑 ]

snap.jpg (17.77 KB, 下载次数: 78)

snap.jpg

snap2.jpg (37.18 KB, 下载次数: 58)

snap2.jpg

pages.rar

191.04 KB, 下载次数: 141, 下载积分: 无忧币 -2

无浏览硬盘功能

pages2.rar

191.17 KB, 下载次数: 129, 下载积分: 无忧币 -2

带硬盘浏览

2#
发表于 2007-3-14 21:13:25 | 只看该作者
sf啊,顶一下
回复

使用道具 举报

3#
发表于 2007-3-14 21:59:35 | 只看该作者
可否做成自动选择的呢?或者30秒内手动选择?
回复

使用道具 举报

4#
发表于 2007-3-14 22:07:01 | 只看该作者
AUTOIT做出来的东东本来就非常大。
回复

使用道具 举报

5#
 楼主| 发表于 2007-3-14 22:12:38 | 只看该作者
原帖由 szsun 于 2007-3-14 09:59 PM 发表
可否做成自动选择的呢?或者30秒内手动选择?


自动?它又不知道你哪个分区有重要数据,呵呵~

30秒内的只要在 WINPE.INI 里相应处改为下面的内容,不需要那个程序了:

_SUB IFSetPageFile
        TEAM TEXT 30 秒内按住 C、D、E、F 可建立虚拟内存(对应盘符)……|WAIT 30000
        IFEX KEY=67,TEXT 正在设定虚拟内存……|PAGE C:\%PF% 192 256!
        IFEX KEY=68,TEXT 正在设定虚拟内存……|PAGE D:\%PF% 192 256!
        IFEX KEY=69,TEXT 正在设定虚拟内存……|PAGE E:\%PF% 192 256!
        IFEX KEY=70,TEXT 正在设定虚拟内存……|PAGE F:\%PF% 192 256!
        TEXT 没有建立虚拟内存……WAIT 500
_END

不过我可没试过这么长时间是否有效,还有PECMD检测键盘的时间不知道是怎样的,就是说在30秒内是任意时间只按一下按键还是要一直按住按键不放。这个你可以自己试一下。
回复

使用道具 举报

6#
发表于 2007-3-14 22:45:36 | 只看该作者
原帖由 dylc 于 2007-3-14 10:12 PM 发表


自动?它又不知道你哪个分区有重要数据,呵呵~

30秒内的只要在 WINPE.INI 里相应处改为下面的内容,不需要那个程序了:

_SUB IFSetPageFile
        TEAM TEXT 30 秒内按住 C、D、E、F 可建立虚拟内 ...

谢谢!!
回复

使用道具 举报

7#
发表于 2007-3-14 23:11:06 | 只看该作者
原帖由 dylc 于 2007-3-14 10:12 PM 发表


自动?它又不知道你哪个分区有重要数据,呵呵~

30秒内的只要在 WINPE.INI 里相应处改为下面的内容,不需要那个程序了:

_SUB IFSetPageFile
        TEAM TEXT 30 秒内按住 C、D、E、F 可建立虚拟内 ...



有,周末给大家发个正式版本,现在先帖上测试版和它的功能演示。
下载的附件解压到任意目录,执行其中的CMD批处理,就会看到这些新功能的演示。

PECMD_DEMO.RAR

79.57 KB, 下载次数: 109, 下载积分: 无忧币 -2

回复

使用道具 举报

8#
发表于 2007-3-14 23:31:30 | 只看该作者
支持,自由设置虚拟内存所在分区,可避免破坏一些分区的数据
回复

使用道具 举报

9#
发表于 2007-3-15 09:05:56 | 只看该作者
原帖由 lxl1638 于 2007-3-14 23:11 发表



有,周末给大家发个正式版本,现在先帖上测试版和它的功能演示。
下载的附件解压到任意目录,执行其中的CMD批处理,就会看到这些新功能的演示。

哈哈,老九果然强劲!
原帖由 老毛桃 于 2007-3-10 18:39 发表
不过我还是希望老九将这样的功能做进 PECMD.EXE 中。当然,用途不要仅仅局限于我的这个 IfSetPage 的功能。可以在 PECMD.INI 中配置弹出对话框的标题、内容、按钮,以及对用户的操作作相应的判定性操作等。那样就是一个真正的万能对话框了,在 PE 启动中需要一些与用户交互的情况就用它,哈哈!

就不知道老九有没有这个心思了。

上次我提这个建议,没看到老九回复,以为没戏了呢。。。。

新增加的 FIND、IFEX 对变量的判定非常实用,我不再需要做那些生成“报告”的方式的原始判断结果了,要知道,硬盘速度的原因,往往要等到报告文件成功建立后才能够在下面利用这个条件,硬盘速度有快有慢,延时很难处理得恰到好处。

通过注册变量到内存,就不存在这样的问题啦,好!


另外,刚才测试这个 DEMO 版本,发现在 按键检测、长效显示、临时显示 的测试中,对用户鼠标的点击也是响应的,可否屏蔽?我是这样想的,用户使用 PE 的时候,在启动的过程中,一般都是右手握鼠标,无聊地等待 PE 启动到桌面,如果中间不小心碰到了鼠标按键,可能会遇到误操作。

对于新增加的 MESS 命令,可否增加一个自动关闭对话框的选项,我知道 AutoIT 从 3.0 版本开始也支持这一功能的,比如 60 秒未操作,即按照“否”、“取消”处理。


还有,这个版本又没有解决 PECMD.INI 加载了两个外置的配置文件后回不到内置的问题呢?很多硬盘上安装了 PE,又使用光盘引导 PE,可能会不到内置上,从而不能加载 Explorer.EXE。
回复

使用道具 举报

10#
发表于 2007-3-15 09:13:09 | 只看该作者

回复 #1 dylc 的帖子

收藏一个
回复

使用道具 举报

11#
 楼主| 发表于 2007-3-15 09:20:08 | 只看该作者
原帖由 lxl1638 于 2007-3-14 11:11 PM 发表



有,周末给大家发个正式版本,现在先帖上测试版和它的功能演示。
下载的附件解压到任意目录,执行其中的CMD批处理,就会看到这些新功能的演示。


昨晚睡得早,没看到,现在下载,多谢!

能有高手注意这个问题太棒了,谢谢 lxl1638 和 老毛桃 带给大家的好东西!
回复

使用道具 举报

12#
发表于 2007-3-15 09:28:05 | 只看该作者
好东西,PECMD 真是个强大的命令解释器,新的特性使它不仅仅用于PE了,在其它地方也可以用它来代替以前需要用脚本完成的任务
回复

使用道具 举报

13#
发表于 2007-3-15 09:40:26 | 只看该作者
原帖由 tuxw 于 2007-3-15 09:28 发表
好东西,PECMD 真是个强大的命令解释器,新的特性使它不仅仅用于PE了,在其它地方也可以用它来代替以前需要用脚本完成的任务

是啊,我好不容易做了个 IfSetPage,老九又将我的饭碗抢走了,垄断啊!:lol :lol :lol
回复

使用道具 举报

14#
发表于 2007-3-15 10:02:45 | 只看该作者
不是有个SetPageFile.exe吗?才39K,不仅可以选择分区,而且可以选择大小
回复

使用道具 举报

15#
发表于 2007-3-15 10:06:20 | 只看该作者
原帖由 123 于 2007-3-15 10:02 发表
不是有个SetPageFile.exe吗?才39K,不仅可以选择分区,而且可以选择大小

也是哦。

不过 PECMD.EXE 新增加的 MESS 命令,更易于在启动阶段实现与用户交互。
回复

使用道具 举报

16#
发表于 2007-3-15 10:15:19 | 只看该作者
如果,能够在选择分区时,一并同时显示分区的目录结构
这样对于维护时比较明显的判断,哪些分区可能含有重要资料,免得去猜或问(当然问是不可少的)
回复

使用道具 举报

17#
 楼主| 发表于 2007-3-15 11:20:39 | 只看该作者
原帖由 老毛桃 于 2007-3-15 09:40 AM 发表

是啊,我好不容易做了个 IfSetPage,老九又将我的饭碗抢走了,垄断啊!:lol :lol :lol


对了,毛桃大师你那个 IFSETPAGE 怎么那么小,我找遍网络也找不到反编译 2.5版的,只有反编 v3 的,衰~

这个是我边看V3中文教程边做的,体积超大,惭愧~
回复

使用道具 举报

18#
发表于 2007-3-15 11:21:19 | 只看该作者
原帖由 dylc 于 2007-3-14 19:45 发表
来无忧也有些时日了,学到不少知识,呵呵,惭愧~ 做个小程序汇报一下下。
初次接触 AUTOIT,又不懂 SCRIPT,还真费了不少功夫,看着别人的源码东拼西凑的总算可以使用了。可恨的是我这个做出来居然有近 200 KB ...

我用的 V2.5 版本的 AutoIT 编译的,代码比较小。

新的 V3.2 版本增加了不少功能,但是编译后的可执行程序也非常大。
回复

使用道具 举报

19#
发表于 2007-3-15 11:22:16 | 只看该作者
原帖由 secowu 于 2007-3-15 10:15 发表
如果,能够在选择分区时,一并同时显示分区的目录结构
这样对于维护时比较明显的判断,哪些分区可能含有重要资料,免得去猜或问(当然问是不可少的)

晕,要求越来越高了!

还得添加个 OpenFileDialog 啊
回复

使用道具 举报

20#
发表于 2007-3-15 11:29:37 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21#
发表于 2007-3-15 11:34:57 | 只看该作者
原帖由 老毛桃 于 2007-3-15 09:05 AM 发表

上次我提这个建议,没看到老九回复,以为没戏了呢。。。。

新增加的 FIND、IFEX 对变量的判定非常实用,我不再需要做那些生成“报告”的方式的原始判断结果了,要知道,硬盘速度的原因,往往要等到报告文件成功建立后才能够在下面利用这个条件,硬盘速度有快有慢,延时很难处理得恰到好处。

通过注册变量到内存,就不存在这样的问题啦,好!


另外,刚才测试这个 DEMO 版本,发现在 按键检测、长效显示、临时显示 的测试中,对用户鼠标的点击也是响应的,可否屏蔽?我是这样想的,用户使用 PE 的时候,在启动的过程中,一般都是右手握鼠标,无聊地等待 PE 启动到桌面,如果中间不小心碰到了鼠标按键,可能会遇到误操作。

对于新增加的 MESS 命令,可否增加一个自动关闭对话框的选项,我知道 AutoIT 从 3.0 版本开始也支持这一功能的,比如 60 秒未操作,即按照“否”、“取消”处理。


还有,这个版本又没有解决 PECMD.INI 加载了两个外置的配置文件后回不到内置的问题呢?很多硬盘上安装了 PE,又使用光盘引导 PE,可能会不到内置上,从而不能加载 Explorer.EXE。


1、要屏蔽鼠标按键响应可以做到。
2、MESS命令创建的是MessageBox窗口,要让它在一定时间内自动关闭比较难(要建立一个新线程或定时器,我试试看)。
回复

使用道具 举报

22#
发表于 2007-3-15 11:52:22 | 只看该作者
原帖由 lxl1638 于 2007-3-15 11:34 发表


1、要屏蔽鼠标按键响应可以做到。
2、MESS命令创建的是MessageBox窗口,要让它在一定时间内自动关闭比较难(要建立一个新线程或定时器,我试试看)。

MessageBox 本身的确不能自动关闭,不过我看 AutoIT 3.1 版本的示例中,在 MessageBox 命令后加一个时间的秒数,可实现,应该是创建了另外一个进程来控制的。

另:这个版本又没有解决 PECMD.INI 加载了两个外置的配置文件后回不到内置的问题呢?
回复

使用道具 举报

23#
发表于 2007-3-15 12:00:50 | 只看该作者
学习中。。。。。支持一下
回复

使用道具 举报

24#
发表于 2007-3-15 12:12:50 | 只看该作者
原帖由 <i>lxl1638</i> 于 2007-3-15 11:34 AM 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=997476&ptid=100988" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://bbs.wuyou.net/images/common/back.gif');}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />

<br />
1、要屏蔽鼠标按键响应可以做到。<br />
2、MESS命令创建的是MessageBox窗口,要让它在一定时间内自动关闭比较难(要建立一个新线程或定时器,我试试看)。
<br />
为什么不在资源里添加一个对话框资源,然后在上面画控件,添加控件的消息处理程序,不是很方便吗?
回复

使用道具 举报

25#
发表于 2007-3-15 12:14:59 | 只看该作者
原帖由 老毛桃 于 2007-3-15 11:52 AM 发表

MessageBox 本身的确不能自动关闭,不过我看 AutoIT 3.1 版本的示例中,在 MessageBox 命令后加一个时间的秒数,可实现,应该是创建了另外一个进程来控制的。

另:这个版本又没有解决 PECMD.INI 加载了两个 ...


本人用自己写的配置文件试过没有问题。
关键是:
1、在外部配置文件中不要再LOAD配置文件,否则就是死循环;
2、CALL命令只能调用本配置文件内的子过程。
回复

使用道具 举报

26#
发表于 2007-3-15 12:24:50 | 只看该作者
原帖由 123 于 2007-3-15 12:12 PM 发表

为什么不在资源里添加一个对话框资源,然后在上面画控件,添加控件的消息处理程序,不是很方便吗?


这样写代码是很容易,但EXE文件会大很多,且耗资源也大。

另,自动关闭MessageBox窗口的功能已完成,只是MB_YESNO窗口换成了MB_YESNOCANCEL类型窗口,效果是一样的。

MESS [是]或[否]选择对话框示例,\n请选择[是]或[否]。@请选择 #YN *50000

MESS [是]或[否]选择对话框示例,\n请选择[是]或[否]。@请选择 #YN

*“后的为等待时间(毫秒),不设置或设置为0时不自动关闭。

[ 本帖最后由 lxl1638 于 2007-3-15 12:28 PM 编辑 ]
回复

使用道具 举报

27#
发表于 2007-3-15 13:22:17 | 只看该作者
原帖由 lxl1638 于 2007-3-15 12:24 发表


这样写代码是很容易,但EXE文件会大很多,且耗资源也大。

另,自动关闭MessageBox窗口的功能已完成,只是MB_YESNO窗口换成了MB_YESNOCANCEL类型窗口,效果是一样的。

MESS [是]或[否]选择对话框示例, ...

仅有 Yes、No 按钮的对话框也应该可以实现自动关闭的吧,将“No”当作 “Cancel” 处理就是了。

老九不妨参考一下 AutoIT 的代码。

这是我汉化的 AutoIT 的一个示例:

msgboxwizard.rar

117.46 KB, 下载次数: 45, 下载积分: 无忧币 -2

回复

使用道具 举报

28#
发表于 2007-3-15 14:16:24 | 只看该作者
_SUB IFSetPageFile
        TEAM TEXT 30 秒内按住 C、D、E、F 可建立虚拟内存(对应盘符)……|WAIT 30000
        IFEX KEY=67,TEXT 正在设定虚拟内存……|PAGE C:\%PF% 192 256!
        IFEX KEY=68,TEXT 正在设定虚拟内存……|PAGE D:\%PF% 192 256!
        IFEX KEY=69,TEXT 正在设定虚拟内存……|PAGE E:\%PF% 192 256!
        IFEX KEY=70,TEXT 正在设定虚拟内存……|PAGE F:\%PF% 192 256!
        TEXT 没有建立虚拟内存……WAIT 500
_END

我试这个时没有成功..
回复

使用道具 举报

29#
发表于 2007-3-15 14:52:30 | 只看该作者
顶一下
回复

使用道具 举报

30#
发表于 2007-3-15 15:01:27 | 只看该作者
原帖由 老毛桃 于 2007-3-15 11:22 AM 发表

晕,要求越来越高了!

还得添加个 OpenFileDialog 啊


呵呵,应该不用这个可以吧。。。。

首先枚举全部分区,然后将分区的目录结构显示在一个listview里啦,这样,就不用dialog了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-3 03:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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