无忧启动论坛

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

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

    [复制链接]
7381#
 楼主| 发表于 2022-9-7 17:36:45 | 显示全部楼层
826773297 发表于 2022-9-7 16:51
BOOL WINAPI ImmGetOpenStatus(
  HIMC hIMC
);


CALL  $--ret:&&retIME  --qd Imm32.dll, ImmGetOpenStatus,#%&hIMC%
mess 返回[%&retIME%]
回复

使用道具 举报

7382#
 楼主| 发表于 2022-9-8 11:03:13 | 显示全部楼层
826773297 发表于 2022-9-8 08:46
好的,不会用,一直显示0

光溜溜的一个API能干什么?
回复

使用道具 举报

7383#
 楼主| 发表于 2022-9-8 11:52:09 | 显示全部楼层
回复

使用道具 举报

7384#
 楼主| 发表于 2022-9-8 18:36:40 | 显示全部楼层
826773297 发表于 2022-9-8 11:02
pecmd有没有办法监视任务栏空闲区域右键的点击事件,或者有没有api可以实现

hook鼠标
在过滤 出 任务栏 上的。
回复

使用道具 举报

7385#
 楼主| 发表于 2022-9-10 19:12:07 | 显示全部楼层
本帖最后由 mdyblog 于 2022-9-10 19:17 编辑
826773297 发表于 2022-9-10 17:14
不知道为什么,pecmd字体图标设定在托盘,过一段时间会卡死,窗体也不正常。

可以参考 示例中的 托盘图标 代码。"示例\窗口托盘测试.wcs"(45,5):    TIPS* 我的应用,%&&CurTime%,,,#2  //实时更新时间

一般用 TIPS*
实时更新:
TIPS* 我的应用,%&&CurTime%,,,#2  //实时更新


如果还有问题,
最简单的 能  演示出问题  的代码 发上来。

回复

使用道具 举报

7386#
 楼主| 发表于 2022-9-11 12:44:24 | 显示全部楼层
826773297 发表于 2022-9-10 22:17
测试好了,字体图标会崩溃,运行两小时之后会卡死,下面是测试代码:

TEAM ENVI^ ENVIMODE=1| ENVI^ F ...

图标这么疯狂的用啊!!
我调试下。
回复

使用道具 举报

7387#
 楼主| 发表于 2022-9-11 18:00:10 | 显示全部楼层
回复

使用道具 举报

7388#
 楼主| 发表于 2022-9-12 10:27:52 | 显示全部楼层
826773297 发表于 2022-9-12 08:27
昨晚挂机了一晚上,早上看了一下,还有点小问题,托盘设定的字体图标不自动更换了,其他界面正常,没有崩溃 ...

是不是开了LOG, 磁盘满了。
回复

使用道具 举报

7389#
 楼主| 发表于 2022-9-12 11:04:00 | 显示全部楼层
本帖最后由 mdyblog 于 2022-9-12 16:41 编辑
826773297 发表于 2022-9-12 10:41
其他窗口和右键倒正常

开3个TIPS对比下试试:
------------------
IFEX  %&CurFile%.LOG, LOGS --2 * %&CurFile%.LOG
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
ENVI &::WM_TRAYNOTIFY=1109
SET  ::WM_LBUTTONDOWN                  =0x0201
SET  ::WM_RBUTTONDOWN                  =0x0204
CALL $--ret:&DPIA user32.dll,SetProcessDPIAware //设置dpi感知模式
SCRN -desk  W,H,,,,dpiX,dpiY,scaleX,scaleY
WIN1
_SUB WIN1,#,,SET bRun=0,,,,-scale:%scaleX%
    SET &WID0=%&__WinID%
    SET &WID2=%&__WinID%
    SET &WID3=%&__WinID%
    TIPS* TT,11\n22\n33,5000,1,<ico><size:512><color:0xFFFFFF><font:385:微软雅黑**###>0
    ENVI @this.MSG=_%&::WM_TRAYNOTIFY%::&&wp,&&lp,托盘图标 %&wp% %&lp%
    ENVI @this.MSG=_%&WM_TaskbarRestart%::&&wp,&&lp,TEAM TIPS*|CS
    TIME Timer1,1000, IFEX #%&bRun%=1,CS
    SET#$  &V0=*4096 31 0
    TIME -t:1 T2,0, CALL @*WS
    TIME -t:1 T3,0, CALL @*WS2
    SET &bRun=1
    SET &A=1
    SET &ID=1
_END
_SUB WS,#,,SET bRun=0,,,,-scale:%scaleX%
    SET WID2=%&__WinID%
    TIPS* ST,S1\nS2\nS3,5000,1,#1
    ENVI @this.MSG=_%&::WM_TRAYNOTIFY%::&&wp,&&lp,托盘图标 %&wp% %&lp%
    ENVI @this.MSG=_%&WM_TaskbarRestart%::&&wp,&&lp,TEAM TIPS*|SS
    TIME Timer1,1000,IFEX #%&bRun%=1,SS
    SET &A=1
    SET &ID=2
_END
_SUB SS
    CALC  #&A=%&A% % 2 + 1
    TIPS* ST,S1\n%&A%,5000,1,#%&A%
_END
_SUB WS2,#,,SET bRun=0,,,,-scale:%scaleX%
    SET WID3=%&__WinID%
    TIPS* TT,11\n22\n33,5000,1,<ico><size:512><color:0xFFFFFF><font:385:微软雅黑**###>0
    ENVI @this.MSG=_%&::WM_TRAYNOTIFY%::&&wp,&&lp,托盘图标 %&wp% %&lp%
    ENVI @this.MSG=_%&WM_TaskbarRestart%::&&wp,&&lp,TEAM TIPS*|SS2
    TIME Timer1,1000,IFEX #%&bRun%=1,SS2
    SET &A=1
    SET &ID=3
_END
_SUB SS2
    CALC  #&A=%&A% % 9 + 1
    TIPS* TT,11\n%&I%,5000,1,<ico><size:512><color:0xFFFFFF><font:385:微软雅黑**###>%A%
_END

_SUB CS
    DATE A s
    TIPS* TT,11\n%A%,5000,1,<ico><size:512><color:0xFFFFFF><font:385:微软雅黑**###>%A%
_END
_SUB 托盘图标
IFEX $%&::WM_LBUTTONDOWN%=%2,WIN2
IFEX $%&::WM_RBUTTONDOWN%=%2,CALL @--popmenu WIN3
_END

_SUB WIN2,W595H594,新窗口[%&ID%][%&A%],,,,,-scale:%scaleX%
ENVI @this.bkcolor=0x000000
ENVI @WIN2.MSG=0x001C:KILL \
IMAG Image1,L1T1W512H512,<img><size:512><color:0xFF><font:385:Segoe Fluent Icons**###0>\uE701
IMAG Image1,L350T256W256H256,<img><size:256><color:0xFFFFFF><font:185:Segoe Fluent Icons**###0>\uE72E
_END

_SUB WIN3
MENU 菜单,退出测试,TEAM TIPS*|KILL @@%&WID0%| KILL @@%&WID2%| KILL @@%&WID3% //*%&__PID%
_END
回复

使用道具 举报

7390#
 楼主| 发表于 2022-9-12 16:01:08 | 显示全部楼层
826773297 发表于 2022-9-12 14:10
m大有没有考虑把wimlib内置到pecmd,官网有源码

自己可以试试。
CMPS  -m 压缩后作为一个资源。
再加载
CALL $--ret:返名 [&&DllMemVar],-LoadLibrary,*[文件名]#资源号[|类别]//加载内存DLL句柄,自释放

CALL $--ret:函数指针返名 ,-GetProcAddress,*句柄,函数名
获得 函数指针。

后面调用 函数指针:
CALL $[--ncd --nrcd --c --ret:返回名]   #,函数指针[,[#]参数1][,...[,[#]参20]
回复

使用道具 举报

7391#
 楼主| 发表于 2022-9-12 20:34:01 | 显示全部楼层
826773297 发表于 2022-9-12 19:56
开了一个小时,第二个图标卡在6了

pecmd  kill explorer
pecmd exec pecmd explorer
看看能不能 重新激活
回复

使用道具 举报

7392#
 楼主| 发表于 2022-9-12 21:10:11 | 显示全部楼层

托盘图标死了。

重新 加载  托盘图标
看来, 可能 和 字体图标无关。 托盘图标 本身的问题。
回复

使用道具 举报

7393#
 楼主| 发表于 2022-9-12 21:12:27 | 显示全部楼层
826773297 发表于 2022-9-12 20:37
哎,怪了,居然活了,我就重启了一下explorer

试试 : TIPS-FONT.zip (1.2 KB, 下载次数: 3)

出问题 是看看 LOG。 有什么出错信息。

回复

使用道具 举报

7394#
 楼主| 发表于 2022-9-12 21:15:49 | 显示全部楼层
826773297 发表于 2022-9-12 19:56
开了一个小时,第二个图标卡在6了

是不是 发生了 电源管理事件: 黑屏,屏保,休眠,睡眠 等等。。。
回复

使用道具 举报

7395#
 楼主| 发表于 2022-9-13 11:22:37 | 显示全部楼层
826773297 发表于 2022-9-13 07:56
字体图标还有一个问题希望能优化一下,就是如果一个窗口上字体图标比较多,打开的时候会很慢,比普通图标慢 ...

多少?
给个测试代码。
回复

使用道具 举报

7396#
 楼主| 发表于 2022-9-14 20:20:50 | 显示全部楼层
shmoss 发表于 2022-9-14 15:40
MENU ,生成配置,配置,,,?"D:\研究\了然\PNG\4.png"
这菜单前加个图标怎样写 可以加字体图标或shell32.dll# ...

_SUB MyMenu1
    MENU Menu1,分辨率1024X768 颜色32位 刷新率60,DISP W1024H768B32F60,,?%&CurDir%\menu16.bmp
    MENU Menu1,分辨率1024X768 颜色16位 刷新率60,DISP W1024H768B16F60,,?Shell32.dll#22
    MENU -
    MENU Menu2,分辨率800X600  颜色16位 刷新率60,DISP W800H600B16F60,,<bmp><color:0xFF><bkcolor:@15><font:10:宋体**###>好
_END

回复

使用道具 举报

7397#
 楼主| 发表于 2022-9-14 21:58:23 来自手机 | 显示全部楼层
下载最新版
回复

使用道具 举报

7398#
 楼主| 发表于 2022-9-14 23:07:36 | 显示全部楼层
本帖最后由 mdyblog 于 2022-9-14 23:08 编辑
shmoss 发表于 2022-9-14 20:55
win11仅显示bmp图片 希望能支持ico和字体图标

_SUB MyMenu1
    MENU Menu1,分辨率1024X768 颜色32位 刷新率60 menu16.bmp,DISP W1024H768B32F60,,?%&CurDir%\menu16.bmp
    MENU Menu1,分辨率1024X768 颜色16位 刷新率60,DISP W1024H768B16F60,,??Shell32.dll#22
    MENU -
    MENU Menu2,分辨率800X600  颜色16位 刷新率60,DISP W800H600B16F60,,<bmp><color:0xFF><bkcolor:@15><font:10:宋体**###>好
_END
// ?? : 总是 试试 缩放到 标准大小
WIN11:


回复

使用道具 举报

7399#
 楼主| 发表于 2022-9-15 13:15:04 | 显示全部楼层
Anson4 发表于 2022-9-15 11:28
请教M大,进度条控件PBAR如何用ENVI指令设置字体大小及粗细等格式?
用ENVI @PBAR1.color=好像达不到上 ...

ENVI^ ForceLocal=1
WIN1
_SUB WIN1,W287H254,新窗口1,
    PBAR -smooth PBAR1,L28T51W217H37,50
    ENVI @PBAR1.font=18:宋体**BI
    ENVI @PBAR1=50;#0xFF:50%%
_END
回复

使用道具 举报

7400#
 楼主| 发表于 2022-9-15 16:37:21 | 显示全部楼层
shmoss 发表于 2022-9-15 14:08
老师 如果我把编译好的软件做为资源使用其中的PNG图片可以吗 就和使用其中的ico一样
目测不可以 因为PNG ...

老师 如果我把编译好的软件做为资源使用其中的PNG图片可以吗 就和使用其中的ico一样
---------------
把相应资源和测试代码
按实际使用模样,打包成ZIP,传上来看看。
就 这么说,不是很明白表达的什么具体情况。

回复

使用道具 举报

7401#
 楼主| 发表于 2022-9-15 20:55:46 | 显示全部楼层
shmoss 发表于 2022-9-15 18:55
例如 软件A中有1.png 在#1|PNG
       软件B 试图调用       IMAG &软键盘,L435T0W22H24,"软件A""#1|PNG ...

打包上来吧。 这样高空对空, 难搞。
回复

使用道具 举报

7402#
 楼主| 发表于 2022-9-16 07:21:47 | 显示全部楼层
shmoss 发表于 2022-9-15 21:47
https://share.weiyun.com/Og0RQ2kT
也没啥例子


被压缩。
压缩软件应该有个选项, 可以不压缩资源。
回复

使用道具 举报

7403#
 楼主| 发表于 2022-9-16 18:13:33 | 显示全部楼层
本帖最后由 mdyblog 于 2022-9-18 18:21 编辑
shmoss 发表于 2022-9-16 09:12
http://angusj.com/resourcehacker/没有提及 即使有不压缩参数 也势必让软件A体积变大
我可以曲线救国, ...

1: PNG 本身就是压缩的。 再压缩没有 缩小体积的意义。
2:对于 BMP等没有压缩的资源, 可以先用 CMPS -m压缩。再放到资源中。这个也是透明压缩,PCEMD 会知道解压的。
回复

使用道具 举报

7404#
 楼主| 发表于 2022-9-16 22:47:26 | 显示全部楼层
shmoss 发表于 2022-9-16 20:49
请教老师 cmd文件只能编译成cab再放入资源EXEDATA吗
实测
        EXEC -exe:*cab:#1:A.bat =A.bat 可 ...

另外PNG可能是去掉文件头了,从而减少体积,释放时又加上
------------
记得前面有帖子, PNG放在资源中,可以直接引用, 不用特地处理。
回复

使用道具 举报

7405#
 楼主| 发表于 2022-9-18 07:29:39 | 显示全部楼层
shmoss 发表于 2022-9-17 07:28
http://bbs.wuyou.net/forum.php?m ... 402&extra=&page=584
手动添加图片情况下:  bmp png 图片resourc ...

※图像资源也支持EXE、DLL中的资源图标,格式为"[文件名]""#资源名[|目录名[|实际类型*显示类型]]"BMP 用 *bmp
PNG 用 *img
回复

使用道具 举报

7406#
 楼主| 发表于 2022-9-18 09:10:17 | 显示全部楼层
shmoss 发表于 2022-9-17 07:39
cmd文件只能压缩成cab再放入资源EXEDATA 用EXEC -exe:*cab:#1:A.bat =A.bat执行
但直接把cmd文件放出资源E ...

EXEC --exe:*?.CMD:#100|EXEDATA  ??  
EXEC --exe:*?.CMD:pecmd_test.exe#100|EXEDATA  ??
//?? 后面 可以加BAT的参数


回复

使用道具 举报

7407#
 楼主| 发表于 2022-9-18 09:11:45 | 显示全部楼层
Anson4 发表于 2022-9-18 08:07
请教篇M大,用 WRIT 将字符串写入文件时,在指定编码格式的同时,如何指定无BOM?
比如:WRIT-UTF8 desk ...

加个 *c  先清除
回复

使用道具 举报

7408#
 楼主| 发表于 2022-9-18 18:19:04 | 显示全部楼层
826773297 发表于 2022-9-17 21:33
https://www.cnblogs.com/jinzm/archive/2010/12/29/1920910.html

pecmd怎么映射网络驱动器

NetShare.WCS
--------------------------------
@IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ EnviMode=1
_SUB CreateDrive //LocalName RemoteName  UserName Password
    ENVI#$$ &&NetDrive=*48 0 //NETRESOURCE
    ENVI-long &NetDrive=2 //NetDrive
    //ENVI-long &NetDrive=0:~1 //dwType
    //ENVI-long &NetDrive=0:~2 //dwDisplayType
    ENVI-long &NetDrive=0:~3 //dwUsage

    SET &LocalName=%~1
    SET &RemoteName=%~2
    ENVI-ptr &NetDrive=&LocalName:16 //lpLocalName
    ENVI-ptr &NetDrive=&RemoteName:(16+%&ptrlen%) //lpRemoteName


    SET &UN=%~3
    SET &PW=%~4
    CALL $--qd Mpr.dll,WNetAddConnection2W,*&NetDrive,*&PW,*&UN,#0
_END

_SUB RemoveDrive //LocalName
    CALL $--qd Mpr.dll,WNetCancelConnection2W,$%~1,#1,#1
_END


CreateDrive "Y:"  "\\127.0.0.1\SHARE" "user"  "12345"
MESS 11
RemoveDrive "Y:"
MESS 111

EXIT FILE

typedef struct  _NETRESOURCEW {
    DWORD    dwScope;
    DWORD    dwType;
    DWORD    dwDisplayType;
    DWORD    dwUsage;
    LPWSTR   lpLocalName;
    LPWSTR   lpRemoteName;
    LPWSTR   lpComment ;
    LPWSTR   lpProvider;
}NETRESOURCEW, *LPNETRESOURCEW;


点评

https://blog.csdn.net/Silver_sail/article/details/41845795 不知道是否有办法获取局域网IP https://blog.csdn.net/donglinshengan/article/details/123391998 设置共享  详情 回复 发表于 2022-9-18 19:38
好的,感谢m大  详情 回复 发表于 2022-9-18 18:38
回复

使用道具 举报

7409#
 楼主| 发表于 2022-9-18 20:52:03 | 显示全部楼层
826773297 发表于 2022-9-17 21:30
https://www.cnblogs.com/panwangvie/p/14878148.html

奇怪。
API 模式 开启的热点, 手机能连上,但不能上网。

点评

有没有指定用哪个无线网卡创建wifi热点  详情 回复 发表于 2022-9-19 08:31
回复

使用道具 举报

7410#
 楼主| 发表于 2022-9-20 06:36:53 | 显示全部楼层
本帖最后由 mdyblog 于 2022-9-20 06:45 编辑
826773297 发表于 2022-9-19 08:31
有没有指定用哪个无线网卡创建wifi热点

api 模式, 没有 这步 操作。可能是因为 ,直接自动 带关联 连上网 的那个。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 10:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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