无忧启动论坛

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

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

    [复制链接]
1201#
 楼主| 发表于 2012-3-14 12:39:14 | 只看该作者
原帖由 dvd008 于 2012-3-14 12:30 发表
消息映射。
左键按下时 执行 KILL \
关掉子窗口

但是,我这里无效.....



需要 WM_消息.wcs 放到 这个目录中。
或者 对应行 考到 本WCS文件中。
回复

使用道具 举报

1202#
 楼主| 发表于 2012-3-14 12:42:41 | 只看该作者
原帖由 2012abc19701 于 2012-3-14 12:36 发表
[更新258#1084:PECMD-32.2012.1.多窗口多线程-U68.1裸机系统2.1.1+18M酷MiniPE


PECMD-32.2012.1.多窗口多线程-U68.1(已升级) +裸机系统2.1.1 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试*** ...



新版
WIN8任务栏.wcs:
IMPORT  WM_消息.wcs  //需要WM_消息.wcs 考到本文件目录!!!
SCRN ScrW,ScrH0
//SCRN ScrW,ScrH
ENVI B_TRIM=50    //XP下测试任务栏挡住了
CALC #ScrH=%ScrH0% - %B_TRIM%
ENVI bStart=0

TEAM ENVI WinL=80| ENVI WinH=50
CALC #WinW=%ScrW% - %WinL%
CALC #WinTOP=%ScrH% - %WinH%


_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-,,-top -forcenomin  -disaltmv
//   LABE -center ,L0T0W200H20,固定窗口,,0x00#0xFF0000,
    ITEM ,L10T10W60H20,开始菜单, CALL OnStart
    ITEM ,L80T10W40H20,关闭,   KILL \
    ITEM ,L130T10W60H20,记事本,
    ITEM ,L200T10W60H20,计算器,
_END
TEAM ENVI startH=90|  ENVI startW=190
CALC #startL=%WinL%
CALC #startTOP=%ScrH% - %startH% - %WinH%
_SUB OnStart
    ENVI &&s=%bStart%
    FIND $0=%&s%, TEAM ENVI bStart=1|  THREAD  call start
    FIND $1=%&s%, TEAM ENVI bStart=0|  KILL  \start    //乒乓键  
_END
_SUB start, L%startL%T%startTOP%W%startW%H%startH%,start,,,-,,-top -forcenomin  -disaltmv
     ENVI @start.MSG=%&WM_LBUTTONDOWN%:TEAM ENVI bStart=0|  KILL \   //点一下就消失,菜单一般应该这样
    ITEM ,L10T10W60H20,开始菜单,  TEAM ENVI bStart=0|  KILL \
_END

CALL WinMenu
效果:



[ 本帖最后由 2012abc19701 于 2012-3-14 13:03 编辑 ]
回复

使用道具 举报

1203#
 楼主| 发表于 2012-3-14 13:12:51 | 只看该作者

回复 #1218 dvd008 的帖子

刷新桌面可试试:
TEAM  SEND 0x74_|  SEND 0x74^
回复

使用道具 举报

1204#
发表于 2012-3-14 14:47:33 | 只看该作者
刷新有效! 不过,我还不知道哪个起作用了
开始使用一个无效

后来在几个地方,KILL,WAIT 刷新,反复几次
到桌面后,有图标了


     WAIT 500
     SHEL %SystemRoot%\explorer.exe
     WAIT 5000
     KILL EXPLORER.EXE
WAIT 5000
       TEAM  SEND 0x74_|  SEND 0x74^
SCRN ScrW,ScrH0
//SCRN ScrW,ScrH
ENVI B_TRIM=50    //XP下测试任务栏挡住了
CALC #ScrH=%ScrH0% - %B_TRIM%
TEAM ENVI WinL=80| ENVI WinH=50
CALC #WinW=%ScrW% - %WinL%
CALC #WinTOP=%ScrH% - %WinH%

_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-  
//   LABE -center ,L0T0W200H20,固定窗口,,0x00#0xFF0000,
    ITEM ,L10T10W40H20,关闭,  KILL \
    ITEM ,L60T10W60H20,开始菜单, call start
    ITEM ,L130T10W60H20,记事本,  EXEC =notepad.exe
    ITEM ,L200T10W60H20,计算器,  EXEC =calc.exe
_END
TEAM ENVI startH=90|  ENVI startW=190
CALC #startL=%WinL%
CALC #startTOP=%ScrH% - %startH% - %WinH%
_SUB start, L%startL%T%startTOP%W%startW%H%startH%,,,,-
     ENVI @start.MSG=%&WM_LBUTTONDOWN%:KILL \   //点一下就消失,一般这样
    ITEM ,L165T1W18H15,x,  KILL \
    ITEM ,L10T10W60H20,程序,  // KILL \
    ITEM ,L10T35W60H20,CMD窗口,  EXEC =cmd.exe
    ITEM ,L10T60W60H20,explorer,     SHEL %SystemRoot%\explorer.exe
//    ITEM ,L130T10W60H20,记事本,  EXEC =notepad.exe
//    ITEM ,L200T10W60H20,计算器,  EXEC =calc.exe
_END

CALL WinMenu
WAIT 5000
       TEAM  SEND 0x74_|  SEND 0x74^
回复

使用道具 举报

1205#
 楼主| 发表于 2012-3-14 15:02:29 | 只看该作者

//IMPORT  WM_消息.wcs  //需要WM_消息.wcs 拷到本文件目录!!!
SET  WM_LBUTTONDOWN                  =0x0201
SCRN ScrW,ScrH0
//SCRN ScrW,ScrH
ENVI B_TRIM=50    //XP下测试任务栏挡住了
CALC #ScrH=%ScrH0% - %B_TRIM%
ENVI &&bStart=0
TEAM ENVI WinL=80| ENVI WinH=50
CALC #WinW=%ScrW% - %WinL%
CALC #WinTOP=%ScrH% - %WinH%

_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-,,-top -forcenomin -disaltmv
//   LABE -center ,L0T0W200H20,固定窗口,,0x00#0xFF0000,
    ITEM ,L10T10W60H20,开始菜单, CALL OnStart
    ITEM ,L80T10W40H20,关闭,   TEAM  KILL  \start| KILL \
    ITEM ,L130T10W60H20,记事本, EXEC NOTEPAD
    ITEM ,L200T10W60H20,计算器,  EXEC  CALC
     ENVI @WinMenu.MSG=%&WM_LBUTTONDOWN%:TEAM ENVI &bStart=0|  KILL \start   //点一下就消失,子菜单一般应该这样
_END
TEAM ENVI startH=90|  ENVI startW=190
CALC #startL=%WinL%
CALC #startTOP=%ScrH% - %startH% - %WinH%
_SUB OnStart
    ENVI &&s=%&bStart%
    FIND $0=%&s%, TEAM ENVI &bStart=1|  call @*start
    FIND $1=%&s%, TEAM ENVI &bStart=0|  KILL  \start   //乒乓键
_END
_SUB start, L%startL%T%startTOP%W%startW%H%startH%,start,,,-,,-top -forcenomin -disaltmv
     ENVI @start.MSG=%&WM_LBUTTONDOWN%:TEAM ENVI &bStart=0|  KILL \   //点一下就消失,子菜单一般应该这样
    ITEM ,L10T10W60H20,开始菜单,  TEAM ENVI &bStart=0|  KILL \
_END

CALL WinMenu



回复

使用道具 举报

1206#
发表于 2012-3-14 15:24:03 | 只看该作者
上面这个OK了, 左键

...............
回复

使用道具 举报

1207#
 楼主| 发表于 2012-3-14 16:44:59 | 只看该作者

回复 #1228 dvd008 的帖子

新版将增加 专业的 刷新桌面命令:

Envi @@DeskTopFresh=1
回复

使用道具 举报

1208#
 楼主| 发表于 2012-3-14 16:59:04 | 只看该作者

回复 #1218 dvd008 的帖子

shutdown.exe -s -t 00
这个是系统的关机, 重启呢?

A:
是系统的关机。
回复

使用道具 举报

1209#
 楼主| 发表于 2012-3-14 17:03:14 | 只看该作者

回复 #1214 diannao338 的帖子

下一版支持。
回复

使用道具 举报

1210#
 楼主| 发表于 2012-3-14 18:02:23 | 只看该作者

[更新259#1084:PECMD-32.2012.1.多窗口多线程-U68.2

[更新259#1084:PECMD-32.2012.1.多窗口多线程-U68.2裸机系统2.1.1+18M酷MiniPE


PECMD-32.2012.1.多窗口多线程-U68.2(已升级) +裸机系统2.1.1 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载:
http://mdyblog.blog.163.com/blog/static/106150119201202591855298/

259#1090楼 U68_2   格式化磁盘, 桌面刷新
│※刷新桌面: ENIVI @@DeskTopFresh=1   
TEXT 支持 结尾*




┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │格式│DFMT <盘符字母>,<磁盘格式>[,磁盘卷标][,快格磁盘][,单元大小][,压缩]                          ┃
┃    │格式│DFMT* FORMAT程序参数                                                                        ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │功能│调用FORMAT.COM 格式化磁盘                                                                   ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │参数│■盘符字母: 指定将被格式化的磁盘卷;                                                        ┃
┃    │    │■磁盘格式: 支持 FAT、FAT32、NTFS 三种格式,设置时将按参数格式化,省略时不对磁盘作格式化;  ┃
┃    │    │■磁盘卷标: 格式化磁盘时设置的卷标;                                                        ┃
┃DFMT│    │■快格磁盘: 数值,非0表示快速格式化,0表示默认格式化,省略时该参数时表示快速格式化;        ┃
┃    │    │■单元大小: 数值,省略或设置为0表示默认,非0值为512*(2^n),即512、1024、2048、...、65536。  ┃
┃    │    │■压缩:     数值,省略或设置为0表示不压缩,1表示压缩。只是用于NTFS。                        ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │示例│DFMT E:,FAT32 或 DFMT R:,NTFS,RamDisk,1                                                     ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │备注│※该命令提供支持格式化硬盘、虚拟硬盘的功能,不支持格式化软盘;                              ┃
┃    │    │※单元大小建议采用默认值0或省略设置单元大小;                                               ┃
┃    │    │※该命令采用静默方式执行,不提供任何显示信息,操作时要格外小心。格式为完整格式。            ┃
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫


[ 本帖最后由 2012abc19701 于 2012-3-14 18:25 编辑 ]
回复

使用道具 举报

1211#
发表于 2012-3-14 18:21:43 | 只看该作者
地址未更新!
仍然是-1
回复

使用道具 举报

1212#
 楼主| 发表于 2012-3-14 18:26:04 | 只看该作者

回复 #1233 dvd008 的帖子

OK
近来。 博客更新等老出问题。
回复

使用道具 举报

1213#
发表于 2012-3-14 18:35:31 | 只看该作者
下了.
看见新版的:隐藏分区的算法

原来的需要改变吗?
回复

使用道具 举报

1214#
发表于 2012-3-14 18:40:51 | 只看该作者
原来的:

// 带提示HIDEPART_GUI
// 参数1 : 无或1 为隐藏,否则为反隐藏
_SUB  HIDEPART_GUI
   FIND  $=%PHYDRV%,!!  TEAM  MESS 没有指定磁盘   @#参数错误OK *5000| EXIT _SUB
   FIND  $=%parth%,!!   TEAM  MESS 没有指定分区号 @#参数错误OK *5000| EXIT _SUB
   CALL  HIDEPART %PHYDRV%#%parth%   %1
_END
//隐藏分区的算法
//    1  0x16   0     0   137363456    0      137363456
// 参数1 : 磁盘#分区号   如0#1
// 参数2 : 无或1 为隐藏,否则为反隐藏
_SUB  HIDEPART
   SET  &dev=%1
   SET  &func=%2
   FIND $%2=, SET func=1  
   PART -phy list part %&dev% ,&data
   MSTR &type=<2>%&data%  //获取 type
   FIND $%&func%=1,   CALC  &ntype=%&type% | 0x10  //隐藏
   FIND $%&func%=1,!  CALC  &ntype=%&type% & 0xEF  //反隐藏
//MESS [%&type%] [PART -super %&dev%  %&ntype%]@调试信息#OK
   PART -super %&dev%  %&ntype%  //设置新的类型
   
_END
回复

使用道具 举报

1215#
发表于 2012-3-14 18:48:30 | 只看该作者
新的:ENVI  &&dev=%1,ENVI  &&func=%2
旧的:SET  &dev=%1, SET  &func=%2

MSTR &type   ,MSTR &&type
&&ntype  ,&ntype

这里SET和ENVI 都可以吗?
& 一个和2个&&,  有区别吗?

好像就是算法,多了空分区,如果发现空分区
我原来设置了提示,没有分区号,不能执行.

新版的空分区,是指:没有分区号吗?


//隐藏分区的算法


//    1  0x16   0     0   137363456    0      137363456
// 参数1 : 磁盘#分区号   如0#1
// 参数2 : 无或1 为隐藏,否则为反隐藏
_SUB  HIDEPART
   ENVI  &&dev=%1
   ENVI  &&func=%2
   FIND $%2=, SET func=1  
   PART list -phy part %&dev% ,&data
   MSTR &&type=<2>%&data%   //获取 type
   FIND $=%&type%, EXIT _SUB  //本来为空分区
   FIND $%&func%=1,   CALC  &&ntype=%&type% | 0x10  //隐藏
   FIND $%&func%=1,!  CALC  &&ntype=%&type% & 0xEF  //反隐藏
   IFEX $0=%&type%, EXIT _SUB //不能变成空分区
   PART -super %&dev%  %&ntype%  //设置新的类型
_END

[ 本帖最后由 dvd008 于 2012-3-14 18:51 编辑 ]
回复

使用道具 举报

1216#
发表于 2012-3-14 19:08:11 | 只看该作者
这个地方多了个"I"

ENIVI @@DeskTopFresh=1 无效
ENVI @@DeskTopFresh=1 有效

[ 本帖最后由 dvd008 于 2012-3-14 19:09 编辑 ]

未命名.JPG (132.15 KB, 下载次数: 115)

未命名.JPG
回复

使用道具 举报

1217#
 楼主| 发表于 2012-3-14 19:09:31 | 只看该作者

回复 #1235 dvd008 的帖子

改吧。                            
回复

使用道具 举报

1218#
 楼主| 发表于 2012-3-14 19:21:04 | 只看该作者
原帖由 dvd008 于 2012-3-14 18:48 发表
新的:ENVI  &&dev=%1,ENVI  &&func=%2
旧的:SET  &dev=%1, SET  &func=%2

MSTR &type   ,MSTR &&type
&&ntype  ,&ntype

这里SET和ENVI 都可以吗?
& 一个和2个&&,  有区别吗?

好像就是算法,多了空分 ...






Q1; 新的:ENVI  &&dev=%1,ENVI  &&func=%2
旧的:SET  &dev=%1, SET  &func=%2

MSTR &type   ,MSTR &&type
&&ntype  ,&ntype

这里SET和ENVI 都可以吗?
& 一个和2个&&,  有区别吗?

A:

1个& 表示PE变量。
2个&&  表示PE变量。并且是本级(函数)变量。 这样不影响上级 (调用者)同名变量。不必担心同名变量干扰。
     && 只在赋值时有此含义,(ENVI SET MSTR LSTR EXEC 等)

SET 暗含了一个&
SET  A 等价于 ENVI &A
SET  &A 等价于 ENVI &&A



2: 好像就是算法,多了空分区,如果发现空分区
我原来设置了提示,没有分区号,不能执行.

新版的空分区,是指:没有分区号吗?

A: 空分区指这里本来就没有分区或已经被删除。 此时分区类型为0x00


//隐藏分区的算法


//    1  0x16   0     0   137363456    0      137363456
// 参数1 : 磁盘#分区号   如0#1
// 参数2 : 无或1 为隐藏,否则为反隐藏
_SUB  HIDEPART
   ENVI  &&dev=%1
   ENVI  &&func=%2
   FIND $%2=, SET func=1  
   PART list -phy part %&dev% ,&data
   MSTR &&type=<2>%&data%   //获取 type
   FIND $=%&type%, EXIT _SUB  //本来为空分区
   FIND $%&func%=1,   CALC  &&ntype=%&type% | 0x10  //隐藏
   FIND $%&func%=1,!  CALC  &&ntype=%&type% & 0xEF  //反隐藏
   IFEX $0=%&type%, EXIT _SUB //不能变成空分区
   PART -super %&dev%  %&ntype%  //设置新的类型
_END



回复

使用道具 举报

1219#
发表于 2012-3-14 19:37:32 | 只看该作者
已经改为新算法..............
回复

使用道具 举报

1220#
发表于 2012-3-14 22:10:50 | 只看该作者
隐藏分区的算法

新的有问题了!

1分区,0X07, 隐藏无效
2分区,0X07 ,隐藏,变0X10,再显示,变0X00

旧版(前面有代码) SET那个
就正常
回复

使用道具 举报

1221#
 楼主| 发表于 2012-3-14 23:29:21 | 只看该作者
原帖由 dvd008 于 2012-3-14 22:10 发表
隐藏分区的算法

新的有问题了!

1分区,0X07, 隐藏无效
2分区,0X07 ,隐藏,变0X10,再显示,变0X00

旧版(前面有代码) SET那个
就正常



-phy 放错位置了。
改:

// 参数1 : 磁盘#分区号   如0#1
// 参数2 : 无或1 为隐藏,否则为反隐藏
_SUB  HIDEPART
   ENVI &&dev=%1
   ENVI &&func=%2
   FIND $=%2, SET func=1  
   PART -phy list part %&dev% ,&&data
   MSTR &&type=<2>%&data%   //获取 type
   FIND $=%&type%, EXIT _SUB  //本来为空分区
   FIND $%&func%=1,   CALC  &&ntype=%&type% | 0x10  //隐藏
   FIND $%&func%=1,!  CALC  &&ntype=%&type% & 0xEF  //反隐藏
   IFEX $0=%&ntype%, EXIT _SUB //不能变成空分区
   PART -super %&dev%  %&ntype%  //设置新的类型
_END


[ 本帖最后由 2012abc19701 于 2012-3-15 00:05 编辑 ]
回复

使用道具 举报

1222#
发表于 2012-3-15 07:10:32 | 只看该作者
-phy 改了,还有这两个地方,哪个是对的?
FIND $=%2  FIND $%2=
IFEX $0=%&ntype%   IFEX $0=%&type% 的ntype 和type



[ 本帖最后由 dvd008 于 2012-3-15 07:13 编辑 ]

未命名.JPG (92.98 KB, 下载次数: 107)

未命名.JPG
回复

使用道具 举报

1223#
发表于 2012-3-15 07:56:46 | 只看该作者
SCRN ScrW,ScrH
find $%ScrW%>800,mess 大于800宽%ScrW%高%ScrH%!mess 小于800宽%ScrW%高%ScrH%
这判断哪里出问题了?明明大于的,结果是小于


TEXT ┎──────────────┒#0xFFC0CB L50 T100 R1000 B700 $50
TEXT ┃#0xFFC0CB L50 T140 R200 B700 $50 *
TEXT ┃#0xFFC0CB L50 T180 R200 B700 $50 *
TEXT ┃#0xFFC0CB L50 T220 R200 B700 $50 *
TEXT ┃#0xFFC0CB L50 T260 R200 B700 $50 *
TEXT ┃#0xFFC0CB L50 T300 R200 B700 $50 *
TEXT ┃#0xFFC0CB L50 T340 R200 B700 $50 *
TEXT      O V E R#0xEE82EE L90 T160 R770 B700 $200 *
TEXT ┃#0xFFC0CB L665 T140 R1000 B700 $50 *
TEXT ┃#0xFFC0CB L665 T180 R1000 B700 $50 *
TEXT ┃#0xFFC0CB L665 T220 R1000 B700 $50 *
TEXT ┃#0xFFC0CB L665 T260 R1000 B700 $50 *
TEXT ┃#0xFFC0CB L665 T300 R1000 B700 $50 *
TEXT ┃#0xFFC0CB L665 T340 R1000 B700 $50 *
TEXT ┖──────────────┚#0xFFC0CB L50 T380 R1000 B700 $50 *

这个1024X768下kill explorer.exe运行应该是这样的



1183楼的图标问题还没解决么?

[ 本帖最后由 diannao338 于 2012-3-15 07:59 编辑 ]
回复

使用道具 举报

1224#
发表于 2012-3-15 08:10:17 | 只看该作者
原帖由 diannao338 于 2012-3-15 07:56 发表
SCRN ScrW,ScrH
find $%ScrW%>800,mess 大于800宽%ScrW%高%ScrH%!mess 小于800宽%ScrW%高%ScrH%
这判断哪里出问题了?明明大于的,结果是小于


TEXT ┎──────────────┒#0xFFC0CB L50 T100 R ...

把FIND改為IFEX

IFEX
■數值變數      $%數值變數名%<比較符>數值或數值變數名
FIND
■環境變數    $%環境變數名%<比較符>環境變數值,環境變數的比較是不區分大小寫的。
回复

使用道具 举报

1225#
 楼主| 发表于 2012-3-15 08:40:28 | 只看该作者

回复 #1246 bahmo 的帖子

对头。
FIND 是字符串比较, 如:  "2"  > "100000"  //第一次比较2和1,因为'2' > '1' 直接返回大于。
IFEX 数值比较,   如:   2   <  100000   //这个地球人都知道


[ 本帖最后由 2012abc19701 于 2012-3-15 08:45 编辑 ]
回复

使用道具 举报

1226#
 楼主| 发表于 2012-3-15 08:42:52 | 只看该作者

回复 #1244 dvd008 的帖子

用:
FIND $=%2             //复杂环境,更可靠点。常量尽量放到前面,旧版设计规范存在隐含漏洞。
IFEX $0=%&ntype%

[ 本帖最后由 2012abc19701 于 2012-3-15 09:49 编辑 ]
回复

使用道具 举报

1227#
发表于 2012-3-15 09:17:49 | 只看该作者
这回OK了....................
回复

使用道具 举报

1228#
 楼主| 发表于 2012-3-15 09:51:39 | 只看该作者
你的图标太大了。



如果自动缩放,很影响效率。
回复

使用道具 举报

1229#
发表于 2012-3-15 09:59:21 | 只看该作者
这个图标如何加入的?
回复

使用道具 举报

1230#
 楼主| 发表于 2012-3-15 10:46:47 | 只看该作者
原帖由 dvd008 于 2012-3-15 09:59 发表
这个图标如何加入的?






_SUB WIN1,W200H200
    ITEM  B,L10T10W150H40,资源管理器,EXEC explorer.exe,%SystemRoot%\explorer.exe  
    ITEM  B,L10T90W150H40,资源管理器,EXEC explorer.exe,%SystemRoot%\explorer.exe  
_END
CALL @WIN1


│格式│ITEM [-right] [-left]
  • <按钮名称>,<按钮形状>,[按钮标题],[按钮事件],[按钮图标],[状态]     

    ■按钮图标: 在按钮上显示的图标,格式为<图标文件名#ID>,
    图标文件名可以是 ICO,EXE,DLL
  • 回复

    使用道具 举报

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

    本版积分规则

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

    闽公网安备 35020302032614号

    GMT+8, 2024-6-3 12:48

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

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