无忧启动论坛

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

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

    [复制链接]
18481#
发表于 2023-4-27 19:41:57 | 只看该作者
回复

使用道具 举报

18482#
发表于 2023-4-27 21:36:00 | 只看该作者
谢谢提供分享
回复

使用道具 举报

18483#
发表于 2023-4-28 08:47:45 | 只看该作者
https://wwi.lanzoui.com/b0wh8vjc
最新版本BUG 当PNG图片编译入EXE后 CHEK 开关无法正常显示

CHEK -scale:(50*96/12)<116:50>:%开关% 给朕连网,L375T194W46H20,,REGI $HKU\.DEFAULT\Software\Smss\\连网=%给朕连网.Check%

感恩M大辛勤付出 这需要大量时间和精力 我可以知道你的联系方式吗?你已经帮助我很多次了

点评

#1|PNG 这种格式。0422支持了的呀。  详情 回复 发表于 2023-4-28 11:53
回复

使用道具 举报

18484#
发表于 2023-4-28 11:53:07 | 只看该作者
smss 发表于 2023-4-28 08:47
https://wwi.lanzoui.com/b0wh8vjc
最新版本BUG 当PNG图片编译入EXE后 CHEK 开关无法正常显示

#1|PNG
这种格式。0422支持了的呀。

点评

ENVI 开关=#3|PNG CHEK 0422异常上个版本正常  发表于 2023-4-28 15:16
回复

使用道具 举报

18485#
发表于 2023-4-28 15:24:14 | 只看该作者
//注意 Image1是个EXE的图标 加载会卡 详见https://pecmd.net/thread-522.htm

IMAG Image1,L6T422W73H73,%MyName%,call ico,
CALL setSOURCE

_SUB setSOURCE
        FORX * &L8 &L9,i,
        {*        FNAM-ext &tmpNAME=%&fir%
                FIND $%&tmpNAME%=,ENVI &fir=
                ENVI @%i%.SEL=%&fir%
                ^FIND $%%%i%%%<>%%&fir%%,ENVI @%i%.ADDSEL=%&fir%       
                FIND $%i%=&L8,TEAM WAIT 555|ENVI @Image1.update=:::::;%&fir%#0       
        }
_END

点评

贴一个最小能重现问题的代码呗。 你这代码也不知道怎么玩  详情 回复 发表于 2023-4-28 15:45
回复

使用道具 举报

18486#
发表于 2023-4-28 15:45:36 | 只看该作者
smss 发表于 2023-4-28 15:24
//注意 Image1是个EXE的图标 加载会卡 详见https://pecmd.net/thread-522.htm

IMAG Image1,L6T422W73H73 ...

贴一个最小能重现问题的代码呗。
你这代码也不知道怎么玩   

点评

红毛大佬,list控件怎么设置字体啊,最新的这一版我用envi还是不能设置  详情 回复 发表于 2023-4-29 21:08
有时正常有时卡  发表于 2023-4-28 16:29
这随手写个就行  发表于 2023-4-28 16:19
回复

使用道具 举报

18487#
 楼主| 发表于 2023-4-28 20:23:57 | 只看该作者
826773297 发表于 2023-4-14 12:47
pecmd能否创建无边框的圆角窗口,最好是带阴影效果

要么系统本身支持,如XP视觉。
要么自己做,窗口用蒙板。直角扣掉。

点评

M大,如何向一个后台窗口发送组合键,比如向一个隐藏的CMD发送ctrl+c. 网上查到的资料如下,怎么转成PECMD脚本。 正确发送的code:(Alt+A) PostMessage(hWnd,WM_SYSKEYDOWN,VK_MENU,0); PostMessage(hWnd,WM_  详情 回复 发表于 2023-5-19 19:14
M大什么时候入驻PECMD社区 pecmd.net  详情 回复 发表于 2023-4-30 11:47
https://blog.csdn.net/rmxming/article/details/11661365 https://www.cnblogs.com/strive-sun/p/14247220.html https://blog.csdn.net/weixin_34364071/article/details/92546647 无边框窗口设置阴影效果有办法  详情 回复 发表于 2023-4-30 11:30
https://learn.microsoft.com/zh-cn/windows/apps/desktop/modernize/apply-rounded-corners https://blog.csdn.net/weixin_33878457/article/details/92954789 https://blog.csdn.net/dxm809/article/details/114  详情 回复 发表于 2023-4-30 11:23
回复

使用道具 举报

18488#
发表于 2023-4-29 06:06:55 | 只看该作者
写个桌面可以移动插件,该插件被限制在屏幕的最上方,可左右拖拽移动,无法上下移动,拖拽下拉该控件有回弹的效果,松开可以切换壁纸。右键点击该插件可以弹出菜单。
以下是基本的C++程序代码思路和一些需要用到的API函数 可以翻译下吗

  1. 1. 定义控件的初位置和大小,设置控件可以接受鼠标消息。

  2. ```
  3. HWND hWnd = CreateWindowEx(WS_EX_TRANSPARENT, L"STATIC", L"", WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | SS_BITMAP, xPos, yPos, width, height, parentHwnd, NULL, hInstance, NULL);
  4. SetWindowLongPtr(hWnd, GWL_STYLE, GetWindowLongPtr(hWnd, GWL_STYLE) | WS_EX_ACCEPTFILES);
  5. ```

  6. 2. 实现鼠标拖拽和回弹的效果。需要用到以下函数:GetCursorPos、SetCursorPos、ScreenToClient、ClientToScreen、SendMessage、ReleaseCapture。

  7. ```
  8. case WM_LBUTTONDOWN:
  9. {
  10.     ReleaseCapture();
  11.     POINT cursorPos;
  12.     GetCursorPos(&cursorPos);
  13.     ScreenToClient(hWnd, &cursorPos);
  14.     SetCursorPos(cursorPos.x, cursorPos.y);
  15.     m_bDragging = true;
  16.     m_ptStartPos = cursorPos;
  17.     break;
  18. }
  19. case WM_MOUSEMOVE:
  20. {
  21.     if (m_bDragging)
  22.     {
  23.         POINT cursorPos;
  24.         GetCursorPos(&cursorPos);
  25.         ScreenToClient(hWnd, &cursorPos);

  26.         int delta = cursorPos.x - m_ptStartPos.x;
  27.         int xPos = m_ptStartPos.x + delta;
  28.         xPos = max(xPos, 0);
  29.         RECT rcParent;
  30.         GetClientRect(GetParent(hWnd), &rcParent);
  31.         xPos = min(xPos, rcParent.right - m_width);

  32.         SetWindowPos(hWnd, NULL, xPos, m_yPos, 0, 0, SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER);

  33.         m_ptLastPos = cursorPos;
  34.     }
  35.     break;
  36. }
  37. case WM_LBUTTONUP:
  38. {
  39.     if (m_bDragging)
  40.     {
  41.         m_bDragging = false;
  42.         if (m_ptLastPos.x < m_ptStartPos.x)
  43.         {
  44.             SendMessage(hWnd, WM_MOVE, 0, MAKELPARAM(0, m_yPos));
  45.         }
  46.         else if (m_ptLastPos.x > m_ptStartPos.x)
  47.         {
  48.             SendMessage(hWnd, WM_MOVE, 0, MAKELPARAM(rcParent.right - m_width, m_yPos));
  49.         }
  50.     }
  51.     break;
  52. }
  53. ```

  54. 3. 实现切换壁纸的功能,需要用到以下函数:SystemParametersInfo。

  55. ```
  56. case WM_LBUTTONUP:
  57. {
  58.     if (m_bDragging)
  59.     {
  60.         // ...

  61.         // 切换壁纸
  62.         m_bmpIndex = (m_bmpIndex + 1) % m_bmpList.size();
  63.         SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, (PVOID)m_bmpList[m_bmpIndex].c_str(), SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);

  64.         break;
  65.     }
  66. }
  67. ```

  68. 4. 实现右键菜单的弹出,需要用到以下函数:CreatePopupMenu、AppendMenu、TrackPopupMenu、DestroyMenu。

  69. ```
  70. case WM_CONTEXTMENU:
  71. {
  72.     HMENU hPopupMenu = CreatePopupMenu();
  73.     AppendMenu(hPopupMenu, MF_STRING, ID_MENU_ITEM1, L"菜单项1");
  74.     AppendMenu(hPopupMenu, MF_STRING, ID_MENU_ITEM2, L"菜单项2");
  75.     AppendMenu(hPopupMenu, MF_STRING, ID_MENU_ITEM3, L"菜单项3");
  76.     TrackPopupMenu(hPopupMenu, TPM_TOPALIGN | TPM_LEFTALIGN, ptCursor.x, ptCursor.y, 0, hWnd, NULL);
  77.     DestroyMenu(hPopupMenu);

  78.     break;
  79. }
  80. ```
复制代码

点评

回弹自己写定时器缓慢移动控件即可 右键更简单,pecmd示例就有  详情 回复 发表于 2023-4-30 11:40
这很简单  详情 回复 发表于 2023-4-30 10:50
回复

使用道具 举报

18489#
发表于 2023-4-29 06:12:44 | 只看该作者

点评

_SUB WIN1,W633H344,新窗口1,,,-#: SWIN -:SWIN1,L123T50W30H30,, _END win1 _sub swin1,w30h30,,,,: IMAG IMAG1,L0T0W30H30,#1, ENVI @SWIN1.HitTest=30:30 envI @sWIN1.MSG=0x0232::&&wp,  详情 回复 发表于 2023-4-30 11:02
回复

使用道具 举报

18490#
发表于 2023-4-29 20:39:07 | 只看该作者
了凡Win11_22624.1680_PE链接:https://share.weiyun.com/USJIeYYn 密码:qi8fk6
回复

使用道具 举报

18491#
发表于 2023-4-29 21:08:47 | 只看该作者
红毛樱木 发表于 2023-4-28 15:45
贴一个最小能重现问题的代码呗。
你这代码也不知道怎么玩

红毛大佬,list控件怎么设置字体啊,最新的这一版我用envi还是不能设置

点评

设置全局字体倒是可以 _SUB WIN1,W383H367,新窗口1, LIST LIST1,L144T51W60H100,LIST1, ENVI @WIN1.Font=10:微软雅黑 _END win1  详情 回复 发表于 2023-4-30 11:12
回复

使用道具 举报

18492#
发表于 2023-4-30 10:12:03 | 只看该作者

评分

参与人数 1无忧币 +5 收起 理由
smss + 5 淡定

查看全部评分

回复

使用道具 举报

18493#
发表于 2023-4-30 10:50:47 | 只看该作者
smss 发表于 2023-4-29 06:06
写个桌面可以移动插件,该插件被限制在屏幕的最上方,可左右拖拽移动,无法上下移动,拖拽下拉该控件有回弹 ...

这很简单
回复

使用道具 举报

18494#
发表于 2023-4-30 11:02:44 | 只看该作者
smss 发表于 2023-4-29 06:12
https://share.weiyun.com/3f5byXyB
效果如上

_SUB WIN1,W633H344,新窗口1,,,-#:
    SWIN -:SWIN1,L123T50W30H30,,
   
_END
win1
_sub swin1,w30h30,,,,:
    IMAG IMAG1,L0T0W30H30,#1,
   ENVI @SWIN1.HitTest=30:30
envI @sWIN1.MSG=0x0232::&&wp,&&lp, team envI @swin1.POS=?左:上|mess %&wp% - %&lp% - %左% - %上%|envI @swin1.POS=123:50|wait 10000|kill \
_end

点评

也就没有回弹没有右键没有限制而已  发表于 2023-4-30 11:20

评分

参与人数 1无忧币 +1 收起 理由
smss + 1

查看全部评分

回复

使用道具 举报

18495#
发表于 2023-4-30 11:12:50 | 只看该作者
泮安宁 发表于 2023-4-29 21:08
红毛大佬,list控件怎么设置字体啊,最新的这一版我用envi还是不能设置

设置全局字体倒是可以


_SUB WIN1,W383H367,新窗口1,
    LIST LIST1,L144T51W60H100,LIST1,
    ENVI @WIN1.Font=10:微软雅黑
_END
win1

点评

不要全局,只要这一个,一设置字体直接打不开了  详情 回复 发表于 2023-4-30 15:59
回复

使用道具 举报

18496#
发表于 2023-4-30 11:23:51 | 只看该作者
mdyblog 发表于 2023-4-28 20:23
要么系统本身支持,如XP视觉。
要么自己做,窗口用蒙板。直角扣掉。

https://learn.microsoft.com/zh-c ... ply-rounded-corners
https://blog.csdn.net/weixin_33878457/article/details/92954789
https://blog.csdn.net/dxm809/article/details/114013296
这些不知道有没有用

还有如何建立环形进度条
回复

使用道具 举报

18497#
发表于 2023-4-30 11:30:39 | 只看该作者
mdyblog 发表于 2023-4-28 20:23
要么系统本身支持,如XP视觉。
要么自己做,窗口用蒙板。直角扣掉。

https://blog.csdn.net/rmxming/article/details/11661365
https://www.cnblogs.com/strive-sun/p/14247220.html
https://blog.csdn.net/weixin_34364071/article/details/92546647
无边框窗口设置阴影效果有办法吗
回复

使用道具 举报

18498#
发表于 2023-4-30 11:40:13 | 只看该作者
smss 发表于 2023-4-29 06:06
写个桌面可以移动插件,该插件被限制在屏幕的最上方,可左右拖拽移动,无法上下移动,拖拽下拉该控件有回弹 ...

回弹自己写定时器缓慢移动控件即可
右键更简单,pecmd示例就有

评分

参与人数 1无忧币 +5 收起 理由
smss + 5 很给力!

查看全部评分

回复

使用道具 举报

18499#
发表于 2023-4-30 11:42:51 | 只看该作者
很久以前用写小米主题锁屏时一个音乐进度 使用的是蒙版 PECMD对图片展示锯齿太多 旋转估计更多
<Image src="player_dian.png" x="#screen_width/2" y="162" angle="#music_control.music_position/#music_control.music_duration*360" align="center" alignV="center" centerX="28" centerY="128"/>
回复

使用道具 举报

18500#
发表于 2023-4-30 11:47:10 | 只看该作者
mdyblog 发表于 2023-4-28 20:23
要么系统本身支持,如XP视觉。
要么自己做,窗口用蒙板。直角扣掉。

M大什么时候入驻PECMD社区

pecmd.net

评分

参与人数 1无忧币 +5 收起 理由
smss + 5 就在今天

查看全部评分

回复

使用道具 举报

18501#
发表于 2023-4-30 11:48:06 | 只看该作者
<!--以下是用圆环中的一部分做为电量进度动画效果 也需要蒙版->
<Text x="557" y="125" color="#000000" size="26" format="%d%%" paras="#battery_level" align="center" alignV="center"/>
<Image x="418" y="280" align="center" alignV="center" src="battery_bg.webp"/>
<Image x="418" y="280" align="center" alignV="center" srcExp="'battery'+#Color_id+'.webp">
<Mask w="213" h="426" src="wave_9.webp" pivotX="213" pivotY="213"   rotation="ifelse(eq(1,#battery_state),#angle0,min(#battery_level,100)/100*140+70)"/>
</Image>
回复

使用道具 举报

18502#
发表于 2023-4-30 14:52:14 | 只看该作者
还有很大差距 还不如固定在那
  1. team ENVI &::WM_TRAYNOTIFY=1109|SET  ::WM_RBUTTONDOWN=0x0204|SCRN &ScrW,&ScrH|CALC &L=%&ScrW%*0.618|CALL @WIN1
  2. _SUB WIN1,L0T0W%&ScrW%H100,挂件,,,#-:,,%&ScaleCMD%
  3.         ENVI @this.MSG=_%&::WM_TRAYNOTIFY%::&&wp,&&lp,CALL DoMenu2 %&wp% %&lp%
  4.         SWIN -:SWIN1,L%&L%T0W32H68,,
  5.         TIPS* ,挂件,,,%小标%
  6. _END

  7. _sub swin1,W32H68,,,,:
  8.         IMAG MyCtr01,L0T0W32H68,#1,
  9.         ENVI @SWIN1.HitTest=32:68
  10.         envI @sWIN1.MSG=0x0232::&&wp,&&lp, team envI @swin1.POS=?左:上|envI @swin1.POS=%左%:0|了然 壁纸
  11. _END

  12. _SUB DoMenu2
  13.         IFEX $%&::WM_RBUTTONDOWN%=%2,CALL @--popmenu RMenu2
  14. _END

  15. _SUB RMenu2
  16.         MENU ,退出,KILL \,,??SHELL32.dll#27
  17. _END
复制代码

点评

什么差距,不能拖吗  详情 回复 发表于 2023-4-30 17:50
回复

使用道具 举报

18503#
发表于 2023-4-30 15:59:54 | 只看该作者
826773297 发表于 2023-4-30 11:12
设置全局字体倒是可以

不要全局,只要这一个,一设置字体直接打不开了

点评

不建议用pecmd自带的list控件,太丑了,可自定义性差,用swin把  详情 回复 发表于 2023-4-30 17:49
回复

使用道具 举报

18504#
发表于 2023-4-30 16:26:49 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

18505#
发表于 2023-4-30 17:49:23 | 只看该作者
泮安宁 发表于 2023-4-30 15:59
不要全局,只要这一个,一设置字体直接打不开了

不建议用pecmd自带的list控件,太丑了,可自定义性差,用swin把

点评

swin怎么充当list用呀  详情 回复 发表于 2023-4-30 18:50
list简单,能用就行  详情 回复 发表于 2023-4-30 18:14
回复

使用道具 举报

18506#
发表于 2023-4-30 17:50:39 | 只看该作者
smss 发表于 2023-4-30 14:52
还有很大差距 还不如固定在那

什么差距,不能拖吗
回复

使用道具 举报

18507#
发表于 2023-4-30 18:14:53 | 只看该作者
826773297 发表于 2023-4-30 17:49
不建议用pecmd自带的list控件,太丑了,可自定义性差,用swin把

list简单,能用就行
回复

使用道具 举报

18508#
发表于 2023-4-30 18:50:04 来自手机 | 只看该作者
826773297 发表于 2023-4-30 17:49
不建议用pecmd自带的list控件,太丑了,可自定义性差,用swin把

swin怎么充当list用呀
回复

使用道具 举报

18509#
发表于 2023-5-1 16:07:17 | 只看该作者
调整窗口大小后为什么不能滚动呢
WIN1
_SUB WIN1,W287H254,新窗口1,
    SWIN swin1:WIN2,L0T0W287H254,,0x100
_END
_SUB WIN2,W287H200,,,,,,
    ITEM ITEM1,L91T109W60H30,ITEM1,ENVI @this.pos=:::100000
_END

点评

SWIN改变大小响应滚动条.wcs 这个估计能满足你  详情 回复 发表于 2023-5-5 17:09
回复

使用道具 举报

18510#
发表于 2023-5-2 22:48:41 | 只看该作者
本帖最后由 Anson4 于 2023-5-3 10:00 编辑

去年4月份的时候,M大提供了浏览选择文件夹和文件时的对话框风格与浏览选择文件时对话框风格一样的示例,后来经过5大的修改,以及我自己根据需要调整了一下。
现在待解决的问题如下:
1. 在窗口的宽度被拉大的时候,文件类型选择下拉框的宽度会向左自动拉长,如何才能去除其该特性,保持静态的宽度呢?
2. 示例仅支持返回选择单个文件夹,如何才能实现支持文件夹多选呢?
3. 示例选择多个文件时,返回的结果只有第一个包含路径而且不正常,其余的不包含,如何才能实现返回的所有文件都包含正常的路径呢?
BrowDirX_Click_A4.zip (3.08 KB, 下载次数: 1)




回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-8 04:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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