无忧启动论坛

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

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

    [复制链接]
8491#
发表于 2014-10-12 21:31:45 | 只看该作者
mdyblog 发表于 2014-10-11 21:23
>>MOUN -udm MOUN  %_ret% %muh% %cleartmp% %optx%  \\.\PhysicalDrive%&hd% %&MountDrvS%

是这 ...

我没看到有这个的必要性,为了适应某个功能何必将命令复杂化。另外,何不给MOUN加一个 -list参数,如果有-udm就是listudm的意思,如果无就是列出moun已经挂载的WIM的意思。

点评

MOUN -udm listudm ... listudm 是UDM 亚命令。 放到 MOUN -udm 后第一个。方便分析。 MOUN -udm moun 是 给自己用的。所以说明书没有。 当时 处理 加载 和 LISTUDM 参数不一致时,很麻烦就临时加了  详情 回复 发表于 2014-10-12 22:07
回复

使用道具 举报

8492#
 楼主| 发表于 2014-10-12 22:07:25 | 只看该作者
hhh333 发表于 2014-10-12 21:31
我没看到有这个的必要性,为了适应某个功能何必将命令复杂化。另外,何不给MOUN加一个 -list参数,如果有 ...


MOUN -udm  listudm  ...

listudm   是UDM 亚命令。
放到 MOUN -udm  后第一个。方便分析。


MOUN -udm  moun 是 给自己用的。所以说明书没有。
当时 处理 加载 和 LISTUDM 参数不一致时,很麻烦就临时加了个 亚命令,moun 就对应地加了个 哑命令moun .

最新版 UDm+fixdrv.wcs, 不用 MOUN -udm  moun  , 直接 用   MOUN -udm  。 稍微复杂点。


回复

使用道具 举报

8493#
 楼主| 发表于 2014-10-13 06:41:43 | 只看该作者
RAMD Imdisk* 可以加载到目录, 这样可以节省盘符。



RAMD  imdisk* -a -f D:\20140510_214647.iso  -m D:\D1    //加载
RAMD  imdisk* -D  -m D:\D1   //卸载

//同样适用 扇区映射
RAMD  ImDisk*&V*2097280s*5734529s*0*\\.\PhysicalDrive1  -a  -o hd -m D:\D2       //加载
RAMD  imdisk* -D  -m D:\D2   //卸载




点评

这个功能不错。  详情 回复 发表于 2014-10-13 07:03
回复

使用道具 举报

8494#
发表于 2014-10-13 07:03:53 | 只看该作者
mdyblog 发表于 2014-10-13 06:41
RAMD Imdisk* 可以加载到目录, 这样可以节省盘符。

这个功能不错。
回复

使用道具 举报

8495#
 楼主| 发表于 2014-10-14 20:31:42 | 只看该作者
超级动态右键

ImdiskEx超级右键.7z




动态右键: 随点的对象状态而改变菜单。

ImdiskEx超级右键.7z 是应用示例。
这个菜单, 如果 盘符是Imdisk, 才出现Imdisk菜单, 其它盘符,不出现Imdisk菜单。





菜单 通过注册表定制。

(1)菜单 条和命令
HKEY_CLASSES_ROOT\SM{A2CBD8C7-26FA-49AA-A296-68D9DA72A2F0}\MENU下面
NNNnemu : 菜单文本
NNNcmd : 菜单命令
NNNhelp : 帮助文本   //可选  --》鼠标点亮菜单条,还没有按下是,在下面状态栏显示的文本
NNN 从001开始, 依次递加,不要间隔。

(2)关联到对象
在需要的 HKEY_CLASSES_ROOT  YYYY\ 类型中 添加,
reg ADD  HKEY_CLASSES_ROOT\YYYY\ShellEx\ContextMenuHandlers\名字 /ve /d {A2CBD8C7-26FA-49AA-A296-68D9DA72A2F0}
名字 可随便按用途起名。

如盘符
reg ADD  HKEY_CLASSES_ROOT\Drive\ShellEx\ContextMenuHandlers\ImdiskEx /ve /d {A2CBD8C7-26FA-49AA-A296-68D9DA72A2F0}

如WIM
reg ADD  HKEY_CLASSES_ROOT\.WIM\ShellEx\ContextMenuHandlers\WIMFileEx /ve /d {A2CBD8C7-26FA-49AA-A296-68D9DA72A2F0}

reg ADD  HKEY_CLASSES_ROOT\WIMFile\ShellEx\ContextMenuHandlers\WIMFileEx /ve /d {A2CBD8C7-26FA-49AA-A296-68D9DA72A2F0}

这样, 可以不用Wimtool也有菜单右键动态菜单。

点评

今天才看到这个,又一个很不错的功能!  详情 回复 发表于 2014-10-16 23:09
就是打开的软件,会前后出现2次.  详情 回复 发表于 2014-10-14 20:34
回复

使用道具 举报

8496#
发表于 2014-10-14 20:34:18 | 只看该作者
本帖最后由 海市蜃楼 于 2014-10-14 22:39 编辑
mdyblog 发表于 2014-10-14 20:31
超级动态右键

ImdiskEx超级右键.7z


就是打开的软件,会前后出现2次.

3.png (43.46 KB, 下载次数: 128)

3.png

2.png (42.64 KB, 下载次数: 123)

2.png

点评

TEST.WCS  详情 回复 发表于 2014-10-14 20:55
你这么 片名的说, 说不清的, 人满也没那么多精力 和你猜。 你直接写个很小的 演示程序: 恰好能演示 该问题,多的不要。 打包 发上来。  详情 回复 发表于 2014-10-14 20:37
回复

使用道具 举报

8497#
 楼主| 发表于 2014-10-14 20:37:59 | 只看该作者
海市蜃楼 发表于 2014-10-14 20:34
就是打开的软件,会前后出现2次.

你这么 片名的说, 说不清的, 人满也没那么多精力 和你猜。

你直接写个很小的 演示程序: 恰好能演示 该问题,多的不要。 打包 发上来。

点评

其实很好理解,就是同1个软件按下打开2次,不按打开1次. IMAG IMAG1,,.\#0.ico, OneKey PE,TEAM EXEC OneKey PE.EXE|KILL \%Windows1%,这是配置.  详情 回复 发表于 2014-10-14 22:11
这些图标在闪为何?  详情 回复 发表于 2014-10-14 20:48
回复

使用道具 举报

8498#
发表于 2014-10-14 20:48:12 | 只看该作者
mdyblog 发表于 2014-10-14 20:37
你这么 片名的说, 说不清的, 人满也没那么多精力 和你猜。

你直接写个很小的 演示程序: 恰好能演示 ...

这些图标在闪为何?

1.png (85.4 KB, 下载次数: 129)

1.png
回复

使用道具 举报

8499#
 楼主| 发表于 2014-10-14 20:55:03 | 只看该作者
本帖最后由 mdyblog 于 2014-10-14 20:56 编辑
海市蜃楼 发表于 2014-10-14 20:34
就是打开的软件,会前后出现2次.


TEST.WCS
  1. WIN1
  2. _SUB WIN1,W287H254,新窗口1,
  3.     ITEM ITEM1,L62T38W123H43,ITEM1,EXEC CALC.EXE,#1,
  4.     ITEM ITEM2,L62T101W123H44,ITEM2,EXEC REGEDIT.EXE,#2
  5. _END
复制代码

点评

都一样,这个图标也在闪.  详情 回复 发表于 2014-10-14 22:40
回复

使用道具 举报

8500#
发表于 2014-10-14 22:11:28 | 只看该作者
本帖最后由 2013fangdong 于 2014-10-15 13:23 编辑
mdyblog 发表于 2014-10-14 20:37
你这么 片名的说, 说不清的, 人满也没那么多精力 和你猜。

你直接写个很小的 演示程序: 恰好能演示 ...


其实很好理解,就是同1个软件按下打开2次,不按打开1次.

IMAG IMAG1,,.\#0.ico, OneKey PE,TEAM EXEC OneKey PE.EXE|KILL \%Windows1%,这是配置.

点评

为什么这么懒, 不写个完整的测试程序包:相关东西打包。 我都发上来个小程序, 稍微改下,就是你的测试程序。 要想交流清楚,找出问题,最好是有个完整的小巧的测试演示程序。 代码是相互关联的,单独拿出几行  详情 回复 发表于 2014-10-15 05:37
回复

使用道具 举报

8501#
发表于 2014-10-14 22:40:48 | 只看该作者

都一样,这个图标也在闪.

点评

闪的厉害吗? 正常系统闪吗? 其它电脑上闪吗? 什么系统? 再换成78版PECMD试试。  详情 回复 发表于 2014-10-15 05:48
回复

使用道具 举报

8502#
 楼主| 发表于 2014-10-15 05:37:00 | 只看该作者
本帖最后由 mdyblog 于 2014-10-15 05:49 编辑
2013fangdong 发表于 2014-10-14 22:11
其实很好理解,就是同1个软件按下打开2次,不按打开1次.

IMAG IMAG1,,.\#0.ico, OneKey PE,TEAM EXEC  ...



从视频看, 是代码写错了。
重复执行的间隔这么长时间, 排除“PECMD 连击”。
而且是在关闭主窗口后, 彻底 PECMD问题。
基本 定位是 “代码写错了”。

没有完整的 测试包, 无法提供跟多的帮助。

我没有那么的时间 浪费在 和别人打哑谜上。



为什么这么懒, 不写个完整的测试程序包:相关都东西打包。
我都发上来个小程序, 稍微改下,就是你的测试程序。
要想交流清楚,找出问题,最好是有个完整的小巧的测试演示程序。
代码是相互关联的,单独拿出几行代码,不一定能说明问题;
而且增加 被问者的 难度,要他考虑不必考虑的无限多情况。
他得猜测 代码被使用的 各种情况。 其实实际就一种情况。
他得费劲猜测 代码 提问者怎么用的,这完全没必要。 最受打击的是:猜测的情况肥料老劲,结果人家说不是这种情况!!!。


命令写错了。
用IMAG这样:
IMAG IMAG1,L63T161W120H35,.\#0.ico,TEAM EXEC "OneKey PE.EXE"|KILL \,

用ITEM这样:
ITEM ITEM2,L62T101W123H44,ITEM2,TEAM EXEC "OneKey PE.EXE"|KILL \,.\#0.ico,

TST.WCS
  1. Windows1
  2. _SUB Windows1,W287H291,新窗口1,
  3.     ITEM ITEM1,L62T101W123H44,ITEM2,TEAM EXEC "OneKey PE.EXE"|KILL \,#2,
  4.     IMAG IMAG1,L63T161W120H35,#1,TEAM EXEC "OneKey PE.EXE"|KILL \,
  5. _END
复制代码
回复

使用道具 举报

8503#
 楼主| 发表于 2014-10-15 05:48:38 | 只看该作者
海市蜃楼 发表于 2014-10-14 22:40
都一样,这个图标也在闪.

闪的厉害吗?
正常系统闪吗? 其它电脑上闪吗? 什么系统?

再换成78版PECMD试试。
回复

使用道具 举报

8504#
发表于 2014-10-16 23:09:12 | 只看该作者
mdyblog 发表于 2014-10-14 20:31
超级动态右键

ImdiskEx超级右键.7z

今天才看到这个,又一个很不错的功能!

点评

新版: 超级右键菜单.zip (PECMD下载目录) 1)支持X64 2)可自动生成多个 [attachimg]200990[/attachimg] 应用示例(Imdis动态菜单)。 这个菜单, 如果 盘符是Imdisk, 才出现Imdisk菜单, 其它  详情 回复 发表于 2014-10-17 07:23
回复

使用道具 举报

8505#
 楼主| 发表于 2014-10-17 07:23:26 | 只看该作者
阿弥陀佛 发表于 2014-10-16 23:09
今天才看到这个,又一个很不错的功能!


新版: 超级右键菜单.zip  (PECMD下载目录)
1)支持X64
2)可自动生成多个






应用示例(Imdis动态菜单)。
这个菜单, 如果 盘符是Imdisk, 才出现Imdisk菜单, 其它盘符,不出现Imdisk菜单。





点评

赞!我好像受到一些启发了。这在一些小程序中应该会很有用。有空试试  详情 回复 发表于 2014-10-17 09:55
回复

使用道具 举报

8506#
发表于 2014-10-17 09:55:49 | 只看该作者
mdyblog 发表于 2014-10-17 07:23
新版: 超级右键菜单.zip  (PECMD下载目录)
1)支持X64
2)可自动生成多个

赞!我好像受到一些启发了。这在一些小程序中应该会很有用。有空试试
回复

使用道具 举报

8507#
发表于 2014-10-18 16:06:45 | 只看该作者
点击按钮后,如何使主窗口最小化(最小化到任务栏)  ?

_SUB WinMenu, L20T100W200H100

ITEM ITEM30,L10T1W50H30,CMD窗口,   EXEC =cmd.exe

_END

CALL WinMenu
回复

使用道具 举报

8508#
 楼主| 发表于 2014-10-18 17:58:02 | 只看该作者
本帖最后由 mdyblog 于 2014-10-18 19:36 编辑

前面有人要的 “外置子窗口”功能加上了。
子窗口章在(绑定在)主窗口上, 随主窗口移动。(如影随行)

外置子窗口 和内置子窗口 不同, 外置子窗口 可一设置自己的 透明度, 可以飞到主窗口之外(飞地)。



1) SWIN控件模式
│SWIN  -sub[:-#LxTyWwHh]] [类名]:[名称][,][命令行参数]          //外置子窗口 -有标题 #有边框 ┃


2) CALL@模式
│CALL @-sub[:@-#LxTyWwHh]] [前导]<窗口名称> [命令行参数] //外置子窗口 @保持父子 -#有标题边框 ┃


3)消息框模式
├──────────────────────────────────────────────┨
│MESS[-*=.-svr-svr2-max-min-size-close-top-icon 数字][-sub:LxTyWwHh:对象名]                  ┃
│              [文字内容][@消息窗文字标题][#消息窗类型[*自动关闭的时间(毫秒)][$默认的选择]]  ┃
├──────────────────────────────────────────────┨


外置子窗口演示.WCS:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
WIN1
_SUB WIN1,W600H260,外置子窗口演示PECDM2012%PECMDVER%,
    ENVI @this.visable=1
//控件模式
    SWIN -sub WIN2:SWIN1,#L10T10W170H50, SWIN有边框
    SWIN -sub WIN2:SWIN2,-L10T70W170H80, SWIN有标题
    SWIN -sub WIN2:SWIN2,L10T150W170H50, SWIN无边框(默认)
    TIME -t:1 ,3000, ENVI @SWIN1.POS=80
   
//CALL@模式
    CALL @-sub:@#L210T10W170H50:CALL1 -WIN2  CALL有边框
    CALL @-sub:@-L210T70W170H80:CALL2 -WIN2  CALL有标题  
    CALL @-sub:@L210T150W170H50:CALL3 -WIN2  CALL无边框
     
//消息框模式
    MESS-bg-sub:@L0420T010:MESS1 内嵌消息框1(-bg)
    MESS-bin-sub:@L410T115:MESS2 内嵌消息框2(-bin)  //阻塞在这里
_END

_SUB WIN2,L10T20W180H100,新窗口2,,,  //#
    LABE LABE1,L5T11W170H40,外置子窗口:%*,,
_END  

效果:

外置子窗口

点评

赞一个,终于有这功能了,有空试一下  详情 回复 发表于 2014-10-18 18:51

评分

参与人数 1无忧币 +5 收起 理由
527104427 + 5 赞一个!

查看全部评分

回复

使用道具 举报

8509#
 楼主| 发表于 2014-10-18 18:10:18 | 只看该作者
本帖最后由 mdyblog 于 2014-10-18 18:13 编辑
2012qnmd 发表于 2014-10-18 16:06
点击按钮后,如何使主窗口最小化(最小化到任务栏)  ?

_SUB WinMenu, L20T100W200H100


使窗口最小使化.WCS(包内有):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SET  ::WM_SYSCOMMAND=0x0112
SET  ::SC_MINIMIZE=0xF020

_SUB WinMenu, L20T100W200H100
    ITEM ITEM30,L10T1W50H30,CMD窗口, OnDO
_END

_SUB OnDO
    ENVI @this.SENDMSG=%WM_SYSCOMMAND%;%SC_MINIMIZE%
    WAIT 1000 //看看效果再运行
    EXEC =cmd.exe
_END

WinMenu   
回复

使用道具 举报

8510#
发表于 2014-10-18 18:51:06 | 只看该作者
mdyblog 发表于 2014-10-18 17:58
前面有人要的 “外置子窗口”功能加上了。
子窗口章在(绑定在)主窗口上, 随主窗口移动。(如影随行)

赞一个,终于有这功能了,有空试一下
回复

使用道具 举报

8511#
发表于 2014-10-18 19:11:37 | 只看该作者
最小化,好棒!

还有个问题,经常遇到

有两个EXE文件要执行, 经常只能执行一个, 而另外一个需要关闭前面这个,才会执行.

如: XXX.EXE   ,和 改名后的PECMD2.EXE LOAD 3.INI

无论使用PECMD.INI 还是通过PECMD.INI加载CMD,都会出现这样问题

还有就是,EXE,双击执行正常, PECMD.INI来执行就不正常

点评

方法1: _SUB OnDO EXEC XXX.EXE EXEC =PECMD2.EXE LOAD 3.INI _END 方法2: _SUB OnDO THREAD*$ TEAM EXEC =XXX.EXE| 完成后发送通知 EXEC =PECMD2.EXE LOAD 3.INI _END  详情 回复 发表于 2014-10-18 19:41
回复

使用道具 举报

8512#
发表于 2014-10-18 19:18:37 | 只看该作者
再说清楚点:
PECMD原始.EXE
最小化窗口.ini

MD5.EXE

要通过PECMD.INI,来进行上面操作, 上面3个文件,在X:\tool2 目录下

无法完成LOAD并打开MD5.EXE,

如果LOAD在前面,MD5.EXE不执行,:  MD5.EXE在前面,LOAD不执行, 必须关闭前面的,后面才执行

回复

使用道具 举报

8513#
 楼主| 发表于 2014-10-18 19:41:01 | 只看该作者
2012qnmd 发表于 2014-10-18 19:11
最小化,好棒!

还有个问题,经常遇到



方法1:
_SUB OnDO
    EXEC XXX.EXE
    EXEC =PECMD2.EXE LOAD 3.INI
_END


方法2:
_SUB OnDO
    THREAD*$  TEAM EXEC =XXX.EXE|  完成后发送通知
    EXEC =PECMD2.EXE LOAD 3.INI
_END


方法3:
_SUB OnDO
    THREAD*$  TEAM EXEC =XXX.EXE|  完成后发送通知
    THREAD*$  TEAM EXEC =PECMD2.EXE LOAD 3.INI|  完成后发送通知
_END


回复

使用道具 举报

8514#
发表于 2014-10-18 20:09:57 | 只看该作者
1, 我就是,没成功

后来使用CMD,改变写法,使用START XXX.EXE搞定了
回复

使用道具 举报

8515#
发表于 2014-10-18 21:08:38 | 只看该作者
下面代码,在88.04这个版本,X86正常,X64下,无法弹出窗口

SET  ::WM_SYSCOMMAND=0x0112
SET  ::SC_MINIMIZE=0xF020
//上面为了最小化
SET  WM_LBUTTONDOWN                  =0x0201
SCRN ScrW,ScrH0
//SCRN ScrW,ScrH
ENVI B_TRIM=19  //起始位置垂直高度
CALC #ScrH=%ScrH0% - %B_TRIM%
ENVI &&bStart=0
TEAM ENVI WinL=0| ENVI WinH=500 //起始水平位置和外框高度
CALC #WinW=%ScrW% - %WinL%-900

CALC #WinTOP=%ScrH% - %WinH%

_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,#

ENVI @this.bkcolor=0x5b5b5b

ITEM ITEM30,L10T50W50H30,CMD窗口, OnDO

_END

_SUB OnDO
    ENVI @this.SENDMSG=%WM_SYSCOMMAND%;%SC_MINIMIZE%

    EXEC =cmd.exe
_END


CALL WinMenu

点评

WIN8X64下测试正常啊。 [attachimg]201075[/attachimg]  详情 回复 发表于 2014-10-19 07:51
回复

使用道具 举报

8516#
 楼主| 发表于 2014-10-19 07:51:05 | 只看该作者
2012qnmd 发表于 2014-10-18 21:08
下面代码,在88.04这个版本,X86正常,X64下,无法弹出窗口

SET  ::WM_SYSCOMMAND=0x0112


WIN8X64下测试正常啊(H3的PE航母)。
回复

使用道具 举报

8517#
发表于 2014-10-19 08:00:49 | 只看该作者
我是WIN10X64下

就是加了那个"最小化"的代码, 原来没加时,可以弹出
我测试时,在X86下

等我在看看,到底那个行的问题
回复

使用道具 举报

8518#
发表于 2014-10-19 08:39:45 | 只看该作者
***************************
我错了, 这个PE,没加载显卡驱动,默认分辨率低,导致:
CALC #WinW=%ScrW% - %WinL%-900

900太大, 无法显示, 改小即可正常. 而测试时,有显卡,分辨率高,当然没问题.

这个900,是什么意思(它的单位是??),  不同分辨率,窗口大小不同.

点评

屏幕右边预留出来的 空间:900。  详情 回复 发表于 2014-10-19 10:23
回复

使用道具 举报

8519#
 楼主| 发表于 2014-10-19 10:23:23 | 只看该作者
2012qnmd 发表于 2014-10-19 08:39
***************************
我错了, 这个PE,没加载显卡驱动,默认分辨率低,导致:
CALC #WinW=%ScrW% - % ...

屏幕右边预留出来的 空间:900。
回复

使用道具 举报

8520#
 楼主| 发表于 2014-10-19 19:54:22 | 只看该作者
前面说的窗口最小化, 还有一种更简单的方法。
ENVI @this.Visable=*4


使窗口最小使化2.WCS(包内有):
WIN1
_SUB WIN1,W278H109,窗口最小化,
    ITEM ITEM1,L88T20W60H30,最小化,OnDO,
_END

_SUB OnDO
    ENVI @this.Visable=*4
_END

点评

//DISP 不能设置分辨率了,在没有安装显卡驱动和安装了显卡驱动之后都是一样。 安装显卡驱动后会闪一下屏,但没有任何效果,下面是代码和日志 logs x:\disp.txt DISP =1 S0x84 P W1024 H768 B32 F60 T5 --------  详情 回复 发表于 2014-10-20 09:57
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-6 13:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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