无忧启动论坛

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

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

    [复制链接]
17431#
 楼主| 发表于 2022-7-21 18:44:01 | 只看该作者
泮安宁 发表于 2022-7-21 17:46
如果有多个按钮

ENVI^ EnviMode=1

  1. ENVI^ EnviMode=1
  2. SET  ::WM_KEYDOWN=0x0100
  3. SET  ::WM_KEYUP=0x0101
  4. SET  ::WM_SYSKEYDOWN=0x0104
  5. SET  ::WM_SYSKEYUP=0x0105
  6. SET  ::VK_ALT=0x12

  7. Windows1
  8. _SUB Windows1,W360H440,WinCMD功能演示,,,20,,-altmv
  9.       ITEM item1,l50t100w200h50,ABC
  10.       ITEM item2,l50t160w200h50,ABC
  11.       SET &SubCtr=item1 item2
  12.       SET &bAlt=1  
  13.       //临时禁用控件,响应AltMove
  14.       TIME -t:1 ,0,CALL * RegAltMove
  15. _END

  16. _SUB  ForAltMove
  17.     SET bAlt=%1
  18.     FORX * %&SubCtr%,&&Ctr, ENVI @%&Ctr%.Enable=%1
  19. _END

  20. _SUB  RegAltMove *
  21.     ENVI @this.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  22.     ENVI @this.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  23.     ENVI @this.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
  24.     FORX * %&SubCtr%,&&Ctr,
  25.     {*  ^ENVI @%&Ctr%.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  26.         ^ENVI @%&Ctr%.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  27.     }
  28. _END
复制代码
回复

使用道具 举报

17432#
发表于 2022-7-21 19:04:45 | 只看该作者
回复

使用道具 举报

17433#
 楼主| 发表于 2022-7-21 19:27:04 | 只看该作者

  1. ENVI^ EnviMode=1
  2. SET  ::WM_KEYDOWN=0x0100
  3. SET  ::WM_KEYUP=0x0101
  4. SET  ::WM_SYSKEYDOWN=0x0104
  5. SET  ::WM_SYSKEYUP=0x0105
  6. SET  ::VK_ALT=0x12
  7. CALC #&&iALT=%&VK_ALT% + 1

  8. Windows1
  9. _SUB Windows1,W360H440,WinCMD功能演示,,,20,,-altmv
  10.       ITEM item1,l50t100w200h50,ABC
  11.       ITEM item2,l50t160w200h50,ABC
  12.       SET &SubCtr=item1 item2
  13.       SET &V0=
  14.       SET &bAlt=1  
  15.       //临时禁用控件,响应AltMove
  16.       TIME -t:1 ,0,CALL * RegAltMove
  17. _END

  18. _SUB  ForAltMove
  19.     @IFEX #%~1=%bAlt%, EXIT
  20.     WAIT -scanall &&V
  21.     FIND *&V0=&V, EXIT _SUB
  22.     SET-copy V0=&V
  23.     MSTR &&VAlt=<%iALT%>%&V%
  24.     CALC #&VAlt=%VAlt% & 0x80
  25.     IFEX #0=%~1,  IFEX #%VAlt%<>0x80, EXIT
  26.     IFEX #1=%~1, IFEX #%VAlt%=0x80,   EXIT
  27.     SET bAlt=%1
  28.     FORX * %&SubCtr%,&&Ctr, ENVI @%&Ctr%.Enable=%1
  29. _END

  30. _SUB  RegAltMove *
  31.     ENVI @this.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  32.     ENVI @this.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  33.     ENVI @this.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
  34.     FORX * %&SubCtr%,&&Ctr,
  35.     {*  ^ENVI @%&Ctr%.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  36.         ^ENVI @%&Ctr%.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  37.     }
  38. _END
复制代码
回复

使用道具 举报

17434#
发表于 2022-7-21 19:47:40 | 只看该作者
回复

使用道具 举报

17435#
 楼主| 发表于 2022-7-21 23:36:39 | 只看该作者

  1. ENVI^ EnviMode=1
  2. SET  ::WM_KEYDOWN=0x0100
  3. SET  ::WM_KEYUP=0x0101
  4. SET  ::WM_SYSKEYDOWN=0x0104
  5. SET  ::WM_SYSKEYUP=0x0105
  6. SET  ::VK_ALT=0x12

  7. Windows1
  8. _SUB Windows1,W360H440,控件上AltMove,,,20,,-altmv
  9.       ITEM item1,l50t100w200h50,ABC
  10.       ITEM item2,l50t160w200h50,ABC
  11.       SET &SubCtr=item1 item2
  12.       SET &bAlt=1  
  13.       //临时禁用控件,响应AltMove
  14.       TIME -t:1 ,0,CALL * RegAltMove
  15. _END

  16. _SUB  ForAltMove
  17.     @IFEX #%~1=%bAlt%, EXIT
  18.     WAIT -scan:%&VK_ALT% &&VAlt
  19.     CALC #&VAlt=%VAlt% & 0x80
  20.     IFEX #0=%~1, IFEX #%VAlt%<>0x80, EXIT
  21.     IFEX #1=%~1, IFEX #%VAlt%=0x80,  EXIT
  22.     SET bAlt=%1
  23.     FORX * %&SubCtr%,&&Ctr, ENVI @%&Ctr%.Enable=%1
  24. _END

  25. _SUB  RegAltMove *
  26.     ENVI @this.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  27.     ENVI @this.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  28.     ENVI @this.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
  29.     FORX * %&SubCtr%,&&Ctr,
  30.     {*  ^ENVI @%&Ctr%.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  31.         ^ENVI @%&Ctr%.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  32.     }
  33. _END
复制代码
回复

使用道具 举报

17436#
 楼主| 发表于 2022-7-22 04:07:44 | 只看该作者

不变灰版
  1. ENVI^ EnviMode=1
  2. SET  ::WM_KEYDOWN=0x0100
  3. SET  ::WM_KEYUP=0x0101
  4. SET  ::WM_SYSKEYDOWN=0x0104
  5. SET  ::WM_SYSKEYUP=0x0105
  6. SET  ::VK_ALT=0x12

  7. //临时禁用控件,响应AltMove,不变灰

  8. Windows1
  9. _SUB Windows1,W360H440,控件上AltMove(不变灰),,,20,,-altmv
  10.       SWIN  -:WinIn:SwinWin1,L0T0W360H440,
  11.       SET &bAlt=1  
  12.       TIME -t:1 ,0,CALL * RegAltMove1
  13. _END
  14. _SUB WinIn,W360H440,
  15.       ITEM item1,l50t100w200h50,ABC
  16.       ITEM item2,l50t160w200h50,ABC
  17.       SET &SubCtr=item1 item2
  18.       TIME -t:1 ,0,CALL * RegAltMove
  19. _END

  20. _SUB  ForAltMove
  21.     @IFEX #%~1=%bAlt%, EXIT
  22.     WAIT -scan:%&VK_ALT% &&VAlt
  23.     IFEX #0=%~1, IFEX #%VAlt%<0x80, EXIT
  24.     IFEX #1=%~1, IFEX #%VAlt%>=0x80,  EXIT
  25.     SET bAlt=%1
  26.     ENVI @SwinWin1.Enable=%1
  27. _END

  28. _SUB  RegAltMove1 *
  29.     ENVI @this.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  30.     ENVI @this.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  31.     ENVI @this.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
  32. _END

  33. _SUB  RegAltMove *
  34.     FORX * %&SubCtr%,&&Ctr,
  35.     {*  ^ENVI @%&Ctr%.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  36.         ^ENVI @%&Ctr%.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  37.         ^ENVI @%&Ctr%.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
  38.     }
  39. _END
复制代码
回复

使用道具 举报

17437#
发表于 2022-7-22 07:20:18 | 只看该作者

最近发的这两个版本测试都不可以移动呢
回复

使用道具 举报

17438#
发表于 2022-7-22 08:58:01 | 只看该作者
有7Z压缩进度条的例子吗
回复

使用道具 举报

17439#
 楼主| 发表于 2022-7-22 09:02:29 | 只看该作者
泮安宁 发表于 2022-7-22 07:20
最近发的这两个版本测试都不可以移动呢

最新  PECMD
回复

使用道具 举报

17440#
 楼主| 发表于 2022-7-22 09:04:17 | 只看该作者
本帖最后由 mdyblog 于 2022-7-22 10:13 编辑
shmoss 发表于 2022-7-22 08:58
有7Z压缩进度条的例子吗

示例\7z进度信息.WCS
然后, 提取最后一个的 有效 进度值
  SED -ex &&pE=?1,[%NL%]Everything is Ok[%NL%],,&vMSG
  IFEX #%pE%>0, SET P=100! TEAM SED -ex &P=1,{.*[%NL%] *}{\d+}{% \d+.*},\2,&vMSG| CALC #P=%P%

回复

使用道具 举报

17441#
发表于 2022-7-22 09:27:14 | 只看该作者

哦,原来更新了
回复

使用道具 举报

17442#
发表于 2022-7-22 09:30:19 | 只看该作者
mdyblog 发表于 2022-7-22 09:04
示例\7z进度信息.WCS
然后, 提取最后一个的 有效 进度值

我想显示压缩进度
应该怎么做
回复

使用道具 举报

17443#
发表于 2022-7-22 09:31:47 | 只看该作者
PBAR这种
回复

使用道具 举报

17444#
发表于 2022-7-22 10:19:20 | 只看该作者
吃瓜群众问一下,有没有竖向的进度条,pecmd的进度条都是横向的
回复

使用道具 举报

17445#
 楼主| 发表于 2022-7-22 10:26:15 | 只看该作者

  1. ENVI^ ForceLocal=1
  2. SET$ &NL=0d 0a
  3. SET &I=1
  4. SET &P=0
  5. SET &vMSG=
  6. SET &PID=0
  7. _SUB ImagexExemsg
  8.   CALC I=%I%+1
  9.   ENVI @wMsg=%vMSG%
  10.   SED -ex &&pE=?1,[%NL%]Everything is Ok[%NL%],,&vMSG
  11.   IFEX #%pE%>0, SET P=100! TEAM SED -ex &P=1,{.*[%NL%] *}{\d+}{% \d+.*},\2,&vMSG| CALC #P=%P%
  12.   ENVI @wP=%P%
  13.   ENVI @Pbar1=%P%;%P%%%
  14.   ENVI @this=%P%%%  //inx:%I%
  15. _END

  16. WIN1
  17. _SUB WIN1,W687H494,新窗口1, KILL *%PID%
  18.     TIME -t:1 T,0,DoIt
  19.     LABE -vcenter wP,L7T6W60H20,xxx,,
  20.     PBAR Pbar1,L70T6W260H20,0   
  21.     MEMO wMsg,L07T46W600H400,,,0x40
  22. _END

  23. _SUB DoIt
  24.     ENVI @wP=0
  25.     ENVI @Pbar1=0
  26.     //解压
  27.     //EXEC* -pid:&PID -cmd::1000:ImagexExemsg -wait -err+ &vMSG=*"C:\Program Files\7-Zip\7z.exe" -y -bsp1 x P:\PhyOs\WAIGO_Win10(21H2)_8.1_XP_ALL_PE.ISO  -oP:\TEMP\T
  28.     //压缩
  29.     FILE -file  P:\PhyOs\T1.7z
  30.     EXEC* -pid:&PID -cmd::1000:ImagexExemsg -wait -err+ &vMSG=*"C:\Program Files\7-Zip\7z.exe" -y -bsp1 a P:\PhyOs\T1.7z P:\TEMP\T1\*
  31.     SET PID=0  //Clear
  32.     SED -ex &&pE=?1,[%NL%]Everything is Ok[%NL%],,&vMSG
  33.     IFEX #%pE%>0, TEAM SET P=100| ENVI @wP=%P%;%P%%%| ENVI @this=%P%%% END OK
  34. _END
复制代码
回复

使用道具 举报

17446#
 楼主| 发表于 2022-7-22 11:01:22 | 只看该作者
826773297 发表于 2022-7-22 10:19
吃瓜群众问一下,有没有竖向的进度条,pecmd的进度条都是横向的

H>W
    PBAR Pbar1,L610T6W20H260,62


回复

使用道具 举报

17447#
发表于 2022-7-22 11:43:54 | 只看该作者
mdyblog 发表于 2022-7-22 11:01
H>W
    PBAR Pbar1,L610T6W20H260,62

改一下大小就行了,回去后试试
回复

使用道具 举报

17448#
发表于 2022-7-22 12:24:22 | 只看该作者
本帖最后由 527104427 于 2022-7-22 12:37 编辑
826773297 发表于 2022-7-19 21:37
5大这个问题解决了吗,我也遇到了这个问题


我已经放弃挣扎了。本来界面做好了,但发现有些功能实在是实现不了。





回复

使用道具 举报

17449#
发表于 2022-7-22 12:25:06 | 只看该作者
mdyblog 发表于 2022-7-22 11:01
H>W
    PBAR Pbar1,L610T6W20H260,62

最新版未对齐:





回复

使用道具 举报

17450#
 楼主| 发表于 2022-7-22 12:51:12 | 只看该作者

下载
回复

使用道具 举报

17451#
 楼主| 发表于 2022-7-22 12:52:41 | 只看该作者
527104427 发表于 2022-7-22 12:24
我已经放弃挣扎了。本来界面做好了,但发现有些功能实在是实现不了。

更改DPI 调用SetDpi.EXE
回复

使用道具 举报

17452#
发表于 2022-7-22 12:55:54 | 只看该作者
mdyblog 发表于 2022-7-22 12:52
更改DPI 调用SetDpi.EXE

我的pecmd有支持dpi v2吗
回复

使用道具 举报

17453#
发表于 2022-7-22 12:57:17 | 只看该作者
527104427 发表于 2022-7-22 12:24
我已经放弃挣扎了。本来界面做好了,但发现有些功能实在是实现不了。

我卡在dpi上了,我也妥协了,直接不调用api,使用pecmd默认窗口,模糊就模糊点吧
回复

使用道具 举报

17454#
发表于 2022-7-22 13:21:55 | 只看该作者
什么时候内置smbios功能,我们普通人要用pecmd读取smbios很难,一本说明书都几十上百页,还要自己调用api又要计算
回复

使用道具 举报

17455#
发表于 2022-7-22 13:23:02 | 只看该作者
826773297 发表于 2022-7-22 13:21
什么时候内置smbios功能,我们普通人要用pecmd读取smbios很难,一本说明书都几十上百页,还要自己调用api又 ...

内置了,得搞多少变量出来让你用啊  。。。
回复

使用道具 举报

17456#
发表于 2022-7-22 13:29:23 | 只看该作者
红毛樱木 发表于 2022-7-22 13:23
内置了,得搞多少变量出来让你用啊  。。。

m大肯定有办法
回复

使用道具 举报

17457#
 楼主| 发表于 2022-7-22 13:58:12 | 只看该作者
826773297 发表于 2022-7-22 12:57
我卡在dpi上了,我也妥协了,直接不调用api,使用pecmd默认窗口,模糊就模糊点吧

SCRN 可以直接获得DPI

SCRN -desk  W,H,,,,dpiX,dpiY,scaleX,scaleY
MESS. dpy: %dpiX% %dpiY% Scale: %scaleX% %scaleY%  WH: %W% %H%
回复

使用道具 举报

17458#
发表于 2022-7-22 14:10:10 | 只看该作者
mdyblog 发表于 2022-7-22 13:58
SCRN 可以直接获得DPI

SCRN -desk  W,H,,,,dpiX,dpiY,scaleX,scaleY

窗口设置dpi后,控件大小发生了改变,labe透明标签高度为20,字体大小是8的情况下显示不全
回复

使用道具 举报

17459#
发表于 2022-7-22 14:13:11 | 只看该作者
控件不会根据dpi自适应,另外我还发现,调用了这个api:
CALL $--ret:&DPI_Aware user32.dll,SetProcessDPIAware

然后把窗口dpi设置为175,窗口反而小了
按理来说dpi越大,窗口也应该放大才对
回复

使用道具 举报

17460#
发表于 2022-7-22 18:59:50 | 只看该作者
m大,有没有现成的英文版帮助说明的PECMD呢
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-4 00:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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