无忧启动论坛

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

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

    [复制链接]
15031#
 楼主| 发表于 2020-1-23 19:54:46 | 只看该作者
红毛樱木 发表于 2020-1-23 18:13
ENVI~$#
这种用法怎么理解?

~  表示后面是变量名,先解1次

$ HEX (---GETF)

# Byte (否则 WChar)


回复

使用道具 举报

15032#
发表于 2020-1-23 20:11:14 来自手机 | 只看该作者
~  表示后面是变量名,先解1次
理解错误了,我以为要这样理解
ENVI~$# &&B2=%&B%

点评

ENVI~$# &&B2=&B 等于 ENVI$# &&B2=%&B%  详情 回复 发表于 2020-1-23 22:05
回复

使用道具 举报

15033#
 楼主| 发表于 2020-1-23 22:05:23 | 只看该作者
红毛樱木 发表于 2020-1-23 20:11
~  表示后面是变量名,先解1次
理解错误了,我以为要这样理解
ENVI~$# &&B2=%&B%

ENVI~$# &&B2=&B
等于
ENVI$# &&B2=%&B%


~可以多次, 就是解释多次。

点评

楼上问题是由于SED命令改动引起的: ENVI^ EnviMode=1 ENVI^ ForceLocal=1 set &a= , + - * / | & @ < > % ^ ( ) [ ] { } ~ ! FORX * %a% ,&b, SED &a=0,\%b%,\\%b%,%a% mess %a% 上面命令出现死循环  详情 回复 发表于 2020-2-4 13:32
回复

使用道具 举报

15034#
发表于 2020-1-28 22:12:51 | 只看该作者
本帖最后由 红毛樱木 于 2020-1-28 22:36 编辑

之前有个问题一直没处理。

代码:
------------------------------------------
//假设在执行PECMD进程之前分辨率是800*600
LOGO ,0x200000
DISP W1024 H768 B32
LOGO ,0x200000
MESS. 这时LOGO颜色没有全屏
---------------------------------------------

分辨率从小变大后LOGO设置的颜色没有全屏(需要先把分辨率调成一个低分辨率状态,再调一个相对高分辨率状态对比)

回复

使用道具 举报

15035#
发表于 2020-2-2 21:42:56 | 只看该作者
新版计算器挂了。
CALC -gui
输入:
1*2
输入*的时候就崩溃
回复

使用道具 举报

15036#
发表于 2020-2-6 23:19:45 | 只看该作者
MOUN命令,可以加一个文件映射的功能吗?
从A文件映射出A内部的B文件。
比如知道B文件在A文件内的偏移地址和长度,来映射。
回复

使用道具 举报

15037#
发表于 2020-2-13 20:37:28 | 只看该作者
FORM应该增加下面这些格式的支持.
\\?\Harddisk0Partition2 或 \\?\HarddiskVolume5┃
┃    │    │或\\?\ImDisk0\ 或\\?\Volume{cc0ac7c9-27c4-11e5-ba3b-806e6f6e6963}\ 或\\?\STORAGE#Volume#{cc0┃
┃    │    │ac7c0-27c4-11e5-ba3b-806e6f6e6963}#0000008481CD9800#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}\

点评

问一个问题,以前我是用老九的老版本做的安装器,内置脚本的;现在用新的pecmd来做,脚本放101,也运行了,但我如果运行 pecmd AAA.ini,应该101就不运行,而是运行AAA.ini,怎么还是101里面的脚本?而老版本采用的  详情 回复 发表于 2020-2-15 22:36
回复

使用道具 举报

15038#
发表于 2020-2-14 17:53:50 | 只看该作者
本帖最后由 hhh333 于 2020-2-14 18:07 编辑

反映两个问题,看大家怎么处理:
1、PINT到任务栏的工具,如果目标程序已经移动了,把同样的工具PINT到任务栏并不能覆盖原来的。要怎么才能覆盖或者删除原来的?
2、MESS无论选任何一种形式标题栏总是有一个问号,而实际上用这个命令有很多时候并不是要“问”什么,而是显示一些提示信息。因此这个问号确实有点多余。希望能够去掉,或者根据类型来决定是否显示或者根据类型来显示不同的图标,如YN等需要用户选择的才出现问号。另外,ABORT类型的怎么出现中英文混合画面。

哦,这个图标是PECMD的图标,那就莫动了,但icon5/6/7图标是一样的,请修正。ABORT也修正一下。

回复

使用道具 举报

15039#
发表于 2020-2-15 22:36:20 | 只看该作者
红毛樱木 发表于 2020-2-13 20:37
FORM应该增加下面这些格式的支持.
\\?\Harddisk0Partition2 或 \\?\HarddiskVolume5┃
┃    │    │或\ ...

问一个问题,以前我是用老九的老版本做的安装器,内置脚本的;现在用新的pecmd来做,脚本放101,也运行了,但我如果运行 pecmd AAA.ini,应该101就不运行,而是运行AAA.ini,怎么还是101里面的脚本?而老版本采用的逻辑是有脚本就运行外部脚本,没有脚本就运行内置脚本。这个要调节哪个地方?

点评

主要是我认为PECMD2012的LOAD命令可以带参数,所以这种设计是没问题的。 可以在你内置的101脚本开头判断一下参数,是你想要的就执行,不是你想要的就传出去。 或者  详情 回复 发表于 2020-2-16 13:37
回复

使用道具 举报

15040#
发表于 2020-2-16 13:37:28 | 只看该作者
hhh333 发表于 2020-2-15 22:36
问一个问题,以前我是用老九的老版本做的安装器,内置脚本的;现在用新的pecmd来做,脚本放101,也运行了 ...

主要是我认为PECMD2012的LOAD命令可以带参数,所以这种设计是没问题的。
可以在你内置的101脚本开头判断一下参数,是你想要的就执行,不是你想要的就传出去。
  1. ENVI^ ENVIMODE=1
  2. FIND $%*<>,
  3. {*
  4.     %*
  5.     EXIT FILE
  6. }
复制代码


或者
  1. ENVI^ ENVIMODE=1
  2. //Run是101脚本想要的参数
  3. FIND $%*<>Run,
  4. {*
  5.     %*
  6.     EXIT FILE
  7. }
复制代码



点评

成功了,谢谢!M大这段时间怎么没看见?  详情 回复 发表于 2020-2-16 22:29
回复

使用道具 举报

15041#
发表于 2020-2-16 22:29:34 | 只看该作者
红毛樱木 发表于 2020-2-16 13:37
主要是我认为PECMD2012的LOAD命令可以带参数,所以这种设计是没问题的。
可以在你内置的101脚本开头判断 ...

成功了,谢谢!M大这段时间怎么没看见?

点评

M大神出鬼没。 感觉他为pecmd2012和udm两个项目付出了巨大精力和财富牺牲  详情 回复 发表于 2020-2-17 00:13
回复

使用道具 举报

15042#
发表于 2020-2-17 00:13:40 来自手机 | 只看该作者
hhh333 发表于 2020-2-16 22:29
成功了,谢谢!M大这段时间怎么没看见?

M大神出鬼没。
感觉他为pecmd2012和udm两个项目付出了巨大精力和财富牺牲
回复

使用道具 举报

15043#
发表于 2020-2-19 20:49:49 | 只看该作者
CODE ***UTF8,&SuoYouInfoHex,**UNI,&::SuoYouInfo
这里用&::SuoYouInfo,结果变量为空。
不能用&::,而用&SuoYouInfo可以。有人来试试是不是和我一样的问题。
回复

使用道具 举报

15044#
发表于 2020-2-24 09:59:27 | 只看该作者
两个问题:
1、查找某个盘的自由空间,只要象SIZE的用法一样,给出路径可以是文件或目录;
2、有不有一个代码或工具删除所有无效的快捷方式,包括PINT到任务栏的;

点评

FORM -free &a=D: MESS. D盘可用空间为 %&a% 字节  详情 回复 发表于 2020-2-24 12:26
LINK ? %desktop%\s,&a IFEX [ '%&a%''' & ( %&a% ) ],MESS. 快捷方式有效! MESS 快捷方式无效  详情 回复 发表于 2020-2-24 12:21
回复

使用道具 举报

15045#
发表于 2020-2-24 12:21:26 | 只看该作者
hhh333 发表于 2020-2-24 09:59
两个问题:
1、查找某个盘的自由空间,只要象SIZE的用法一样,给出路径可以是文件或目录;
2、有不有一个 ...

LINK ? %desktop%\s,&a
IFEX [ '%&a%'<>'' & ( %&a% ) ], MESS 快捷方式有效! MESS 快捷方式无效

点评

这个样子吗?  详情 回复 发表于 2020-2-24 16:06
回复

使用道具 举报

15046#
发表于 2020-2-24 12:26:24 | 只看该作者
hhh333 发表于 2020-2-24 09:59
两个问题:
1、查找某个盘的自由空间,只要象SIZE的用法一样,给出路径可以是文件或目录;
2、有不有一个 ...

FORM -free &a=D:
MESS. D盘可用空间为 %&a% 字节
回复

使用道具 举报

15047#
发表于 2020-2-24 16:06:22 | 只看该作者
本帖最后由 hhh333 于 2020-2-24 18:02 编辑
527104427 发表于 2020-2-24 12:21
LINK ? %desktop%\s,&a
IFEX [ '%&a%''' & ( %&a% ) ], MESS 快捷方式有效! MESS 快捷方式无效

这个样子吗?
  1. FORX %DeskTop%\*.lnk,AnyLNK,0,
  2. {
  3. FDIR &p=%AnyLNK%
  4. FNAM &n=%AnyLNK%
  5. LINK ? %&p%\%&n%,&a
  6. IFEX [ '%&a%'<>'' & ( %&a% ) ],!FILE -q %AnyLNK%
  7. }
复制代码
PINT到任务栏的怎么判断?

点评

任务栏的有效性,和通常的快捷方式一样。 不过,直接删除是不行的。 (固定任务栏也不是在Pinned\Taskbar就会自动出现) 固定和取消是匹配的操作。 方法一: 保存正常的快捷方式,全部快捷方式删除,重置PIN  详情 回复 发表于 2020-2-24 18:48
任务栏的没试出来,看路径应该是%appdata%\Microsoft\Internet Explorer\Quick Launch%user Pinned\TaskBar\*.lnk 不过删了里面的快捷方式,任务栏上还是有,不清楚该怎么弄。  详情 回复 发表于 2020-2-24 18:29
试了一下,应该这样子: FORX %DeskTop%\*.lnk,&AnyLNK,0, { MSTR * &AnyLNK1=-5,0,&AnyLNK LINK ? %&AnyLNK1%,&AnyLNK2 IFEX [ '%&AnyLNK2%'='' | ! %&AnyLNK2% ], FILE -force -q "%&AnyLNK%" }  详情 回复 发表于 2020-2-24 18:19
回复

使用道具 举报

15048#
发表于 2020-2-24 18:19:46 | 只看该作者
hhh333 发表于 2020-2-24 16:06
这个样子吗?
PINT到任务栏的怎么判断?

试了一下,应该这样子:

FORX %DeskTop%\*.lnk,&AnyLNK,0,
{
        MSTR * &AnyLNK1=-5,0,&AnyLNK
        LINK ? %&AnyLNK1%,&AnyLNK2
        IFEX [ '%&AnyLNK2%'='' | ! %&AnyLNK2% ],  FILE -force -q "%&AnyLNK%"
}




本来看说明,有.lnk后缀的要加--f,不过测试失败,只好麻烦一点,用MSTR自行去掉.lnk后缀了。





点评

不会出现'%&AnyLNK2%'='' 的情况吧  详情 回复 发表于 2020-2-24 18:46
回复

使用道具 举报

15049#
发表于 2020-2-24 18:29:49 | 只看该作者
hhh333 发表于 2020-2-24 16:06
这个样子吗?
PINT到任务栏的怎么判断?

任务栏的没试出来,看路径应该是%appdata%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\*.lnk
不过删了里面的快捷方式,任务栏上还是有,不清楚该怎么弄。
回复

使用道具 举报

15050#
发表于 2020-2-24 18:46:23 | 只看该作者
527104427 发表于 2020-2-24 18:19
试了一下,应该这样子:

FORX %DeskTop%\*.lnk,&AnyLNK,0,

不会出现'%&AnyLNK2%'='' 的情况吧

点评

理论上应该不可能,不过微软这个东西,凡事皆有可能。  详情 回复 发表于 2020-2-24 18:49
回复

使用道具 举报

15051#
发表于 2020-2-24 18:48:27 | 只看该作者
本帖最后由 slore 于 2020-2-24 18:50 编辑
hhh333 发表于 2020-2-24 16:06
这个样子吗?
PINT到任务栏的怎么判断?

任务栏的有效性,和通常的快捷方式一样。
不过,直接删除是不行的。
(固定任务栏也不是在Pinned\Taskbar就会自动出现)

固定和取消是匹配的操作。

方法一:
保存正常的快捷方式,全部快捷方式删除,重置PINT的注册表,强制重启Explorer,再把正常的快捷方式重新PIN。

方法二:
WinXShell有Taskbar:Pin('cmd.exe')/Taskbar:UnPin('cmd.exe'),  Taskbar:UnPin('命令提示符.lnk')。

能PINT就能取消,等M更新吧,就是1,2行代码(固定,解锁),补一个UnPint即可。

点评

PINT功能应该是调用shell32中的功能实现的,可否用PECMD调用shell32中的功能实现UNPINT或者PINT -U  详情 回复 发表于 2020-2-24 19:25
回复

使用道具 举报

15052#
发表于 2020-2-24 18:49:52 | 只看该作者
hhh333 发表于 2020-2-24 18:46
不会出现'%&AnyLNK2%'='' 的情况吧

理论上应该不可能,不过微软这个东西,凡事皆有可能。
回复

使用道具 举报

15053#
发表于 2020-2-24 19:25:00 | 只看该作者
slore 发表于 2020-2-24 18:48
任务栏的有效性,和通常的快捷方式一样。
不过,直接删除是不行的。
(固定任务栏也不是在Pinned\Taskb ...

PINT功能应该是调用shell32中的功能实现的,可否用PECMD调用shell32中的功能实现UNPINT或者PINT -U

点评

有个方法。 用文件的右键菜单。 查询文件右键菜单 执行文件右键菜单  详情 回复 发表于 2020-2-24 20:11
我不知道PECMD怎么实现的,我就是Shell对象接口(COM),调用指定文件的右键菜单。不是简单的API直接调用。PECMD已经有PINT肯定这个对象已经处理了,再里面补充一个unpin就可以了。 把C++代码用PECMD来写一遍?C++  详情 回复 发表于 2020-2-24 19:30
回复

使用道具 举报

15054#
发表于 2020-2-24 19:30:37 | 只看该作者
hhh333 发表于 2020-2-24 19:25
PINT功能应该是调用shell32中的功能实现的,可否用PECMD调用shell32中的功能实现UNPINT或者PINT -U

我不知道PECMD怎么实现的,我就是Shell对象接口(COM),调用指定文件的右键菜单。不是简单的API直接调用。PECMD已经有PINT肯定这个对象已经处理了,再里面补充一个unpin就可以了。

把C++代码用PECMD来写一遍?C++的30行代码会变得非常晦涩难懂。很多系统内置的方法,比如
菜单名处理,就很费劲。用PECMD的话,等mdyblog更新,提供接口吧。
其他语言自己单独实现反而更容易,之前发过Pintool,au3的改改就行。

点评

1A: PINT 和 UNPINT在程序上是一样的。 取决于 后面的【[菜单名称|菜单标识|#字符串ID] 】。 菜单名称 不同,功能就不同。实际功能有系统决定。 1B: 对于 UNPINT, 实际系统选对 【菜单名称】即可。  详情 回复 发表于 2020-3-1 12:17
回复

使用道具 举报

15055#
发表于 2020-2-24 20:11:07 | 只看该作者
hhh333 发表于 2020-2-24 19:25
PINT功能应该是调用shell32中的功能实现的,可否用PECMD调用shell32中的功能实现UNPINT或者PINT -U

有个方法。
用文件的右键菜单。


查询文件右键菜单
  1. ENVI @@RMENU=&R;F:\a.exe
  2. MESS. %&R%
复制代码



执行文件右键菜单
  1. EXEC -runrmenu:锁定到任务栏(&K)   F:\a.exe
  2. MESS. %&error%
复制代码


点评

试了,没用,虽然执行了但,还有。  详情 回复 发表于 2020-2-25 08:16
回复

使用道具 举报

15056#
发表于 2020-2-24 22:21:34 | 只看该作者
mdyblog没有考虑开源pecmd吗
回复

使用道具 举报

15057#
发表于 2020-2-25 08:16:57 | 只看该作者
本帖最后由 hhh333 于 2020-2-25 08:19 编辑
红毛樱木 发表于 2020-2-24 20:11
有个方法。
用文件的右键菜单。
  1. logs * %curdir%\t2.log
  2. ENVI &d=%QuickLaunch%\User Pinned\TaskBar
  3. FORX %&d%\*.lnk,AnyLNK,0,
  4. {
  5.         FDIR &p=%AnyLNK%
  6.         FNAM &n=%AnyLNK%
  7.         LINK ? %&p%\%&n%,&a
  8.         `ENVI @@RMENU=&R;%AnyLNK%
  9.         `MESS. %&R%
  10.         IFEX %a%,!TEAM EXEC -runrmenu:从任务栏取消固定(&K)  %AnyLNK%|FILE -force -q %AnyLNK%
  11. }
复制代码


试了,没用,虽然执行了但,还有。

点评

来个偷梁换柱:  详情 回复 发表于 2020-2-25 10:13
回复

使用道具 举报

15058#
发表于 2020-2-25 10:13:48 | 只看该作者
hhh333 发表于 2020-2-25 08:16
试了,没用,虽然执行了但,还有。

来个偷梁换柱:

  1. logs * %curdir%\t2.log
  2. ENVI &d=%QuickLaunch%\User Pinned\TaskBar
  3. FORX %&d%\*.lnk,AnyLNK,0,
  4. {
  5.         FDIR &p=%AnyLNK%
  6.         FNAM &n=%AnyLNK%
  7.         LINK ? %&p%\%&n%,&a
  8.         `ENVI @@RMENU=&R;%AnyLNK%
  9.         `MESS. %&R%
  10.         IFEX %a%,! TEAM PUTF -dd -len=0 "%a%",0,zero| EXEC -runrmenu:从任务栏取消固定(&K)  %a%| FILE -force -q "%a%"| FILE -force -q "%AnyLNK%"
  11. }
复制代码

点评

还是不行,与前面一样,变白方块,也没取消固定的右键  详情 回复 发表于 2020-2-25 11:12
行吗?我试一下才  详情 回复 发表于 2020-2-25 10:58
回复

使用道具 举报

15059#
发表于 2020-2-25 10:58:06 | 只看该作者

行吗?我试一下才
回复

使用道具 举报

15060#
发表于 2020-2-25 11:12:33 | 只看该作者

还是不行,与前面一样,变白方块,也没取消固定的右键

点评

可能是目标路径只读了吧,不让写东西。  详情 回复 发表于 2020-2-25 12:08
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-9-19 09:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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