无忧启动论坛

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

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

    [复制链接]
16141#
发表于 2021-7-18 22:02:18 | 只看该作者
问个题外话。
powerbuilder写的程序。
经常性的有这么几个错误,一般是哪里会出现这类情况,如何去排查。
1,经常性程序失去响应
2,程序闪退
3,有时候失去响应退出或者闪退后,进程还在,这些异常的进程cpu或者内存占用还高
回复

使用道具 举报

16142#
发表于 2021-7-26 11:02:44 | 只看该作者
请教一下m大,pecmd怎么获取内存大小

点评

ifex的帮助里还是find的帮助里,你找下  详情 回复 发表于 2021-7-26 17:32
回复

使用道具 举报

16143#
发表于 2021-7-26 17:32:48 来自手机 | 只看该作者
826773297 发表于 2021-7-26 11:02
请教一下m大,pecmd怎么获取内存大小

ifex的帮助里还是find的帮助里,你找下

点评

用c语言解决了,pecmd获取不到保留内存,计算不准确  详情 回复 发表于 2021-7-26 19:39
回复

使用道具 举报

16144#
发表于 2021-7-26 19:13:51 | 只看该作者
赞一个!
回复

使用道具 举报

16145#
发表于 2021-7-26 19:39:48 来自手机 | 只看该作者
红毛樱木 发表于 2021-7-26 17:32
ifex的帮助里还是find的帮助里,你找下

用c语言解决了,pecmd获取不到保留内存,计算不准确

点评

C语言是不是也调用系统API来获取这些信息的? 可以翻译成PECMD代码的嘛  详情 回复 发表于 2021-7-26 22:50
回复

使用道具 举报

16146#
发表于 2021-7-26 22:50:25 | 只看该作者
826773297 发表于 2021-7-26 19:39
用c语言解决了,pecmd获取不到保留内存,计算不准确

C语言是不是也调用系统API来获取这些信息的?  可以翻译成PECMD代码的嘛
回复

使用道具 举报

16147#
发表于 2021-7-30 08:26:27 | 只看该作者
本帖最后由 feiyike 于 2021-7-30 08:28 编辑

请教,怎么自动点击“是”?
wcs中调用卸载程序,弹出窗口



捕获.PNG (43.54 KB, 下载次数: 372)

捕获.PNG

点评

把程序传上来呗  详情 回复 发表于 2021-7-31 18:22
回复

使用道具 举报

16148#
发表于 2021-7-31 18:22:50 来自手机 | 只看该作者
feiyike 发表于 2021-7-30 08:26
请教,怎么自动点击“是”?
wcs中调用卸载程序,弹出窗口

把程序传上来呗

点评

用send tab和回车键,暂时这么用了  详情 回复 发表于 2021-7-31 20:54
回复

使用道具 举报

16149#
发表于 2021-7-31 18:23:56 来自手机 | 只看该作者
smss 发表于 2021-7-31 16:00
M大 不编译时IMAG ,L500T0W25H25,123.exe,EXEC 123.exe,,可以显示EXE的图标 编绎后IMAG ,L500T0W25H25,#105 ...

看不太明白,搞成示例传上来
回复

使用道具 举报

16150#
发表于 2021-7-31 18:53:44 来自手机 | 只看该作者
smss 发表于 2021-7-31 18:46
正常的PECMD脚本不编译时 可以显示EXE的图标
如IMAG ,L500T0W25H25,123.exe,EXEC 123.exe,,


传完整能重现问题的
回复

使用道具 举报

16151#
发表于 2021-7-31 19:31:24 来自手机 | 只看该作者
smss 发表于 2021-7-31 18:46
正常的PECMD脚本不编译时 可以显示EXE的图标
如IMAG ,L500T0W25H25,123.exe,EXEC 123.exe,,


%&myname%#105|EXEDATA

试试看
---------------
有点奇怪,你这需求是用exe里嵌入的exe的图标资源???好像这样不能直接用的哎,逻辑上就行不通。感觉不行。因为你还需要指定嵌入的exe的资源号呀
回复

使用道具 举报

16152#
发表于 2021-7-31 20:54:07 | 只看该作者
本帖最后由 feiyike 于 2021-7-31 20:55 编辑

用send tab和回车键,暂时这么用了我觉得应该捕捉窗口控件,可惜不会

点评

find里可以捕获窗口ID之类的,然后发送按键消息给按钮的窗口  详情 回复 发表于 2021-7-31 20:57
回复

使用道具 举报

16153#
发表于 2021-7-31 20:57:24 来自手机 | 只看该作者
feiyike 发表于 2021-7-31 20:54
用send tab和回车键,暂时这么用了我觉得应该捕捉窗口控件,可惜不会

find里可以捕获窗口ID之类的,然后发送按键消息给按钮的窗口
回复

使用道具 举报

16154#
发表于 2021-8-4 21:17:44 来自手机 | 只看该作者
smss 发表于 2021-8-4 19:54
M大帮看下 不编译可以传递参数
IMAG &刷OEM,L533T0W25H25,#2|ICONGROUP,EXEC %CurDir%\OEM.exe 123,,
编 ...

内置脚本调用是用load吧?这里不应该exec
回复

使用道具 举报

16155#
发表于 2021-8-5 08:30:45 来自手机 | 只看该作者
smss 发表于 2021-8-5 08:14
M大M大帮看下
怎样同时具备2个条件就做某事


forx命令格式明显错误,少一段参数
回复

使用道具 举报

16156#
发表于 2021-8-5 18:46:37 | 只看该作者
smss 发表于 2021-8-5 08:14
M大M大帮看下
怎样同时具备2个条件就做某事

forx命令格式明显错误,少一段参数
----------------------------------------------

不好意思看错了。
搞个LOGS日志看下问题。
回复

使用道具 举报

16157#
发表于 2021-8-6 02:02:33 | 只看该作者
本帖最后由 weconty 于 2021-8-6 02:03 编辑

如何获取浏览器窗口的 PID 或 WID
%WinDir%\explorer.exe /n,%UserName%\Documents
EXEC -pid:&&PID %WinDir%\explorer.exe /n,%UserName%\Documents
%&PID% 与真实进程 ID 不匹配
FIND --wid* --class:CabinetWClass &&WID,Documents
不适用于本地化名称文档

点评

explorer进程特殊,不一样。 系统只保留一个 进程。 后面创建 后,自动退出。 几后面的那个PID对应的进程实际已经结束了。  详情 回复 发表于 2021-11-12 22:48
explorer进程特殊,不一样,等m复出排查吧。 文档的标题可能是“我的文档”,不同语言应该都不同  详情 回复 发表于 2021-8-22 01:36
回复

使用道具 举报

16158#
发表于 2021-8-22 01:33:48 来自手机 | 只看该作者
smss 发表于 2021-8-21 19:51
M大我想把编译后的文件复制出来应该怎样表达 膜拜
编译前
FILE  %CurDir%\shellbrd.dll=>%&PARTSEL2%\Win ...

putf适当出来
回复

使用道具 举报

16159#
发表于 2021-8-22 01:36:32 来自手机 | 只看该作者
weconty 发表于 2021-8-6 02:02
如何获取浏览器窗口的 PID 或 WID
%WinDir%\explorer.exe /n,%UserName%\Documents
EXEC -pid:&&PID %Win ...

explorer进程特殊,不一样,等m复出排查吧。
文档的标题可能是“我的文档”,不同语言应该都不同

点评

换个地方继续提问 还是那个老问题,版主你说的太抽象,我也太愚钝,试了n次,看了n个pecmd自带实例,翻了这个帖子好多页也没看到相关内容,请你讲解的详细点好吗?谢谢你 假设cmd代码如下: @echo off ...  详情 回复 发表于 2021-8-30 16:22
回复

使用道具 举报

16160#
发表于 2021-8-30 16:22:58 | 只看该作者
红毛樱木 发表于 2021-8-22 01:36
explorer进程特殊,不一样,等m复出排查吧。
文档的标题可能是“我的文档”,不同语言应该都不同

换个地方继续提问

还是那个老问题,版主你说的太抽象,我也太愚钝,试了n次,看了n个pecmd自带实例,翻了这个帖子好多页也没看到相关内容,请你讲解的详细点好吗?谢谢你

假设cmd代码如下:

@echo off
.........
pecmd.exe mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安装位置!@警告!#YN

if "%YESNO%" == "YES" (call :a) else call :b

..................

这个例子中,怎么修改批处理中才能得到%YESNO%的值?

点评

@echo off ......... pecmd_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安装位置!@警告!#YN ~WRIT *fv -,$+0,YESNO  详情 回复 发表于 2021-9-1 00:16
你的%YESNO%是PECMD变量,和系统变量无关  详情 回复 发表于 2021-8-31 13:11
回复

使用道具 举报

16161#
发表于 2021-8-31 13:11:16 | 只看该作者
wjgyz740526 发表于 2021-8-30 16:22
换个地方继续提问

还是那个老问题,版主你说的太抽象,我也太愚钝,试了n次,看了n个pecmd自带实例, ...
  1. PECMD原始_cli.EXE EXIT= 2
  2. echo %ERRORLEVEL%
复制代码


  1. PECMD原始_cli.EXE WRIT --,,这是信息
复制代码



你的%YESNO%是PECMD变量,和系统变量无关

点评

首先,谢谢你的回复 试了下,代码如下: PECMD_cli.EXE EXIT= 2 echo %ERRORLEVEL% PECMD_cli WRIT --,,程序开始... pecmd_cli MESS= 确定安装吗?@警告!#YN echo %ERRORLEVEL%++%YESNO% PAUSE 代码  详情 回复 发表于 2021-8-31 15:32
回复

使用道具 举报

16162#
发表于 2021-8-31 15:32:29 | 只看该作者
红毛樱木 发表于 2021-8-31 13:11
你的%YESNO%是PECMD变量,和系统变量无关

首先,谢谢你的回复

试了下,代码如下:

PECMD_cli.EXE EXIT= 2
echo %ERRORLEVEL%
PECMD_cli WRIT --,,程序开始...
pecmd_cli MESS= 确定安装吗?@警告!#YN
echo %ERRORLEVEL%++%YESNO%
PAUSE

代码跑起来之后,无论信息框选择是还是否,%ERRORLEVEL%都是0,后面的%YESNO%也确实是你说的不是系统变量,空值

我想了一个不是办法的办法,自定义窗口,自定义是否两个按钮,两个那妞分别写不同数据到文件,然后批处理判断文件内容来达到目的,感觉太啰嗦,这样还不如直接用pecmd脚本了

点评

你这逻辑有问题啊 。。。 你没搞清楚%ERRORLEVEL%是哪里过来的。。。。 你前面一个exe执行返回错误码2,后面又执行一个程序,这错误码又不是前面的了  详情 回复 发表于 2021-8-31 15:38
回复

使用道具 举报

16163#
发表于 2021-8-31 15:38:19 | 只看该作者
wjgyz740526 发表于 2021-8-31 15:32
首先,谢谢你的回复

试了下,代码如下:

你这逻辑有问题啊 。。。
你没搞清楚%ERRORLEVEL%是哪里过来的。。。。
你前面一个exe执行返回错误码2,后面又执行一个程序,这错误码又不是前面的了
回复

使用道具 举报

16164#
发表于 2021-9-1 00:16:57 | 只看该作者
本帖最后由 527104427 于 2021-9-1 00:26 编辑
wjgyz740526 发表于 2021-8-30 16:22
换个地方继续提问

还是那个老问题,版主你说的太抽象,我也太愚钝,试了n次,看了n个pecmd自带实例, ...

@echo off
.........
pecmd_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安装位置!@警告!#YN ~WRIT *fv -,$+0,YESNO
.................


点评

感谢五大指点,这样确实输出了正确的返回值,不过这返回值不是%YESNO%的变量值吧?我如果要判断只能把前面的用管道符号传递给find来判断?  详情 回复 发表于 2021-9-1 08:53
回复

使用道具 举报

16165#
发表于 2021-9-1 08:53:51 | 只看该作者
527104427 发表于 2021-9-1 00:16
@echo off
.........
pecmd_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够 ...

感谢五大指点,这样确实输出了正确的返回值,不过这返回值不是%YESNO%的变量值吧?我如果要判断只能把前面的用管道符号传递给find来判断?

点评

试了一下,这样可以: @echo off for /f "tokens=*" %%i in ('"PECMD原始_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安  详情 回复 发表于 2021-9-1 11:43
这个输出跟其它命令行程序是一样的啊,CMD中捕获输出,再设置成变量。我批处理不熟,不知道怎样捕获,或许可以用for试试  详情 回复 发表于 2021-9-1 11:39
回复

使用道具 举报

16166#
发表于 2021-9-1 11:39:14 | 只看该作者
wjgyz740526 发表于 2021-9-1 08:53
感谢五大指点,这样确实输出了正确的返回值,不过这返回值不是%YESNO%的变量值吧?我如果要判断只能把前 ...

这个输出跟其它命令行程序是一样的啊,CMD中捕获输出,再设置成变量。我批处理不熟,不知道怎样捕获,或许可以用for试试
回复

使用道具 举报

16167#
发表于 2021-9-1 11:43:04 | 只看该作者
wjgyz740526 发表于 2021-9-1 08:53
感谢五大指点,这样确实输出了正确的返回值,不过这返回值不是%YESNO%的变量值吧?我如果要判断只能把前 ...

试了一下,这样可以:
@echo off
for /f "tokens=*" %%i in ('"PECMD原始_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安装位置!@警告!#YN ~WRIT *fv -,$+0,YESNO"') do set "YESNO=%%i"
echo "%YESNO%"
pause









点评

借楼请教5大: 知道进程名,向窗口发送一组按键,怎么做?  详情 回复 发表于 2021-9-10 17:55
谢谢回复! 我是这么做的 pecmd_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安装位置!@警告!#YN *5000 $Y ~WRIT *f  详情 回复 发表于 2021-9-1 16:16
回复

使用道具 举报

16168#
发表于 2021-9-1 16:16:00 | 只看该作者
本帖最后由 wjgyz740526 于 2021-9-1 16:17 编辑
527104427 发表于 2021-9-1 11:43
试了一下,这样可以:
@echo off
for /f "tokens=*" %%i in ('"PECMD原始_cli TEAM~ mess= 当前系统引 ...

谢谢回复!

我是这么做的

pecmd_cli TEAM~ mess= 当前系统引导模式为 %bootmode% ,且ESP分区!efi!容量足够!\n建议安装PE到此分区!\n\n按是开始安装,按否请手工指定安装位置!@警告!#YN *5000 $Y ~WRIT *fv -,$+0,YESNO |find /i "yes"

if %ERRORLEVEL% EQU 0 (ECHO 开始安装) else ECHO 请输入自定义分区:

pause&exit
回复

使用道具 举报

16169#
发表于 2021-9-2 09:05:35 | 只看该作者
不得不吐槽下,pecmd的帮助太简单了,sed怎么看也不会用,现在从3000页(手机端)向后翻
回复

使用道具 举报

16170#
发表于 2021-9-3 11:49:27 | 只看该作者
惭愧,遇到新问题,继续求教

_SUB Windows1,W370H200,,,,0
LABE Label1,L90T35W300H70,安装Windows PE 维护平台...\n\n\n请指定要安装的目标分区:      盘
IMAG Image1,L18T37W60H60,C:\Windows\system32\shell32.dll#40
LIST List1,L230T68W35H32,G:|C:|D:|E:,,  
ITEM Button1,L150T120W90H30,取消,TEAM MESS= 程序即将关闭@确定#OK*3000 | KILL \%Windows1%,,
ITEM Button2,L255T120W90H30,确定,TEAM mess= 你选择了安装到 %List1% 盘! #ok *3000 | WRIT D:\PE安装\y.txt,1,%List1% | KILL \%Windows1%,,
_END
CALL @Windows1
红色这一句,很奇怪,总是不能写%List1%到D:\PE安装\y.txt,MESS正常,后面的kill也关不掉窗口,这代码单独执行都没问题


恳请指教,谢谢

点评

命令写到一个_sub函数里call,这里有逗号,格式冲突  详情 回复 发表于 2021-9-3 13:10
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-23 16:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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