无忧启动论坛

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

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

    [复制链接]
6031#
 楼主| 发表于 2013-6-9 16:27:30 | 只看该作者

回复前面某位: 不能拖文件到PECMD.EXE 的问题。
-25 以解决。

以后反应问题,希望详细点, 这样我这里可以复现。 上次我实验正常。

今天 用 很小的手机miniSD卡做 启动盘, 用了个mini XP-PE。 才发现这个问题。 可能是 那个PE里注册表特别。 不能拖。
后来估计, 是加了引号。  
我试了, 有空格的 文件名,  在普通WIN7上也不能拖。 这才发现问题。
好了。 79N-25  78-12 解决了。      
回复

使用道具 举报

6032#
 楼主| 发表于 2013-6-9 16:36:28 | 只看该作者
本帖最后由 mdyblog 于 2013-6-9 16:43 编辑
2010hktk 发表于 2013-6-9 13:16
CALL @子程序
_SUB 子程序,W283H150,NT6. 引导修复,,SHELL32.DLL#46
        FDRV AllDrive=


        LIST 组合框1,L145T13W50H320,%AllDrive%,,
         LIST 组合框2,L145T38W50H320,%AllDrive%,,


LIST 的H值 太小。
说明: LIST 的H 值 指的是下拉列表的高度限制。 超过这个值,就只能滚动(条)选择。
       LIST 本身的高度是自动的,该不了,大概一行字的高度。

这是 MS 的规定。 WIN64 个儿大, 和我们较真。
    WIN32 就没较真。按规定要那么高的。 PECMDEDIT 的设计界面上很清楚。
  

HELP LIST

┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │命令│'LIST'                                                                                      ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │格式│LIST 【*】 <下拉列表框名称>,<形状>,<下拉列表框内容>,[下拉列表框事件],[默认选中的条目],[状态]┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │功能│在_SUB定义的窗口内建立一个下拉列表框。 注意:高度指可下拉的高度!!!(WIN64较真)           ┃
┃    ├──┼──────────────────────────────────────────────┨
回复

使用道具 举报

6033#
发表于 2013-6-11 00:18:16 | 只看该作者
mdyblog 发表于 2013-6-9 16:36
LIST 组合框1,L145T13W50H320,%AllDrive%,,
         LIST 组合框2,L145T38W50H320,%AllDrive ...

不知道 在正常系统中 怎么注册热键呢?
回复

使用道具 举报

6034#
发表于 2013-6-11 10:36:07 | 只看该作者
本帖最后由 diannao338 于 2013-6-11 10:37 编辑
527104427 发表于 2013-6-11 00:18
不知道 在正常系统中 怎么注册热键呢?


对头,新版  HKEY #114,mess f3  坏掉了,以前的可以的
系统级的HOTK 原先就没成功过,后来就没试过了(正常系统)
回复

使用道具 举报

6035#
 楼主| 发表于 2013-6-11 11:21:44 | 只看该作者
diannao338 发表于 2013-6-11 10:36
对头,新版  HKEY #114,mess f3  坏掉了,以前的可以的
系统级的HOTK 原先就没成功过,后来就没试过了(正 ...

正常系统系统热键.WCS:
//正常系统 注册系统热键 HKEY$  
@IFEX X.LOG, LOGS * X.LOG
HKEY$  VK_F7,mess f7   
WAIT 8000  //测试: 8秒内有效
回复

使用道具 举报

6036#
 楼主| 发表于 2013-6-11 11:55:10 | 只看该作者
diannao338 发表于 2013-6-11 10:36
对头,新版  HKEY #114,mess f3  坏掉了,以前的可以的
系统级的HOTK 原先就没成功过,后来就没试过了(正 ...


-28: CALL @WIN1 的 HKEY
窗口热键.wcs:
//注册窗口热键 HKEY$  
@IFEX X.LOG, LOGS * X.LOG

CALL  @WIN1
_SUB WIN1,W289H249,新窗口1,
    HKEY  VK_F7,mess WIN1-f7   
_END
回复

使用道具 举报

6037#
发表于 2013-6-11 12:44:11 | 只看该作者
本帖最后由 diannao338 于 2013-6-11 12:50 编辑
mdyblog 发表于 2013-6-11 11:21
正常系统系统热键.WCS:
//正常系统 注册系统热键 HKEY$  
@IFEX X.LOG, LOGS * X.LOG


ok ,
HKEY$原来有程序级,这样方便多了

窗口级 -28 可以了

另外CALL说明那有一行重复了
回复

使用道具 举报

6038#
 楼主| 发表于 2013-6-12 00:35:17 | 只看该作者
本帖最后由 mdyblog 于 2013-6-12 00:38 编辑
diannao338 发表于 2013-6-11 12:44
ok ,
HKEY$原来有程序级,这样方便多了

79N-29:  正常系统也可以 HOTK, 程序退出后依然有效。
正常系统系统热键2.wcs:
//正常系统 注册系统热键  HOTK , 退出后热键还有效  
@IFEX X.LOG, LOGS * X.LOG
HOTK  VK_F7,mess 正常系统热键2(HOTK):F7   
//退出后热键还有效
//删除需要 HOTK  VK_F7,**del    
回复

使用道具 举报

6039#
发表于 2013-6-12 06:10:06 | 只看该作者
本帖最后由 527104427 于 2013-6-12 06:18 编辑
mdyblog 发表于 2013-6-12 00:35
79N-29:  正常系统也可以 HOTK, 程序退出后依然有效。
正常系统系统热键2.wcs:
//正常系统 注册系统热 ...


不对啊,用的是PECMD2012.1.78-130410-12.多窗口线程稳定版_win32_64.sfx,WIN7_X86正常系统。新测试版也一样:

1180        2563612464727.231        {ENTER:F:\doc\桌面\03PE\*map:260:98}
1180        2563612713410.308        [LOGS * X.LOG]        <0>        :操作成功完成。
1180        2563612852014.552        [HOTK$ VK_F7,F:\doc\桌面\03PE\WinSnap.exe]        <1>        :函数不正确。
1180        2563613533333.040        {LEAVE:*map:260:98}
1180        2563614747857.302        {LEAVE:}
回复

使用道具 举报

6040#
发表于 2013-6-12 07:37:41 | 只看该作者
本帖最后由 hhh333 于 2013-6-12 07:51 编辑

现在在切换到Administrator上遇到难题,切换后的主要代码为
  1. TEAM ENVI W=%WinDir%|ENVI WS=%W%\SYSTEM32|ENVI WSD=%WS%\Drivers
  2. REGI HKCU\AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current\=
  3. FIND Explorer.exe,KILL *explorer
  4. `任务栏图标需要重新设置,开始菜单不需要
  5. PINT %W%\Explorer.exe, TaskBand
  6. `安装输入法
  7. IFEX %WS%\internat.exe,ENVI CTFMON=internat.exe!ENVI CTFMON=CTFMON.EXE
  8. FIND CTFMON.EXE,KILL CTFMON.EXE
  9. InstallIme.exe WinABC.ime 智能ABC
  10. "%ProgramFiles%\freeime\registry.exe" /s
  11. SHEL %WinDir%\explorer.exe
复制代码
即用了shel,进入桌面以后,kill explorer第一次正常,再来一次没桌面,打开任务管理器,可以看到explorer也打开了但是是在system用户中打开的,也即第二次kill时,由system用户的PECMD获得了控制,它将explorer自举到system用户,终止system用户的PECMD,可以看到,Administrator用户中的PECMD将explorer自举了,但很快系统也重启了。

现在有没有办法使切换到管理员后,也能够自由地kill explorer?

为了说清楚还是上几个图:
1、切换到Administrator后,可以看到有两套PECMD和EXPLORER

2、kill explorer一次(或两次后)

3、再kill,黑屏了

回复

使用道具 举报

6041#
 楼主| 发表于 2013-6-12 10:11:15 | 只看该作者
527104427 发表于 2013-6-12 06:10
不对啊,用的是PECMD2012.1.78-130410-12.多窗口线程稳定版_win32_64.sfx,WIN7_X86正常系统。新测试版 ...

HOTK$ VK_F7,F:\doc\桌面\03PE\WinSnap.exe  
改为:
HOTK VK_F7,F:\doc\桌面\03PE\WinSnap.exe
或:
HKEY$ VK_F7,F:\doc\桌面\03PE\WinSnap.exe
是两个方法, 不要混搭哦!!!
回复

使用道具 举报

6042#
发表于 2013-6-12 10:14:51 | 只看该作者
刷新 explorer, 用法问题,和PECMD 无关
在这方面,PECMD一直正常
回复

使用道具 举报

6043#
 楼主| 发表于 2013-6-12 10:26:01 | 只看该作者
hhh333 发表于 2013-6-12 07:37
现在在切换到Administrator上遇到难题,切换后的主要代码为即用了shel,进入桌面以后,kill explorer第一次 ...

可以去掉  SHEL %WinDir%\explorer.exe
或者喂个假的  SHEL  %Myname% WAIT 900000000
去年 和 DVD008 开始搞Win8 时, 就这样的。

这样, 自己再再PECMD.INI 中 用其他用户(Administrator 启动自己的  Explorer.exe。

或者 SHEL %MyName% LOAD %CurDir%\pecmd_main.ini  _main_  2 3 4 //间接执行其它部分(pecmd_main.ini)

pecmd_main.ini  中 再用 其他用户 执行  Explorer.exe。

参见 示例\pecmd_main.ini   (这里没有以其他用户,只是自己启动EXPLORER.EXE)
回复

使用道具 举报

6044#
 楼主| 发表于 2013-6-12 10:36:24 | 只看该作者
hhh333 发表于 2013-6-12 07:37
现在在切换到Administrator上遇到难题,切换后的主要代码为即用了shel,进入桌面以后,kill explorer第一次 ...

》》现在有没有办法使切换到管理员后,也能够自由地kill explorer?

可以:
先 来个假的SHEL, 再KILL

SHEL  %&MyName% WAIT 900000000
KILL  EXPLORER

这样 Explorer.exe 就不会自动启动了。 而是 假的PECMD WAIT 90000
为了方便再次KILL, PECMD.EXE 建一个 链接PECMD_MAIN.EXE (ISO、FAT就 只能再拷贝一份)
SHEL   PECMD_MAIN.EXE   WAIT 900000000

换回Exploer.exe的方法:
SHEL %WinDir%\explorer.exe
KILL  PECMD_MAIN
回复

使用道具 举报

6045#
发表于 2013-6-12 12:25:26 | 只看该作者
mdyblog 发表于 2013-6-12 10:36
》》现在有没有办法使切换到管理员后,也能够自由地kill explorer?

可以:

我们用kill explorer主要是为了刷新桌面,如果PECMD能够提供一个命令,也是可以不用kill explorer的,不知有不有代替的方法。
回复

使用道具 举报

6046#
发表于 2013-6-12 13:10:00 | 只看该作者
唉,又一个不看PECMD说明的
如果只是刷新桌面,PECMD早有此命令
回复

使用道具 举报

6047#
发表于 2013-6-12 13:41:24 | 只看该作者
2012qnmd 发表于 2013-6-12 13:10
唉,又一个不看PECMD说明的
如果只是刷新桌面,PECMD早有此命令

用那个ENVI命令根本达不到kill explorer的效果,通知区图标也不能更新,玻璃效果也出不来。
回复

使用道具 举报

6048#
 楼主| 发表于 2013-6-12 13:49:09 | 只看该作者
hhh333 发表于 2013-6-12 13:41
用那个ENVI命令根本达不到kill explorer的效果,通知区图标也不能更新,玻璃效果也出不来。

你说的 那不是 刷新桌面了。
大概相当于  ·正常系统的 注销

还真只有KILL  explorer
回复

使用道具 举报

6049#
发表于 2013-6-12 14:51:16 | 只看该作者
mdyblog 发表于 2013-6-12 13:49
你说的 那不是 刷新桌面了。
大概相当于  ·正常系统的 注销。

是的,现在用这个的目的就是譬如安装了声卡,喇叭图标没有、更换了壁纸但任务栏透明效果未更新等,好象目前还没有命令达成这样的效果。
回到前面的主题,我们并不是说要kill explorer不执行,而是要在切换用户后,同样的代码也产生不切换用户时一样的效果,譬如声卡驱动,无论是什么用户执行,代码是不变的,最后一句是kill explorer,不切换用户时可以反复kill explorer的。简单地说就是与用户无关。

实际上就是哪个PECMD获得控制的问题:
1、系统正常启动时,默认以SYSTEM用户登录,已经用MAIN LOAD驻留了一份PECMD--这是第一个SYSTEM的PECMD
2、切换用户时又用MAIN LOAD驻留了一份PECMD--即是第二个Administrator的PECMD。
现在要达到在第二个用户中如果有kill explorer则就由第二份PECMD自动将explorer自举到当前的第二个用户就OK了,这个应该是可以做到的。

我在切换到administrator时,反复进行kill explorer,发现有时可以进行3次不黑屏,有时进行2次不黑,有时1次,感觉到比较混乱,可能是两个PECMD争夺控制引起。不太懂这个PECMD内部的工作原理,但我想如果解决了两个PECMD的优先级的问题就可以了。
回复

使用道具 举报

6050#
发表于 2013-6-12 15:19:20 | 只看该作者
k  explorer ,这个问题和PECMD无关

Administrator登录,有些问题,那是PE本身制作问题,和PECMD无关

回复

使用道具 举报

6051#
发表于 2013-6-12 15:42:15 | 只看该作者
2012qnmd 发表于 2013-6-12 15:19
k  explorer ,这个问题和PECMD无关

Administrator登录,有些问题,那是PE本身制作问题,和PECMD无关

你要说无关,我也没办法,不知kill explorer后是谁在后台将explorer自举到系统中的。
回复

使用道具 举报

6052#
 楼主| 发表于 2013-6-12 15:43:01 | 只看该作者
本帖最后由 mdyblog 于 2013-6-12 15:45 编辑
hhh333 发表于 2013-6-12 14:51
是的,现在用这个的目的就是譬如安装了声卡,喇叭图标没有、更换了壁纸但任务栏透明效果未更新等,好象目 ...


切换 Admin以后。 就要禁用  SHEL  了。

不要2个 PECMD MAIN

1)  SHEL   PECMD.EXE  WAIT 90000000   //禁用 SHEL
2)    切换Admin ,
3)  LOAD 新的配置文件, 不要 MAIN 了。
    里面 LOOP 循环EXEC =EXPLORER.EXE  , 可达到同样的效果。

-----------------或者:
1) 启动时不要MAIN 了,直接 LOAD。 这要改注册表。
2)    切换 Admin。
3) 以Administrator 身份, MAIN  新的配置文件。
这样 kill explor 后, 重启的 还是Administrator 的Explorer.EXE



==========
2个 MAIN ,整个逻辑都乱了。
很多功能都不能正常工作。
回复

使用道具 举报

6053#
 楼主| 发表于 2013-6-12 15:48:47 | 只看该作者
hhh333 发表于 2013-6-12 15:42
你要说无关,我也没办法,不知kill explorer后是谁在后台将explorer自举到系统中的。

》》不知kill explorer后是谁在后台将explorer自举到系统中的。
多个  MAIN, 那个MAIN 都有可能。  
不要多个MAIN。 有逻辑问题。 破坏 PECMD的框架逻辑。
回复

使用道具 举报

6054#
发表于 2013-6-12 15:57:22 | 只看该作者
mdyblog 发表于 2013-6-12 15:48
》》不知kill explorer后是谁在后台将explorer自举到系统中的。
多个  MAIN, 那个MAIN 都有可能。  
不 ...

LOGS * X.LOG
HKEY$ Ctrl + #0xC0,%CurDir%\WinSnap.exe

LOG文件正常,但按热键Ctrl + ~还是没反应
回复

使用道具 举报

6055#
发表于 2013-6-12 16:00:20 | 只看该作者
本帖最后由 hhh333 于 2013-6-12 16:01 编辑
mdyblog 发表于 2013-6-12 15:43
切换 Admin以后。 就要禁用  SHEL  了。

不要2个 PECMD MAIN

说第一种方式,先MAIN,当然用EXEC=EXPLORER.EXE  是可行了,也到桌面了,但这个时候我要装声卡,我总不能在最后加一个find explorer.exe,!exec explorer吧。
第二种方式,我并一定是启动后马上进Admin的,那么在没有切换前碰到脚本中的kill怎么办?

是不是干脆将所有的kill explorer后都来一段代码:
  1. KILL EXPLORER
  2. CALL NT6_LDEXPLORER
  3. _SUB NT6_LDEXPLORER
  4.         WAIT 3000
  5.         FIND EXPLORER.EXE,EXIT _SUB
  6.         EXEC %Windir%\SYSTEM32\EXPLORER.EXE
  7.         CALL NT6_LDEXPLORER
  8. _END

复制代码
回复

使用道具 举报

6056#
 楼主| 发表于 2013-6-12 16:06:24 | 只看该作者
527104427 发表于 2013-6-12 15:57
LOGS * X.LOG
HKEY$ Ctrl + #0xC0,%CurDir%\WinSnap.exe

HKEY$ 的话, 本程序不能退出。
可以在后面加WAIT 9000000
此时 由 自己 来响应执行的,退出自然,没有谁来响应执行了。
HKEY$ Ctrl + #0xC0,%CurDir%\WinSnap.exe
WAIT  90000000
EXIT FILE

用HOTK  就可以 退出。 此时 交由 系统的代理程序来响应执行的,
HOTK   Ctrl + #0xC0,%CurDir%\WinSnap.exe
EXIT FILE
回复

使用道具 举报

6057#
发表于 2013-6-12 16:07:16 | 只看该作者
mdyblog 发表于 2013-6-12 16:06
HKEY$ 的话, 本程序不能退出。
可以在后面加WAIT 9000000
此时 由 自己 来响应执行的,退出自然,没有 ...

多谢,搞定
回复

使用道具 举报

6058#
 楼主| 发表于 2013-6-12 16:12:38 | 只看该作者
hhh333 发表于 2013-6-12 16:00
说第一种方式,先MAIN,当然用EXEC=EXPLORER.EXE  是可行了,也到桌面了,但这个时候我要装声卡,我总不能 ...

>>说第一种方式,先MAIN,当然用EXEC=EXPLORER.EXE  是可行了,也到桌面了,但这个时候我要装声卡,我总不能在最后加一个find explorer.exe,!exec explorer吧。
不用。
PECMD.EXE 拷贝一份为PECMD_ADMN.EXE
1) 切换后 :
PECMD_ADMIN     LOOP 1,  EXEC =EXPLORER.EXE  
2) 需要时直接 KILL EXPLORER.EXE  就可以了。 和以前一样。
EXPLORER.EXE   会被 PECMD_ADMIN  重新启动的。

回复

使用道具 举报

6059#
发表于 2013-6-12 16:39:27 | 只看该作者
mdyblog 发表于 2013-6-12 16:12
>>说第一种方式,先MAIN,当然用EXEC=EXPLORER.EXE  是可行了,也到桌面了,但这个时候我要装声卡,我总不 ...

你的意思是两种方式都要将PECMD复制一份?
回复

使用道具 举报

6060#
发表于 2013-6-12 17:31:33 | 只看该作者
本帖最后由 hhh333 于 2013-6-12 17:44 编辑
mdyblog 发表于 2013-6-12 16:12
>>说第一种方式,先MAIN,当然用EXEC=EXPLORER.EXE  是可行了,也到桌面了,但这个时候我要装声卡,我总不 ...


确实没有弄懂,我把我的代码弄上来吧,这是当前SYSTEM用户进入切换的脚本:
1、SU.INI的内容
  1. ////  切换到Administrator ////

  2. //加入工作组WORKGROUP, startnet.exe是PENetwork自带的, 需要一点网络支持。
  3. //必须首先加入工作组,否则Administrator不能登录
  4. TIPS  切换到管理员,设置工作组......,,1,#1
  5. EXEC != startnet.exe -wg WROKGROUP

  6. //自动以Administrator用户登录
  7. TIPS  切换到管理员,设置自动登录......,,1,#1
  8. REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon=#1
  9. REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName=LsaSetupDomain\Administrator
  10. REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword=""

  11. //登陆界面不需要显示GUEST用户
  12. REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\Guest=#0

  13. TIPS  切换到管理员,启动服务......,,1,#1
  14. EXEC !=net start gpsvc
  15. EXEC !=net start ProfSvc
  16. EXEC !=net start seclogon
  17. WAIT 500

  18. //退出现有用户,自动以Administrator登录,登录后,会自动执行admin.ini
  19. TIPS  切换到管理员,断开当前用户......,,1,#1
  20. EXEC !%SystemRoot%\System32\tsdiscon.exe
复制代码
2、在USER\DEFAULT\NTUSER.DAT的RUN注册表项中有INIT=PECMD.EXE MAIN X:\windows\System32\admin.ini。(好象只有放用户注册表中,进入Administrator后才能得到执行)

3、admin.ini脚本:
  1. _SUB NT6_DispInputIcon
  2.         WAIT 3000
  3.         FIND %CTFMON%,EXIT _SUB
  4.         EXEC %WS%\%CTFMON%
  5.         CALL NT6_DispInputIcon
  6. _END

  7. _SUB NT6_ENDPROG
  8.         `删除desktop.ini
  9.         FILE %public%\desktop\desktop.ini
  10.         FILE %desktop%\desktop.ini
  11.         FILE %Programs%\desktop.ini
  12.         SEND #116
  13.         `显示输入法图标(Win8-32似乎不需要)
  14.         FIND $%BootOS%=W7,CALL NT6_DispInputIcon
  15.         IFEX %W%\sysWOW64\,CALL NT6_DispInputIcon
  16. _END


  17. //============主程序==================//
  18. `LOGS C:\ADMIN.LOG
  19. TEAM ENVI W=%WinDir%|ENVI WS=%W%\SYSTEM32|ENVI WSD=%WS%\Drivers
  20. REGI HKCU\AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current\=
  21. `去掉psexec.exe首次运行弹出的窗口,修复登录界面卡死问题. (不使用PsExec, IE下载才能使用)
  22. `REGI HKCU\Software\Sysinternals\PsExec\EulaAccepted=#1

  23. FIND Explorer.exe,KILL *explorer

  24. `任务栏图标需要重新设置,开始菜单不需要
  25. PINT %W%\Explorer.exe, TaskBand

  26. `安装输入法
  27. IFEX %WS%\internat.exe,ENVI CTFMON=internat.exe!ENVI CTFMON=CTFMON.EXE
  28. FIND CTFMON.EXE,KILL CTFMON.EXE
  29. EXEC InstallIme.exe WinABC.ime 智能ABC
  30. EXEC %ProgramFiles%\freeime\registry.exe /s

  31. SHEL %WinDir%\explorer.exe

  32. `收尾工作
  33. CALL NT6_ENDPROG
  34. `SEND 0x11_,0x12_,0x2E_,0x2E^,0x12^,0x11^
  35. `LOGS
复制代码
系统中有两个MAIN有两个SHEL,似乎还好使一点,其他几种情况,一旦脚本中出现kill explorer就黑屏了。
不知按LZ的方法怎么改以上脚本。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-24 19:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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