无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
5341#
发表于 2013-4-8 10:48:29 | 只看该作者
我的8PEX64 : USM_8PE_x64_UEFI_v1.0.0.3.iso
不认双显示器, 只有一个啊。

对比, zhengchang 系 ...
mdyblog 发表于 2013-4-8 10:06



http://pan.baidu.com/share/link?shareid=192817&uk=1074158592
天意1.61版的,只不过他把桌面右键上的分辨率设置菜单删除了,要从个性化页面左下找过去,分辨率设置的组件是还在的。
回复

使用道具 举报

5342#
 楼主| 发表于 2013-4-8 11:12:30 | 只看该作者
我又重新下载了一遍 -54,确实在退出 LOAD **mem 后 %CurFile% 还是 **mem。
2010qaqz111 发表于 2013-4-8 10:43

哦。 我这里加了
ENVI^ Forcelocal=1
所以对的。 是环境变量不支持多进程。
回复

使用道具 举报

5343#
发表于 2013-4-8 11:17:12 | 只看该作者
哦。 我这里加了
ENVI^ Forcelocal=1
所以对的。 是环境变量不支持多进程。
mdyblog 发表于 2013-4-8 11:12



我改成%&CurFile%也显示正常了。
%CurDir%和%CurFile%都是有环境变量和PE变量两个版本同时存在么?
回复

使用道具 举报

5344#
 楼主| 发表于 2013-4-8 11:37:44 | 只看该作者
回复 5685# 2010qaqz111
是的, 喂兼容4.0, 原来的环境变量依然保存着。
现在 -55版, 可以不加了。
回复

使用道具 举报

5345#
发表于 2013-4-8 12:00:05 | 只看该作者
天意1.61那个ISO我重新试了下,先要加载他桌面上那个大树的三卡里面的显卡部分,然后桌面右键的分辨率菜单就有了,但是好像要安装好驱动才可以检测到2个显示器,因为我用来实机测试的机器比较老(intel 945),内置显卡驱动不支持,所以是用的自己从完整系统挖出来的显卡驱动,驱动装好后就能在分辨率页面看到2个显示器了。

然后 DISP =1 S0x84 P 的效果还是一样,能设置成扩展桌面模式,但是主显示器还是笔记本内置的。
回复

使用道具 举报

5346#
发表于 2013-4-8 12:04:29 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-8 12:06 编辑

-55 试过了,不加&到CurFile也正常了。以后还是尽量用PE变量保险点。

其他的变量比如 Desktop Personal 之类有PE版本吗?
是否只有写明了还有 & 的才有 PE 变量版本?
说明里没有特别指出这个。


&__OldDir   启动时或LOAD前的目录
这个变量有 &__OldFile 吗?有这个就可以追溯 Caller 文件了。
回复

使用道具 举报

5347#
 楼主| 发表于 2013-4-8 12:25:48 | 只看该作者
-55 试过了,不加&到CurFile也正常了。以后还是尽量用PE变量保险点。

其他的变量比如 Desktop Personal  ...
2010qaqz111 发表于 2013-4-8 12:04


Desktop Personal  等 系统 变量只有 环境变量版。
他们比较特别, 有特别的处理, 所以没没加PE变量版, 再看看吧。
新加的变量基本上只有 PE变量版, 已免给多线程机制带来麻烦。
&__OldDir 只有 PE变量版。 就是用来追溯调用前目录的。
PATH @%&__OldDir%
回到原来目录了。
回复

使用道具 举报

5348#
 楼主| 发表于 2013-4-8 12:27:02 | 只看该作者
本帖最后由 mdyblog 于 2013-4-8 12:55 编辑

回复 5687# 2010qaqz111
看来我这够呛,可能没驱动。
刚下完,我试试。

你能在正常系统(WIN7)试试吗 ? 对比一下, 便于找原因。
回复

使用道具 举报

5349#
发表于 2013-4-8 12:41:58 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-8 12:51 编辑

正常win7试了,一样的效果。

我用的都是x86的版本。

完整的win8x86是正确的,DISP =1 S0x84 P 能够将外置显示器正确设置成主显示器,然后 DISP =0 S0x84 P 和 =1 来回切换了几次都没有问题。


完整的 win7 确实不行,原因有可能是在 explorer.exe 上,完整win8用的explorer.exe是win8配套的版本,win8pe 为了搞开始菜单应该是替换成了 win7 的 explorer,我用 win8 的 explorer 换到 win8pe 再试试。


另外,SHEL explorer.exe 执行之后,能够换另外一个程序来做 shell 吗?不然每次换一下 explorer 版本做对比就要重新启动一次。
回复

使用道具 举报

5350#
 楼主| 发表于 2013-4-8 13:01:08 | 只看该作者
正常win7试了,一样的效果。

我用的都是x86的版本。

完整的win8x86是正确的,DISP =1 S0x84 P 能够将 ...
2010qaqz111 发表于 2013-4-8 12:41

天翼WIN8PE试了, 没显卡驱动。
有分辨率设置, 但只有一个显示器。
设备管理中, 2个显卡都是问号。
没辙了。
》》完整的win8x86是正确的,DISP =1 S0x84 P 能够将外置显示器正确设置成主显示器,然后 DISP =0 S0x84 P 和 =1 来回切换了几次都没有问题。
那么看来程序正常。
现在怎么让 PE正常起来。 
》》完整的 win7 确实不行
那就奇怪了, 我这WIN7X64很正常, 可来回切换。
》》另外,SHEL explorer.exe 执行之后,能够换另外一个程序来做 shell 吗?不然每次换一下 explorer 版本做对比就要重新启动一次。
可以的。
SHEL  其他程序
KILL 原来的SHELL
新的SHEL就自动启动了。
回复

使用道具 举报

5351#
发表于 2013-4-8 13:24:00 | 只看该作者
SHEL  其他程序
KILL 原来的SHELL
新的SHEL就自动启动了。

我试试。
现在-55 版 LOAD **mem 的代码里面的 IMPORT 好像又不能展开文件了,日志里直接去下一条命令了,我先换回-52的试试。
回复

使用道具 举报

5352#
 楼主| 发表于 2013-4-8 13:26:59 | 只看该作者
回复 5693# 2010qaqz111
环境变量 %CurDir%  改为 %&CurDir%。

算了, 我改改吧, Import中 加上 环境变量 %CurDir%  吧。
回复

使用道具 举报

5353#
发表于 2013-4-8 13:30:48 | 只看该作者
换回 -52 同样的地方确实就可以过去了。


win8 的 explorer.exe 好像不能直接用在 win8pe 做 shell,一直反复启动但是又马上就退出了。
回复

使用道具 举报

5354#
发表于 2013-4-8 13:31:53 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-8 13:35 编辑
回复  2010qaqz111
环境变量 %CurDir%  改为 %&CurDir%。

算了, 我改改吧, Import中 加上 环境变量  ...
mdyblog 发表于 2013-4-8 13:26


我是 IMPORT 的 %SystemRoot%\system32\lib.wcs,没有用 %CurDir% 也不是直接不带目录的只有一个文件名,所有 import 都是这样写的。
回复

使用道具 举报

5355#
发表于 2013-4-8 14:03:28 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-8 14:05 编辑

win8 的 explorer 直接拿来做 8pe 的 shell 貌似不行,启动到单一显示器模式后桌面倒是正常,但是任务栏全是空的,disp =1 s0x84 p也还是老样子不能正确设置主显示器,而且扩展桌面也不正常,副显示器上有一半是黑屏,不知道是被窗口遮住了还是怎么回事。应该是加入 win7 explorer 的时候还加入或者替换了其他 win7 版本的文件,所以导致 disp 不能正确设置。
我找个 7pe 试试。就是不知道 8pe 的显卡驱动能不能在 7pe 用。
回复

使用道具 举报

5356#
发表于 2013-4-8 14:29:50 | 只看该作者
win7x86pe 也是可以的,完整版win7x86不行,win8pe 不行。
回复

使用道具 举报

5357#
 楼主| 发表于 2013-4-8 15:09:00 | 只看该作者
我是 IMPORT 的 %SystemRoot%\system32\lib.wcs,没有用 %CurDir% 也不是直接不带目录的只有一个文件名 ...
2010qaqz111 发表于 2013-4-8 13:31


PECMD2012.1.75.1-130314-56.多窗口线程孵化版_win32_64.sfx.zip 好了。
那几个 环境变量, 搅的 好 烦啊。
为了少干扰 多线程, 一部小心,就出问题了。 (改来改去的, 会干扰多线程程序。)
最好什么时候取消掉。
尤其那个 LOAD D:\A\B.WCS  , 当前目录就改为D:\A\
  多线程下是有问题的。
回复

使用道具 举报

5358#
 楼主| 发表于 2013-4-8 15:11:00 | 只看该作者
回复 5697# 2010qaqz111
显示应该 与 explorer  无关。 explorer   只是一个应用程序而已。
与DLL 和 驱动 有关。
回复

使用道具 举报

5359#
发表于 2013-4-8 15:12:58 | 只看该作者
PECMD2012.1.75.1-130314-56.多窗口线程孵化版_win32_64.sfx.zip 好了。
那几个 环境变量, 搅的 好 烦 ...
mdyblog 发表于 2013-4-8 15:09

是因为每个线程要保持自己的当前目录?
4.0 很多地方依赖环境变量,PECMD2012 应该全面转到 PE 变量上来,对环境变量只要支持手动读取和设置就可以了,内部各个命令运作的机制不应该再依赖环境变量,外部环境很多情况是不可预测的。
回复

使用道具 举报

5360#
发表于 2013-4-8 15:23:23 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-8 15:24 编辑
回复  2010qaqz111
显示应该 与 explorer  无关。 explorer   只是一个应用程序而已。
与DLL 和 驱动 有 ...
mdyblog 发表于 2013-4-8 15:11


就是不知道哪些dll是被替换过的了,SetDisplayConfig 是 WDK 里的东西,反正挨驱动越近的东西兼容性就越差,没办法就别管了,反正有其他代替的手段,至少在7pe还是能够正常工作的。
回复

使用道具 举报

5361#
 楼主| 发表于 2013-4-8 15:41:44 | 只看该作者
回复 5701# 2010qaqz111
>>是因为每个线程要保持自己的当前目录?
很多操作时和当前目录 相关的 。
如 IFEX  A.EXE,....
本来有A.EXE,
但此时另外一个线程 LOAD 另一个目录的文件, 结果当前目录变了,没有A.EXE 了。
还有些API 时隐含 当前目录的, 无法干预。
回复

使用道具 举报

5362#
 楼主| 发表于 2013-4-8 15:46:30 | 只看该作者
就是不知道哪些dll是被替换过的了,SetDisplayConfig 是 WDK 里的东西,反正挨驱动越近的东西兼容性就越 ...
2010qaqz111 发表于 2013-4-8 15:23

XP我试了下。

怎么灰, 如果XP压根不支持, 那就不显示这项就是了!?????

有个 XP 显卡驱动带的工具到时能切换显示器。
但原来完全不同。 他是在底层偷梁换柱, 直接将两个显示器交换了。
回复

使用道具 举报

5363#
发表于 2013-4-8 16:30:46 | 只看该作者
回复  2010qaqz111
>>是因为每个线程要保持自己的当前目录?
很多操作时和当前目录 相关的 。
如 IFEX  ...
mdyblog 发表于 2013-4-8 15:41


所以说应该提倡PE变量,每线程各自自己维护一份就好,环境变量是进程绑定的,都用这个的话必然要打架。
回复

使用道具 举报

5364#
发表于 2013-4-8 16:36:06 | 只看该作者
XP我试了下。

怎么灰, 如果XP压根不支持, 那就不显示这项就是了!?????

有个 XP 显卡驱动带的工具 ...
mdyblog 发表于 2013-4-8 15:46


XP的多显示器切换看MSDN上诸多讨论的说法,都是各自驱动厂商自己实现的,这个地方的界面也不知道是不是MS只给了个壳子,没有统一调用接口。

这个地方的选项反正给我就觉得很怪异,貌似就是跟显卡驱动有关,有的驱动装好之后就能选,有的就要在复制模式和扩展模式之间来回切换然后某次不知道碰到哪个地方那选项就亮了,但是没两下就又灰了(真遇到过这种情况)。

而且按照 MSDN 的描述,win7 之前没有 SetDisplayConfig 这个东西,应该都是 ChangeDisplaySettingsEx 配合驱动的一些底层调用来完成的,要在 XP 上伺候好这个东西恐怕难度比较大。
回复

使用道具 举报

5365#
发表于 2013-4-8 16:40:42 | 只看该作者
我记得 XP 上还遇到过一些显卡的驱动是可以支持滚屏的,就是桌面设置一个很大的分辨率,然后实际上显示器的最佳分辨率比那个小,然后鼠标移到屏幕边缘显示器的画面就会滚动,跟星际地图滚动的效果一样。

这个特性其实很有意思,但是能够做到这个驱动貌似很少,nv的驱动有些oem厂商自己改过的可以做到,nv自己的有些版本也可以,amd那边的情况也一样,倒是intel的好像从来没见到过可以滚屏的驱动。
回复

使用道具 举报

5366#
 楼主| 发表于 2013-4-8 17:21:24 | 只看该作者
我记得 XP 上还遇到过一些显卡的驱动是可以支持滚屏的,就是桌面设置一个很大的分辨率,然后实际上显示器的 ...
2010qaqz111 发表于 2013-4-8 16:40

PECMD2012.1.75.1-130314-57.多窗口线程孵化版_win32_64.sfx.zip
1> LOAD 的 **ncd开关: 不转移当前目录

2> DESKTOP 等 变量 也有PE变量版了。

3》 DISP 支持电视墙。
┃───────────────────────────────────────────
┃DISP [*delay] [=显示器号] [@位置矩阵] [S多显方式] [P] [W水平分辨 H垂直分辨] [B颜色深]
┃                          [F刷新率] [T等待ms]                                         


位置矩阵:X0:Y0:X1:Y1:X2:Y2:X3:Y3... 各显示器的起点位置坐标

2个显示器 左右排
DISP =0 S0x84 @0:0:1024:0 F0x84 W1024 H768

2个显示器 上下排
DISP =0 S0x84 @0:0:0:768 F0x84  W1024 H768


4个显示器 田字形排
DISP =0 S0x84 @0:0:1024:0:0:768:1024:768    W1024 H768  
回复

使用道具 举报

5367#
发表于 2013-4-8 20:48:44 | 只看该作者
试试,不知道8pe能正常用不,可惜找不到能接4个显示器的机器
回复

使用道具 举报

5368#
 楼主| 发表于 2013-4-9 11:46:07 | 只看该作者
2010qaqz111 发表于 2013-4-8 16:40
我记得 XP 上还遇到过一些显卡的驱动是可以支持滚屏的,就是桌面设置一个很大的分辨率,然后实际上显示器的 ...

PECMD2012.1.75.1-130314-59.多窗口线程孵化版_win32_64.sfx:
SET-def  ABC  //确保本级有ABC变量,无则加一个空变量,有则什么也不做。ENVI  &&ABC  SET &ABC也可。

如 :
SET-def  ABC  //定义
SET    ABC=123
//后面很多语句, 不确定 ABC是否定义了。
SET-def  ABC   //不改变ABC的值
MESS %&ABC%
//ABC还是123

回复

使用道具 举报

5369#
发表于 2013-4-9 17:13:32 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-9 18:41 编辑

FILE 命令加了 --force 参数删不掉目录?只能删除里面的所有文件,但是目录还在。
回复

使用道具 举报

5370#
发表于 2013-4-9 19:34:51 | 只看该作者
那目录是不是被占用
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 04:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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