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

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

   火... [复制链接]
 楼主| 发表于 2013-6-22 22:33:01 | 显示全部楼层
527104427 发表于 2013-6-22 21:27
请教一下老大,如果此exe还需dll支持呢?那么这个DLL该如何处理?也可以释放到内存吗?exe还能发现这个 ...

EXE  在银盘上找 。
和 一般 EXE的规则一样。
回复

使用道具 举报

 楼主| 发表于 2013-6-23 06:44:01 | 显示全部楼层
527104427 发表于 2013-6-22 22:51
在银盘上找是啥意思,没搞明白


如需要 User32.DLL (一般程序都需要)
在%SystemRoot%\System32\下有。
自动连接到  %SystemRoot%\System32\User32.DLL  

当前目录有A.DLL (PATH @ 设定当前目录)
需要 A.DLL
自动连接到 当前目录 的  A.DLL
windows 有一套搜索规则。
回复

使用道具 举报

 楼主| 发表于 2013-6-23 08:05:33 | 显示全部楼层
本帖最后由 mdyblog 于 2013-6-23 08:12 编辑
527104427 发表于 2013-6-22 22:51
在银盘上找是啥意思,没搞明白


CMD 脚本中调用 PECMD TIPS TEXT(WIN8) 等

一般下面这么写:
PECMD.EXE TIPS 正在释放,拨号组件……,10000,4,SHELL32.DLL#1
这不对。 这样之是一闪而过。
因为PECMD.EXE 立马退出了。
应该在后面加WAIT ,阻止退出。

PECMD.EXE  "TEAM TIPS 正在释放,拨号组件……,10000,4,SHELL32.DLL#1 | WAIT 10000"

------
可以代理执行,
PECMD.EXE WAIT *sys -cmd  TIPS 正在释放,拨号组件……,10000,4,SHELL32.DLL#1

这样 后面马上 “更新”  TIPS。
PECMD.EXE WAIT *sys -cmd  TIPS 完成……,10000,4,SHELL32.DLL#1
。。。
PECMD.EXE WAIT *sys -cmd  TIPS *    //清除
这样和在WCS脚本中一样。

----------------------------------------------------------------------
-----WIN8画布-TEXT(WIN7 XP 也可这么用。 和 WIN7直接TEXT不同。这样不会被搽除或挡住)
PECMD.EXE WAIT *sys -cmd  LOGO *top **  //打开画布
PECMD.EXE WAIT *sys -cmd  TEXT   111111
。。。
PECMD.EXE WAIT *sys -cmd  TEXT   222222
.。。
PECMD.EXE WAIT *sys -cmd  TEXT     //清除
PECMD.EXE WAIT *sys -cmd  LOGO    //关闭画布

REM  PECMD.EXE WAIT *sys -cmd  TEAM TEXT ^| LOGO    //清除,关闭画布//合并成一条命令
这样和在WCS脚本中一样。





回复

使用道具 举报

 楼主| 发表于 2013-6-23 12:13:04 | 显示全部楼层
527104427 发表于 2013-6-23 10:34
我的意思是,执行幽灵进程的时候,能不能把它所依赖的dll也释放到内存,而不是释放到其他目录?
例如,我 ...

估计 也能作出来。 但比较麻烦。 有要大动干戈。以后在说吧。
这次精简, 让我掉了一层皮,牵涉的东西这么多。 (反倒那个精简版,没有精力继续精简下去,就搁在那儿)
回复

使用道具 举报

 楼主| 发表于 2013-6-23 15:45:48 | 显示全部楼层
clonecd 发表于 2013-6-23 14:08
43版 LIST控件拖放有问题,详见附件:

还有其它的BUG,但是我现在还查不出来是什么问题,因为它在43 ...

79N-44
回复

使用道具 举报

发表于 2013-6-23 18:36:39 | 显示全部楼层
这个看不懂
回复

使用道具 举报

发表于 2013-6-24 03:50:01 | 显示全部楼层
楼主的博客,题材很丰富,同好,有点意思。
回复

使用道具 举报

发表于 2013-6-24 08:29:50 | 显示全部楼层
想问几个问题:
1、如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。即是按顺序匹配还是两头匹配,4.0好象是按顺序的。你的如果是两头匹配的,可以有这样的形式:
IF A,IF B,C!D!E意思是IF A,(IF B,C!D)!E,为了便于理解可以不可以这样写成块语句。
IFEX A,{ IF B,C!D}!E

2、在条件语句中如果位于EXEC后的!符号都表示隐藏方式执行,

点评

语法是前面的优先 。 IF1 。。 IF2 .。。 ! 。。。 IF1 。。 EXEC ! 。。。 后面的!优先和IF1 配对。 如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。 IF A,(IF B,C)!D 为:  详情 回复 发表于 2013-6-24 09:13
回复

使用道具 举报

 楼主| 发表于 2013-6-24 09:13:13 | 显示全部楼层
hhh333 发表于 2013-6-24 08:29
想问几个问题:
1、如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。即是按顺序匹配还是两 ...

语法是前面的优先 。
IF1 。。 IF2   .。。 !  。。。
IF1 。。 EXEC  !  。。。

后面的!优先和IF1 配对。

如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。

IF A,(IF B,C)!D 为:
IF A, IF B,C!D


IF A,(IF B,C!D)为:
IF A,!!  IF B,C!D

IF not A,(IF B,C!D)为:
IF A,!   IF B,C!D

【IF A,】后有!!(或!) 那么 IF A 放弃后面的!,留给后面IF B(或EXEC等)


-------------
IFEX $1=1,!!   EXEC  !=cmd /c dir
IFEX $0=1,!    EXEC  !=cmd /c dir

-------------
EXEC !可以写为 EXEC * 或 EXEC --hide


※--hide 或前导"!"或"*"表示以隐藏方式执行;       //就是解放 语法符号!

IFEX $1=1,  EXEC  *=cmd /c dir

IFEX $1=1,  EXEC  --hide =cmd /c dir

点评

这种形式如何写:IF A,(IF B,C!D)!E,能不能简单地写成:IF A,IF B,C!D!E,我觉得IF后面的!应该与它左边最相近的IF匹配。 可不可以用{}来增加可读性。  详情 回复 发表于 2013-6-24 10:45
回复

使用道具 举报

发表于 2013-6-24 09:56:09 | 显示全部楼层
mdyblog 发表于 2013-6-22 19:25
EXEC  --exec:#101    bootpart.exe   参数
这样 直接 在内存中运行, 不需要中间临时文件。 不需要 PU ...

Thank You!! But It don't working, I use Ver Pecmd2012 NEW !!! ??????????????????????

Can create file : PUTF*  %CurDir%\My.exe,0#9M,#101

"EXEC --exec:#101 My.exe" and "EXEC --mem --exec:#101 My.exe" don't run my.exe

点评

http://pan.baidu.com/share/link?shareid=1590227121&uk=3962464512#PECMD执行嵌入文件.zip 直接运行 MyPE.EXE, 自动运行 测试脚本 MyPe.EXE.autoapp.wcs MyPe.EXE.autoapp.wcs(包内有): EXEC --exe:#101 my  详情 回复 发表于 2013-6-24 11:10
回复

使用道具 举报

发表于 2013-6-24 10:45:47 | 显示全部楼层
mdyblog 发表于 2013-6-24 09:13
语法是前面的优先 。
IF1 。。 IF2   .。。 !  。。。
IF1 。。 EXEC  !  。。。

这种形式如何写:IF A,(IF B,C!D)!E,能不能简单地写成:IF A,IF B,C!D!E,我觉得IF后面的!应该与它左边最相近的IF匹配。
可不可以用{}来增加可读性。

点评

IF A, { IF B, { C }! { D } }! { E } 或 IF A, { IF B, C ! D }! { E } -------------用 IF A, { }! { } 可以随便怎么嵌套。  详情 回复 发表于 2013-6-24 10:51
回复

使用道具 举报

 楼主| 发表于 2013-6-24 10:51:30 | 显示全部楼层
hhh333 发表于 2013-6-24 10:45
这种形式如何写:IF A,(IF B,C!D)!E,能不能简单地写成:IF A,IF B,C!D!E,我觉得IF后面的!应该与它左 ...

IF A,
{
    IF B,
   {
     C
   }!
  {
     D
   }
}!
{
  E
}


IF A,
{
    IF B,   C   !  D
}!
{
  E
}

-------------用
IF A,
{
}!
{
}
可以随便怎么嵌套。

点评

这个{}与批处理的()基本相同吧?  详情 回复 发表于 2013-6-24 10:56
回复

使用道具 举报

发表于 2013-6-24 10:56:20 | 显示全部楼层
mdyblog 发表于 2013-6-24 10:51
IF A,
{
    IF B,

这个{}与批处理的()基本相同吧?

点评

差不多。 }后有个!, 再才是 下面ELSE的{  详情 回复 发表于 2013-6-24 11:12
回复

使用道具 举报

 楼主| 发表于 2013-6-24 11:10:18 | 显示全部楼层
2011Tduy09 发表于 2013-6-24 09:56
Thank You!! But It don't working, I use Ver Pecmd2012 NEW !!! ??????????????????????

Can create ...

http://pan.baidu.com/share/link? ... uk=3962464512#PECMD执行嵌入文件.zip

直接运行 MyPE.EXE, 自动运行 测试脚本 MyPe.EXE.autoapp.wcs
MyPe.EXE.autoapp.wcs(包内有):
EXEC --exe:#101 myApp1
MESS  PECMD%PECMDVER% \n%&CurFile%\n[EXEC --exe:#101 myApp1] @测试 #OK

//101 为XP 的 记事本
不需要 --mem
--mem 是运行硬盘上的文件,制造幽灵进程。
回复

使用道具 举报

 楼主| 发表于 2013-6-24 11:12:39 | 显示全部楼层
本帖最后由 mdyblog 于 2013-6-24 11:16 编辑
hhh333 发表于 2013-6-24 10:56
这个{}与批处理的()基本相同吧?


差不多。
(1) }后有个, 再才是 下面ELSE的{

(2) 关键符号 { } 必须在 一行的开始

点评

如果不满足条件就执行块的话,应该 IF A,! { ..... } 还是 IF not A, { ....... }  详情 回复 发表于 2013-6-25 08:52
回复

使用道具 举报

发表于 2013-6-24 18:56:37 | 显示全部楼层
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
这个永远是对的吧?

新版不会影响这个吧?

点评

不影响。                          详情 回复 发表于 2013-6-24 21:18
回复

使用道具 举报

 楼主| 发表于 2013-6-24 21:18:10 | 显示全部楼层
2012qnmd 发表于 2013-6-24 18:56
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
这个永远是对的吧?

不影响。                         
回复

使用道具 举报

发表于 2013-6-25 08:28:46 | 显示全部楼层
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI, 大概就是以MAIN方式LOAD PECMD.INI

一个普通INI,可以内置到PECMD ,应该是相当于LOAD 吧?

那如何使其内置到PECMD, 而相当于" PECMD.EXE MAIN %WinDir%\System32\PECMD.INI " 呢?

点评

和 LOAD 一样 MAIN *#200 [命令行参数] 200是内置的脚本  详情 回复 发表于 2013-6-25 10:09
回复

使用道具 举报

发表于 2013-6-25 08:52:16 | 显示全部楼层
mdyblog 发表于 2013-6-24 11:12
差不多。
(1) }后有个!, 再才是 下面ELSE的{

如果不满足条件就执行块的话,应该
IF A,!
{
.....
}
还是
IF not A,
{
.......
}

点评

IF A,! { ... } 或 IFEX/FIND ! A, { ... } 或 IF A, { //空块 }! { ... }  详情 回复 发表于 2013-6-25 09:54
回复

使用道具 举报

 楼主| 发表于 2013-6-25 09:54:32 | 显示全部楼层
hhh333 发表于 2013-6-25 08:52
如果不满足条件就执行块的话,应该
IF A,!
{

IF A,!
{
...
}

IFEX/FIND ! A,
{
...
}


IF  A,
{  //空块
}!
{
...
}
回复

使用道具 举报

 楼主| 发表于 2013-6-25 10:09:34 | 显示全部楼层
本帖最后由 mdyblog 于 2013-6-25 10:20 编辑
2012qnmd 发表于 2013-6-25 08:28
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI, 大概就是以MAIN方式LOAD PECMD.INI

一个普通INI,可以内置 ...


和 LOAD 一样
MAIN  [**u]  *#200  [命令行参数]
200是内置的脚本
用 79N-45
// 44及以前为  MAIN  [**u]  #200  [命令行参数]
回复

使用道具 举报

发表于 2013-6-25 10:18:26 | 显示全部楼层
我的意思是: 执行"内置PECMD.INI脚本的PECMD.EXE "

结果相当于"PECMD.EXE MAIN %WinDir%\System32\PECMD.INI "

这个INI 如何写.

如原来的

INIT
SHELL ....
''''
'''''

点评

你是说 原来的 PE是 用 外置文件 %WinDir%\System32\PECMD.INI 启动的,(一般都这样)。 你想 罢这个 PECMD.INI 内置到 PECMD.EXE 中, 就不需要外置的 PECMD.INI 。 是这样的吗?  详情 回复 发表于 2013-6-25 10:24
回复

使用道具 举报

 楼主| 发表于 2013-6-25 10:24:41 | 显示全部楼层
2012qnmd 发表于 2013-6-25 10:18
我的意思是: 执行"内置PECMD.INI脚本的PECMD.EXE "

结果相当于"PECMD.EXE MAIN %WinDir%\System32\PECMD ...

你是说 原来的 PE是 用 外置文件 %WinDir%\System32\PECMD.INI  启动的,(一般都这样)。
你想 罢这个  PECMD.INI 内置到 PECMD.EXE 中, 就不需要外置的 PECMD.INI 。
是这样的吗?
回复

使用道具 举报

发表于 2013-6-25 10:27:52 | 显示全部楼层
对,是这样. 只要执行PECMD.EXE

点评

2012qnmd 发表于 2013-6-25 08:28 PECMD.EXE MAIN %WinDir%\System32\PECMD.INI, 大概就是以MAIN方式LOAD PECMD.INI 1: PECMD.INI 直接内置到 PECMD.EXE的 #200 一般来说内容不用修改。 2:修改 PE 的注  详情 回复 发表于 2013-6-25 11:13
回复

使用道具 举报

 楼主| 发表于 2013-6-25 11:13:10 | 显示全部楼层
本帖最后由 mdyblog 于 2013-6-25 11:19 编辑
2012qnmd 发表于 2013-6-25 10:27
对,是这样. 只要执行PECMD.EXE



1:  PECMD.INI 直接内置到 PECMD.EXE的 #200
一般来说,内容不用修改。

2:修改 PE  的注册表。 修改启动SHEL:
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
改为:
PECMD.EXE MAIN  *#200

就这样。
回复

使用道具 举报

发表于 2013-6-25 11:36:28 | 显示全部楼层
本帖最后由 2012qnmd 于 2013-6-25 11:40 编辑

哦, 我的意思能不能
修改 PE  的注册表。 修改启动SHEL:
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
改为:
PECMD.EXE

而不是PECMD.EXE MAIN  *#200   


如果要修改PECMD的源代码,就不用麻烦了.我用其它方式去解决我要的结果.

点评

修改启动SHEL: PECMD_M.EXE PECMD_M.EXE 的 内置自动脚本101内容: EXEC =%&MyName% MAIN *#200 应该可以的。 这样多一个进程。 --------- 101直接 改为: MAIN *#200 也试试把。这样不会多一个  详情 回复 发表于 2013-6-25 12:31
回复

使用道具 举报

 楼主| 发表于 2013-6-25 12:31:52 | 显示全部楼层
本帖最后由 mdyblog 于 2013-6-25 12:33 编辑
2012qnmd 发表于 2013-6-25 11:36
哦, 我的意思能不能
修改 PE  的注册表。 修改启动SHEL:
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI


修改启动SHEL:
PECMD_M.EXE

PECMD_M.EXE 的 内置自动脚本101内容:
EXEC =%&MyName% MAIN *#200
应该可以的。 这样多一个进程。


---------
101直接 改为:
MAIN   *#200

也试试把。这样不会多一个进程。 在以前版本 MAIN 不能内部调用(有内在的冲突)。 现在的新设计, 不知道是否可以,没试过。

回复

使用道具 举报

发表于 2013-6-25 14:18:12 | 显示全部楼层
上面两个方法都不行,我也不弄了.

问一下,

script 101  是不是可以任意替换为自己的INI ?
原来内容是什么意思?

点评

1: 用下面的方法是可以的。我用 H3CDALL.ISO win8-32 能启动。 http://pan.baidu.com/share/link?shareid=1006907949&uk=3962464512#启动脚本内嵌PECMD.zip PECMD.EXE PECMD_M.EXE 放到 PE中。 PE 启动  详情 回复 发表于 2013-6-26 09:21
是的。 原来:  详情 回复 发表于 2013-6-25 15:16
回复

使用道具 举报

发表于 2013-6-25 14:27:29 | 显示全部楼层
1111.jpg

如图,请教LZ。
我这里需要卸载 “端口COM和LPT”,再刷新才能出来正确的驱动。
请问,这个卸载操作如何进行?
我只知道PECMD有刷新功能。

点评

好像有个程序 devcon 干这个的。  详情 回复 发表于 2013-6-25 15:18
回复

使用道具 举报

 楼主| 发表于 2013-6-25 15:16:00 | 显示全部楼层
2012qnmd 发表于 2013-6-25 14:18
上面两个方法都不行,我也不弄了.

问一下,
是的。
原来:
  1. PATH @%&__OldDir%
  2. IFEX %&MyName%.autoapp.wcs, TEAM LOAD "%&MyName%.autoapp.wcs"  %*| EXIT
  3. SET &cmd=%*
  4. FIND $X=X%&cmd%, SET &cmd=HELP
  5. %&cmd%
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-12 00:20

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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