无忧启动论坛

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

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

    [复制链接]
17401#
 楼主| 发表于 2022-7-21 11:56:09 | 只看该作者
泮安宁 发表于 2022-7-21 10:52
m大,这个描述什么意思,是不是不加 -disaltmv参数就可以用Alt键加鼠标拖动窗口,但我测试好像没用,不加 ...

-top -forcenomin -disminb -maxb -discloseb -nosysmenu -nocap -[dis]altmv -size -trap -na]
-------------

-disaltmv 是默认的
用 -altmv  : 用Alt键加鼠标拖动窗口
回复

使用道具 举报

17402#
发表于 2022-7-21 12:22:12 | 只看该作者
mdyblog 发表于 2022-7-21 11:56
-top -forcenomin -disminb -maxb -discloseb -nosysmenu -nocap -[dis]altmv -size -trap -na]
------- ...

可以了,但如果鼠标放在了控件上就没法拖动了,只能放在空白窗口上,这个有办法解决吗
回复

使用道具 举报

17403#
发表于 2022-7-21 12:40:56 | 只看该作者
泮安宁 发表于 2022-7-21 12:22
可以了,但如果鼠标放在了控件上就没法拖动了,只能放在空白窗口上,这个有办法解决吗

可以用窗口控件进行拖放
回复

使用道具 举报

17404#
发表于 2022-7-21 12:43:12 | 只看该作者
泮安宁 发表于 2022-7-21 12:22
可以了,但如果鼠标放在了控件上就没法拖动了,只能放在空白窗口上,这个有办法解决吗

不用按alt
回复

使用道具 举报

17405#
 楼主| 发表于 2022-7-21 12:46:49 | 只看该作者
泮安宁 发表于 2022-7-21 12:22
可以了,但如果鼠标放在了控件上就没法拖动了,只能放在空白窗口上,这个有办法解决吗

最简单的演示代码
回复

使用道具 举报

17406#
发表于 2022-7-21 12:48:36 | 只看该作者

emmm,就是想按着alt来拖动窗口
回复

使用道具 举报

17407#
发表于 2022-7-21 12:52:59 | 只看该作者
本帖最后由 泮安宁 于 2022-7-21 12:59 编辑
mdyblog 发表于 2022-7-21 12:46
最简单的演示代码

Windows1
    _SUB Windows1,W360H440,WinCMD功能演示,,,,,-altmv
        ITEM item1,l50t100w200h50,ABC
_END

按着Alt,当鼠标放在ABC按钮上时就不能拖动窗口了,空白地方可以
---------------------------------------------------------------------------------------------------------
最终想把窗口做成透明的
Windows1
_SUB Windows1,W360H440,WinCMD功能演示,,,#:,,-altmv
        ITEM item1,l50t100w200h50,ABC
_END

这样就不能通过Alt键拖动按钮



回复

使用道具 举报

17408#
 楼主| 发表于 2022-7-21 13:30:01 | 只看该作者
本帖最后由 mdyblog 于 2022-7-21 15:01 编辑
泮安宁 发表于 2022-7-21 12:52
Windows1
    _SUB Windows1,W360H440,WinCMD功能演示,,,,,-altmv
        ITEM item1,l50t100w200h50, ...

      //临时禁用控件,响应AltMove
  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. Windows1
  7. _SUB Windows1,W360H440,WinCMD功能演示,,,20,,-altmv
  8.       ITEM item1,l50t100w200h50,ABC
  9.       SET &bAlt=1  
  10.       //临时禁用控件,响应AltMove
  11.       ENVI @this.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  12.       ENVI @this.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  13.       ENVI @this.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
  14.       ENVI @item1.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
  15.       ENVI @item1.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
  16. _END

  17. _SUB  ForAltMove
  18.     SET bAlt=%1
  19.     ENVI @item1.Enable=%1
  20. _END
复制代码
回复

使用道具 举报

17409#
发表于 2022-7-21 14:31:27 | 只看该作者
mdyblog 发表于 2022-7-21 13:30
//临时禁用控件,响应AltMove

可以了,感谢m大
回复

使用道具 举报

17410#
发表于 2022-7-21 17:46:53 | 只看该作者
mdyblog 发表于 2022-7-21 13:30
//临时禁用控件,响应AltMove

如果有多个按钮

ENVI^ EnviMode=1
SET  ::WM_KEYDOWN=0x0100
SET  ::WM_KEYUP=0x0101
SET  ::WM_SYSKEYDOWN=0x0104
SET  ::WM_SYSKEYUP=0x0105

Windows1
_SUB Windows1,W360H440,WinCMD功能演示,,,20,,-altmv
      ITEM item1,l50t100w200h50,ABC
      ITEM item2,l50t150w200h50,ABC
      SET &bAlt=1  
      //临时禁用控件,响应AltMove
      ENVI @this.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
      ENVI @this.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
      ENVI @this.MSG=$%WM_SYSKEYUP%::&&wp,&&lp, ForAltMove 1
      ENVI @item1.MSG=$%WM_KEYDOWN%::&&wp,&&lp, ForAltMove 0
      ENVI @item1.MSG=$%WM_SYSKEYDOWN%::&&wp,&&lp, ForAltMove 0
_END

_SUB  ForAltMove
    SET bAlt=%1
    ENVI @item1.Enable=%1
_END



这样item1一直都是不可用状态,这个怎么解决
回复

使用道具 举报

17411#
 楼主| 发表于 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
复制代码
回复

使用道具 举报

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

使用道具 举报

17413#
 楼主| 发表于 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
复制代码
回复

使用道具 举报

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

使用道具 举报

17415#
 楼主| 发表于 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
复制代码
回复

使用道具 举报

17416#
 楼主| 发表于 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
复制代码
回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

最新  PECMD
回复

使用道具 举报

17420#
 楼主| 发表于 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%

回复

使用道具 举报

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

哦,原来更新了
回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

17425#
 楼主| 发表于 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
复制代码
回复

使用道具 举报

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

H>W
    PBAR Pbar1,L610T6W20H260,62


回复

使用道具 举报

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

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

使用道具 举报

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


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





回复

使用道具 举报

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

最新版未对齐:





回复

使用道具 举报

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

下载
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-25 18:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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