无忧启动论坛

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

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

    [复制链接]
3811#
 楼主| 发表于 2012-7-21 12:38:30 | 只看该作者

回复 #4024 clonecd 的帖子

》》增加 数字 8 红勾
给个图吧!
发一个ICO文件上来。
回复

使用道具 举报

3812#
 楼主| 发表于 2012-7-21 14:50:51 | 只看该作者

回复 #4024 clonecd 的帖子

》》无图标。
最新版:

+icon后面无数字就是无图标。
mess+icon 无图标无图标无图标@#OK
MESS+icon数字

■+icon后的数字:0-7。无数字无图标,0惊叹/1警告,2信息/3星号,4问题,5停止/6错误/7招手停

HELP MESS


[ 本帖最后由 2012abc19701 于 2012-7-21 14:53 编辑 ]
回复

使用道具 举报

3813#
发表于 2012-7-22 06:27:15 | 只看该作者
什么"红勾"..............
举例
回复

使用道具 举报

3814#
发表于 2012-7-22 07:04:32 | 只看该作者
不知道是什么样的?
,貌似绿色的吧? X才是红的

桌面.rar

1.41 KB, 下载次数: 37, 下载积分: 无忧币 -2

回复

使用道具 举报

3815#
 楼主| 发表于 2012-7-22 15:29:40 | 只看该作者

MESS 自定义图标

原帖由 clonecd 于 2012-7-22 08:50 发表
勾是绿色的,应该是我搞错了。146669
楼主就把上面这个弄上去吧。这是DVD008老大提供的,我只是挑出来一个而已。


弄上去了

MESS+icon数字 。。。
│■+icon后的数字:0-7。无数字无图标,0惊叹/1警告,2信息/3星号,4问题,5停止/6错误/7招手停。
│       >=32为自定义对应IconGroup号,可自加,102为绿对钩
目前有3个图标100,101,102

回复

使用道具 举报

3816#
发表于 2012-7-22 16:55:34 | 只看该作者
一组图标:。。。。。。。。。。
看看有没有用?

[ 本帖最后由 dvd008 于 2012-7-22 17:02 编辑 ]

未命名.JPG (49.71 KB, 下载次数: 469)

未命名.JPG

ico.rar

12.1 KB, 下载次数: 14, 下载积分: 无忧币 -2

回复

使用道具 举报

3817#
 楼主| 发表于 2012-7-22 18:35:51 | 只看该作者

回复 #4035 clonecd 的帖子

已修正。              
回复

使用道具 举报

3818#
 楼主| 发表于 2012-7-22 19:24:10 | 只看该作者

回复 #4034 dvd008 的帖子

加到包中。          
回复

使用道具 举报

3819#
 楼主| 发表于 2012-7-23 08:54:56 | 只看该作者
原帖由 clonecd 于 2012-7-23 06:37 发表
前导"@*"表示并行调用由_SUB命令定义的窗口。和父窗口可同时操作。关闭前不能执行下一命令。
前导"@^"类似@*,但父窗口不会挡住子窗口,可用于纯事件父窗口。
后者关闭前也是不能执行下一命令的。但这个 ...

WIN1
_SUB WIN1,W200H150,新窗口1,,,,, -maxb -size
    ENVI @this.Visable=1 //提前显示
    CALL @^WIN2    //
可以同时操作,WIN1 始终在 WIN2  下面。
    //CALL @*WIN2  //
可以同时操作,上下关系可以随时改变。
    //CALL @WIN2   //
不可以同时操作,WIN1 始终在 WIN2  下面。只能操作WIN2。
_END

_SUB WIN2,W150H100,新窗口2,,,,,, -maxb -size
_END  
如果 WIN1 为全透明,就是 纯事件父窗口,看不见,但能捕捉鼠标消息;参见 pecmd_main.ini。
下面是拖动WIN1时的效果,WIN1活动态,但始终在子窗口WIN2下面




[ 本帖最后由 2012abc19701 于 2012-7-23 09:01 编辑 ]
回复

使用道具 举报

3820#
 楼主| 发表于 2012-7-23 14:00:57 | 只看该作者
原帖由 clonecd 于 2012-7-23 10:38 发表
楼主,附件的代码曾向你请教多次,现在再问另外一个问题。146748

// 以下SHOWFIRST是子过程,在这个子过程当中使用两个线程F_FIND_TXT和F_FIND_JPG,是不是也必须使用消息通知啊?还请指教。
回复:
可以用 消息通知 , 也可以不用消息通知。有窗口时也如此。
A方案:
1) _SUB SHOWFIRST,*
说明此时 SHOWFIRST 函数到结尾就结束了但处在等待THREAD*的2个子线程状态。

也可以B方案(差不多):
1) _SUB SHOWFIRST,#
2) KILL  @@%&WIN1%  //SHOWFIRST  退出
说明此时 SHOWFIRST 函数到结尾就处于空闲状态。需要 KILL 才能退出。

关于多线程5.zip (830 Bytes, 下载次数: 9)


[ 本帖最后由 2012abc19701 于 2012-7-23 14:18 编辑 ]
回复

使用道具 举报

3821#
 楼主| 发表于 2012-7-23 17:20:49 | 只看该作者
原帖由 clonecd 于 2012-7-23 15:47 发表 ENVI &&ToList=1|2|3|4|5...

1:
_SUB ADD2LIST
      ENVI @-:-:Name1:L01.VAL=%&ToList%
      ENVI @-:-:Name2:L02.VAL=%&ToList%
      ENVI @L03.VAL=%&ToList%
    //ENVI @-:-:Name3:L03.VAL=%&ToList%          //也可以,
_END

ADD2LIST 是 NAME3的L03的事件函数ADD2LIST,到 NAME1的L01需要上朔到爷爷那儿
可以看作一颗树:
爷爷(窗口)   爸爸(窗口)   控件/执行栈
WIN3         TABS1      
WIN3         NAME1        L01
WIN3         NAME2        L02
WIN3         NAME3       L03  
                |--------- ADD2LIST //你现在在这儿ADD2LIST
消息都是在所在的子窗口栈上直接执行,如果CALL 再派生一个子栈。
说明: 为了书写太长, 页面直接挂在窗口WIN3上,不是属性TABS1.


- 是按 执行栈 上朔。   名字是按 窗口-控件关系 下行。
第一个 - ADD2LIST执行栈 NAME3. 第二个 - TABS1
如果包装一层函数,还要层 - 。
操作下行时, 函数层级影响,因为子函数窗口不变ENVI @L03.VAL=%&ToList%始终不变。

2:
如果在 WIN3 中直接调用ADDMAINLIST
_SUB ADDMAINLIST
      ENVI @Name1:L01.VAL=%&ToList%
      ENVI @Name2:L02.VAL=%&ToList%
      ENVI @Name3:L03.VAL=%&ToList%
    //ENVI @-:Name3:L03.VAL=%&ToList%    //也可以,
_END

3:
如果在 WIN3 中直接写代码(这个清楚)
      ENVI @Name1:L01.VAL=%&ToList%
      ENVI @Name2:L02.VAL=%&ToList%
      ENVI @Name3:L03.VAL=%&ToList%
      //不可以  ENVI @-:Name3:L03.VAL=%&ToList%

4:
觉得不好掌握。就给主窗口发消息。 消息响应函数 仿照2的写法。清楚明了。
WIN3 函数开始 ENVI &&WID1=%&&__WINID%  //保存下来。
ENVI @@SENDMSG=%WIND1%;#1    //这个直接用WINID 没有层级问题。
ENVI @@SENDMSG=%WIND1%;#2  



[ 本帖最后由 2012abc19701 于 2012-7-23 18:49 编辑 ]
回复

使用道具 举报

3822#
 楼主| 发表于 2012-7-23 23:19:09 | 只看该作者

回复 #4048 clonecd 的帖子

标准为 分号
目前写 冒号 也可以。
回复

使用道具 举报

3823#
 楼主| 发表于 2012-7-24 00:05:21 | 只看该作者
原帖由 clonecd 于 2012-7-23 18:49 发表
综合前面两个问题,我产生了一个新问题,在附件里。       146776
解决了这个问题,估计执行栈的问题我也基本搞懂了,不懂的再问。
这段时间跟你学了很多东西。谢谢。


_SUB CHECKDONE
     FIND $%&F_FIND_TXT_OK%%&F_FIND_JPG_OK% = 11,! EXIT _SUB
     ENVI &&PARENT=-:-:-:-:-:-:
     ENVI @%&PARENT%Name1:L01.VAL=%&TXTLS%
     ENVI @%&PARENT%Name1:L01.ADD1=%&JPGLS%

     ENVI @%&PARENT%Name2:L02.VAL=%&TXTLS%
     ENVI @%&PARENT%Name2:L02.ADD1=%&JPGLS%

     ENVI @%&PARENT%Name3:L03.VAL=%&TXTLS%
     ENVI @%&PARENT%Name3:L03.ADD1=%&JPGLS%
_END
执行栈连接关系:
   【WIN3】   【NAME3】  【SHOWFIRST,*】 【THREAD*】   F_FIND_TXT   OnMsg2  CHECKDONE
CHECKDONE 上朔 到WIN3 有6个 - .



2:
如果  SHOWFIRST 后面不带『,* 』 则只要5个 - .因为 THREAD* 此时直接接在NAME3上。
执行栈连接关系:
   【WIN3】   【NAME3】  【THREAD*】   F_FIND_TXT   OnMsg2  CHECKDONE
     ENVI &&PARENT=-:-:-:-:-:    //5个-
上面带【】的有持久栈。 普通函数(没有逗号)没有 持久栈, THREAD* 直接跳过它上朔。

    ENVI &&F_FIND_TXT_OK=0
    ENVI &&F_FIND_JPG_OK=0
需要移到WIN3中定义,以便共享。
SHOWFIRST只是重新清0一下。
    ENVI &F_FIND_TXT_OK=0
    ENVI &F_FIND_JPG_OK=0



3:
还是下面好用:
ENVI @@POSTMSG=窗口号;#1[;参数1;参数2]
ENVI @@SENDMSG=窗口号;#1[;参数1;参数2]

[ 本帖最后由 2012abc19701 于 2012-7-24 00:07 编辑 ]
回复

使用道具 举报

3824#
 楼主| 发表于 2012-7-24 02:06:38 | 只看该作者
原帖由 clonecd 于 2012-7-24 00:25 发表
也就是说TABS1不算一个执行栈吗?



TABS1是一个普通控件,相ITEM, EDIT一样;没有执行栈。

只有那些 _SUB 定义的窗口才有。
而 _SUB 定义的窗口 有和 属性页面 和 SWIN 关联, 所以目前只有这2者对应的有。
其它控件都没有。他们的事件都运行在所在的 _SUB窗口  上.
回复

使用道具 举报

3825#
 楼主| 发表于 2012-7-24 05:13:57 | 只看该作者

PECMD2012.1.70.1-120723_win32.多窗口多线程孵化版-20.sfx.zip 【支持自动化操作】

PECMD2012.1.70.1-120723_win32.多窗口多线程孵化版-20.sfx.zip


支持自动化操作(直接操作另外一个进程:按钮,菜单,填表)
│FIND  --pid  变量名,程序名     //查询      
│FIND [--sub][--forpid:PID|--fortid:TID] --wid*@[父窗口ID] 变量名,窗口标题//查询*为只前部匹配
│FIND [--sub][--forpid:PID|--fortid:TID] --wid#父窗口ID   变量名,控件ID //查询控件的窗口ID   
│FIND --menu    变量名,窗口ID                           //查询窗口的MENU标识
│FIND --menu#0  变量名,MENU标识                         //查询MENU的子MENU标识
│FIND --menu#序号  变量名,MENU标识                      //查询指定序号子MENU信息 序号>=1   

┃※--wid @为全部: 一行一个。序号 窗口ID 控件ID 父窗口ID 线程ID 进程ID 类型 标题。以TAB间隔
┃※--menu#序号:  序号  MENU标识  控件ID 文本。以TAB间隔。序号为空时返回全部,多行。

按字节填充内存对象
ENVI$# PE变量名= 。。。
ENVI%# PE变量名= 。。。

申请一段内存:
ENVI$# PE变量名= *1M  #    //1M 字节,未初始化
ENVI$# PE变量名= *1M  0    //1M 字节,初始化为0
ENVI$# PE变量名= *1M  30   //1M 字节,初始化为0x30

申请一段内存:
ENVI$ PE变量名= *1M  #    //1M 宽字符,未初始化   //2M字节
ENVI$ PE变量名= *1M  0    //1M 宽字符,初始化为0x0000
ENVI$ PE变量名= *1M  30   //1M 宽字符,初始化为0x0030



│■ENVI @@POSTMSG=[:变量名;]窗口号;消息号[;参数wPrm[;参数lPrm]]     //异步发送消息  
│■ENVI @@SENDMSG=[:变量名;]窗口号;消息号[;参数wPrm[;参数lPrm]]     //同步发送消息
│■适用于_SUB窗口和控件。消息号见:WM_消息.WCS,可以IMPORT . 变量名返回结果(含义因消息而定)
│■消息号以#开头为PECMD应用自定义消息1-N。wPrm lPrm参数名, 参数名可以被引用。等号后的_表示下
│  半部响应模式,在系统响应之后响应【对衍生消息会以相反的顺序响应】。 上面;可以用逗号。
│  消息参数可以是数字,@PE变量名(ENVI$# 填充非字符串对象)$字符串(只SENDMSG)

┃ENVI @@POS=窗口ID:左:上:宽:高:层级:透明度:前置:激活
┃│前置1为前置,激活1为激活  
┃★ ENVI @@Enable=窗口ID:数值",0为禁用状态;1为可用状态(不响应)。#用于子线程
┃★ ENVI @@Visable=窗口ID:数值",设置可见状态;0为不可见,1为可见。* 为第2种方案


自动脚本支持函数.WCS:(包内有)

//2个工具
ENVI &&ETOOL=T:\PE_RESEDIT\ResEdit.ntr   //编辑工具
ENVI &&PTOOL=T:\PE_RESEDIT\pack.dat      //压缩工具


SET  ::WM_LBUTTONDOWN                  =0x0201
SET  ::WM_LBUTTONUP                    =0x0202
SET  ::WM_COMMAND=0x0111
SET  ::BN_CLICKED=0
SET  ::WM_SETTEXT                      =0x000C
SET  ::WM_GETTEXT                      =0x000D

//    ENVI &&SubPid=
//    EXEC --pid:&SubPid  --exe:%&ETOOL%  ResEdit %&TMP_OUT1%    //编辑
//    ENVI &&&Clipboard?=&&OLD  //备份剪切板
//    ENVI &&&Clipboard=%&OLD%  //恢复剪切板


//等待%&SubPid%进程的窗口,最多10秒
//WAIT_FIND_WIND 窗口标题     
_SUB WAIT_FIND_WIND
    TEAM ENVI  &&WID=0| CALC #&&I=10000 / 20| ENVI &&T=%*
    LOOP #%&I% > 0,  TEAM WAIT 50| FIND --forpid:%&SubPid% --wid &WID,%&T%| CALC #&I=%&I% -1| IFEX $ %&WID% > 0, ENVI &I=0
    WAIT 20
_END
//    CALL WAIT_FIND_WIND Resource Hacker  -  %&TMPF%

//函数:  SetAcative  窗口ID  
_SUB SetAcative
     ENVI @@POS=%1:::::::1:1 //激活
_END



//SetWindowText
控件的窗口ID  文本名称
_SUB SetWindowText
    ENVI @@POS=%1:::::::1:1 //激活
    ENVI @@SENDMSG=%1;%WM_SETTEXT%;0;@%2
_END
//    SetWindowText %&EDIT1% &V1

//函数:  RUNMENU
//参数: 窗口ID 序号1 [序号2] [序号3]
_SUB RUNMENU
    ENVI &&WID1=%1
    ENVI &&I1=%2
    ENVI &&I2=%3
    ENVI &&I3=%4
    FIND --menu   &&MENUID,%&WID1%   
    FIND --menu#%&I1%   &&v,%&MENUID%
    MSTR*  &&MID=<2>%&v%
    MSTR*  &&IDD=<3>%&v%

    //CALL LISTMENU %&ID4%  &M
    FIND $ = %&I2%,! FIND --menu#%&I2%   &v,%&MID%
    FIND $ = %&I2%,! MSTR*  &&MID=<2>%&v%
    FIND $ = %&I2%,! MSTR*  &&IDD=<3>%&v%
    //ENVI &M=%&v%
    FIND $ = %&I3%,! FIND --menu#%&I3%   &v,%&MID%
    FIND $ = %&I3%,! MSTR*  &&IDD=<3>%&v%

    ENVI @@POS=%&WID1%:::::::1:1 //激活
    CALC  #&&wp=%IDD% + %&BN_CLICKED% * 0x10000
    //ENVI @@POS=%&WID3%:::::::1:1 //激活
    ENVI @@POSTMSG=%&WID1%;%&WM_COMMAND%;%&wp%;0
_END
//    CALL RUNMENU %&WID% 1 3  //保存(&S)


// RUBBUTTON  窗口ID  按钮ID
_SUB RUBBUTTON
    ENVI &&WID1=%1
    ENVI &&BWID=%2
    ENVI @@POS=%&WID1%:::::::1:1 //激活
    ENVI @@POSTMSG=%&BWID%;%&WM_LBUTTONDOWN%;0;0
    WAIT 100
    ENVI @@POSTMSG=%&BWID%;%&WM_LBUTTONUP%;0;0
    //WAIT 100
    //ENVI @@SENDMSG=%&WID1%;%&WM_COMMAND%;%&wp%
_END //RUBBUTTON
//    CALL RUBBUTTON  %&&WID2%   %&&BTWIDOPEN%
  


[ 本帖最后由 2012abc19701 于 2012-7-24 08:22 编辑 ]
回复

使用道具 举报

3826#
 楼主| 发表于 2012-7-25 09:12:15 | 只看该作者

PECMD2012.1.70.1-120723_win32.多窗口多线程孵化版-21.sfx.zip

PECMD2012.1.70.1-120723_win32.多窗口多线程孵化版-21.sfx.zip

┃EXEC --poprmenu[:x.y]      文件名    //弹出改文件的右键菜单        
┃EXEC --runrmenu:菜单项名   文件名    //执行该文件的指定右键菜单条目
┃※ ENVI @@RMENU=变量名;文件名   //获得文件的右键菜单,多行。空行一般为分隔符


EXEC --poprmenu  C:\BOOT.INI
效果:

EXEC --runrmenu:编辑  C:\BOOT.INI
开始   C:\BOOT.INI  的右键菜单“编辑” 命令
回复

使用道具 举报

3827#
 楼主| 发表于 2012-7-25 12:45:13 | 只看该作者

PECMD2012.1.70.1-120723_win32.多窗口多线程孵化版-22.sfx.zip

PECMD2012.1.70.1-120723_win32.多窗口多线程孵化版-22.sfx.zip

1:运行内存文件。
LOAD **mem 变量名  [命令行参数]      //运行内存动态文件代码
变量 中可以是多行。

ENVI &&&EnviMode=1
ENVI &&X=%
ENVI &&CMD=TEAM MESS 123 [%&X%*] | CALL ABC   
//CALL ABC  无效
_SUB ABC
    MESS  in ABC
_END
LOAD **mem &CMD  1 2 3 4


2: 运行内存函数
CALL **mem 变量名  [命令行参数]      //运行内存动态函数代码
变量 中可以是多行。即一个函数体。
不需要头尾的 _SUB _END

CALL 和LOAD 不同, 还可以调用当前文件的函数
ENVI &&&EnviMode=1
ENVI &&X=%
ENVI &&CMD=TEAM MESS 123 [%&X%*] | CALL ABC  
//CALL ABC  有效
_SUB
ABC
    MESS  in ABC
_END
CALL **mem &CMD  1 2 3 4

这样可以动态生成代码。
另外 EXEC  PECMD.EXE  /L  也支持 动态代码。


3:popmenu  增强
CALL @--popmenu[:x.y] 窗口
窗口 支持 MENU 之外的语句。 即普通窗口。
一般不要在里面创建控件。
由条件和循环,从而可以创建动态POPMENU。

_SUB MENU_DYN
    ENVI &&I=1
    LOOP # %&I% <= %&NUM%, TEAM ENVI~ &&itemi=item%&I%| ENVI &&cmdi=MENU %&itemi% |  %&cmdi% | CALC #&I=%&I% + 1
_END


[ 本帖最后由 2012abc19701 于 2012-7-25 12:56 编辑 ]
回复

使用道具 举报

3828#
 楼主| 发表于 2012-7-25 20:30:52 | 只看该作者
1: 克隆运行变量
EXEC  --clone:变量名  [--exe:PECMD文件]   ...  命令行参数
※--clone:变量名: 克隆一个PECMD来运行变量名中的脚本。--exe:可以指定另一个PECMD.EXE
主要用来开一个PECMD来执行编辑框中的代码,而不用生成一个临时文件,而且不影响当前环境。
注意--exe指定的必须-19版以后的 PECMD.EXE

-19版以后的 PECMD.EXE的命令行, 最新版PECMDEDIT没制定文件名时,都是用的这种技术。
ENVI &&&EnviMode=1
ENVI &&X=%
ENVI$ NL=0d 0a
ENVI &&CMD=MESS LINE1 123 [%&X%*] %NL% MESS LINE2 XYZ [%&X%*]
EXEC --clone:&CMD clone方式 1 2 3 4


2: TEAM 嵌套
最外层用 | 分断
里面一层用 || 分断
再里面一层用 ||| 分断
。。。 。。。
TEAM 嵌套: 最外层用 | 分断。里面一层用 || 分断。再里面一层用 ||| 分断。。。
ENVI A=0
ENVI B=1
ENVI C=1
TEAM  IFEX $1= %A%,TEAM MESS 1-1|| MESS 1-2  |  IFEX $1 = %B%,TEAM MESS 2-1|| ESS 2-2 |  IFEX $1 = %C%,TEAM MESS 3-1|| MESS 3-2


3:窗口查询
┃※ ENVI @@Enable=?窗口ID:变量名",返回可用状态。     
┃※ ENVI @@Visable=?窗口ID:变量名",返回可见状态。   
┃※ ENVI @窗口控件名.Enable=?变量名",返回可用状态。  
┃※ ENVI @窗口控件名.Visable=?变量名",返回可见状态。
┃※ ENVI @@IsWindow=?窗口ID:变量名",返回四不是窗口ID
┃   ENVI @@POS=?窗口ID:左名:上名:宽名:高名:X0名:Y0名::激活名
┃   ENVI @窗口控件名.POS=?左名:上名:宽名:高名:X0名:Y0名::激活名
TEAM EXEC  NOTEAD | WAIT 3000
FIND --wid &WID,无标题 - 记事本
ENVI @@POS=?%&WID%:左名:上名:宽名:高名:X0名:Y0名::激活名
ENVI @@Enable=?%&WID%:&V1
ENVI @@Visable=?%&WID%:&V
ENVI @@IsWindow=?%&WID%:&W
MESS %&WID%  [%&W%]  [%&V1%]  [%&V%]  %左名%:%上名%:%宽名%:%高名%:%X0名%:%Y0名%::%激活名%



[ 本帖最后由 2012abc19701 于 2012-7-26 06:00 编辑 ]
回复

使用道具 举报

3829#
发表于 2012-7-25 22:33:24 | 只看该作者
近一两天的更新, 115 的 "普通下载" 都显示 "404 Not Found"!
楼主请试一试可否成功下载!
回复

使用道具 举报

3830#
 楼主| 发表于 2012-7-25 23:29:06 | 只看该作者

回复 #4062 nu852 的帖子

好像和网络有关,楼上就能下载。
我也不能下载。
用U蛋能下载。
115 又在干嘛??????
回复

使用道具 举报

3831#
 楼主| 发表于 2012-7-26 12:08:16 | 只看该作者
3:窗口查询
┃※ ENVI @@Enable=?窗口ID:变量名",返回可用状态。     
┃※ ENVI @@Visable=?窗口ID:变量名",返回可见状态。   
┃※ ENVI @窗口控件名.Enable=?变量名",返回可用状态。  
┃※ ENVI @窗口控件名.Visable=?变量名",返回可见状态。
┃※ ENVI @@IsWindow=?窗口ID:变量名",返回四不是窗口ID
┃   ENVI @@POS=?窗口ID:左名:上名:宽名:高名:X0名:Y0名::激活名
┃   ENVI @窗口控件名.POS=?左名:上名:宽名:高名:X0名:Y0名::激活名
TEAM EXEC  NOTEAD | WAIT 3000
FIND --wid &WID,无标题 - 记事本
ENVI @@POS=?%&WID%:左名:上名:宽名:高名:X0名:Y0名::激活名
ENVI @@Enable=?%&WID%:&V1
ENVI @@Visable=?%&WID%:&V
ENVI @@IsWindow=?%&WID%:&W
MESS %&WID%  [%&W%]  [%&V1%]  [%&V%]  %左名%:%上名%:%宽名%:%高名%:%X0名%:%Y0名%::%激活名%


4:进程查询
┃ FIND  --pid*@.[#父进程ID|进程ID]  变量名,程序名  //查询,*为只前部匹配“.”匹配扩展名   

┃※--pid @为列表: 一行一个。进程ID 父进程ID 内存K CPU使用计数 文件名 命令行。以TAB间隔。
列出“命令行”只对NT、2000、XP 有效
列出所有进程:
FIND --pid*@  &&L,
MESS. %&L%




[ 本帖最后由 2012abc19701 于 2012-7-26 12:14 编辑 ]
回复

使用道具 举报

3832#
发表于 2012-7-26 13:54:02 | 只看该作者
115,现在需要登录,才能下载!

就是说,要先注册一个115帐号.

登录后,下载正常!
回复

使用道具 举报

3833#
 楼主| 发表于 2012-7-26 22:56:20 | 只看该作者
原帖由 clonecd 于 2012-7-26 22:27 发表
问题和代码在附件里。    147050


CALL @*创建并行窗口,必须主窗口堆栈上,窗口----SIWN、TABS控件堆栈上


控件SENDMSG、POSTMSG转发主窗口, 主窗口 响应,
_SUB Page3,W289H249,P2,,,#
    LIST L03,L18T20W240H20,    ,,,0x100
//    ITEM ITEM1,L58T50W140H30,打开子窗口,CALL @*SHOWFIRST,   //问题代码
    ITEM ITEM1,L58T50W140H30,打开子窗口,ENVI @-.POSTMSG=#1;3;0    //改正代码
_END


_SUB WIN3,W350H333,先关主窗口再关子窗口,
ENVI @this.MSG=_#1: CALL @*SHOWFIRST   //在主窗口创建并行窗口

_END
子窗口主窗口1改正.zip (718 Bytes, 下载次数: 20)
回复

使用道具 举报

3834#
 楼主| 发表于 2012-7-26 23:03:38 | 只看该作者

PECMDBIG5.WCS 自动化示例

原帖由 2012abc19701 于 2012-7-26 22:56 发表

PECMDBIG5.WCS   自动化示例。(包内)


  自动执行 编辑内置资源, 自动菜单、按钮、。。。 。。。
回复

使用道具 举报

3835#
 楼主| 发表于 2012-7-27 04:37:18 | 只看该作者

【简化命令响应-】

【简化命令响应-】
原帖由 clonecd 于 2012-7-26 23:52 发表
抓下来慢慢学习体会。




突发奇想: 【简化命令响应-】


在控件响应和 MSG 响应 的命令前加减号“-” ,命令直接在主窗口上运行。
解决:
1》 CALL @*
2》 没有层级问题。 始终顶级往下访问。


例1:
ITEM ITEM1,L58T50W140H30,打开子窗口,-CALL @*SHOWFIRST,

命令直接在主窗口上运行。不用MSG转发了。




例2:
ITEM ITEM1,L58T50W140H30,打开子窗口,-TEAM ENVI @Name2:L02.ADD1=111||222|ENVI @Name2:L02.SEL=111

ENVI @Name1:ITEM1.MSG=_%WM_MOUSEHOVER%:-TEAM ENVI @Name2:L02.ADD1=111||222|ENVI @Name2:L02.SEL=111  

这里访问第2页,什么“-”。直接Name2:L02.ADD1=
函数如此方便。


//另外,上面由于被TEAM嵌套, 里层的|写为||。实际处理时自动解码为|。




3. 双体 IFEX/FIND 嵌套

内层的!加一个!。(任何字面上的!字符,如MESS输出的, EXEC的)

IFEX/FIND, IF部分!ELSE部分

单体的不用:

    IFEX/FIND,!! IF部分  //!紧贴,

    IFEX/FIND,!  ELSE部分 //!紧贴,

如:

IFEX $1=2, IFEX $1 = 2, IFEX $1=2, MESS 1-1!!!MESS 1-2!!  IFEX $2 = 2, MESS 2-1!!!MESS 2-2!    IFEX $1=2, MESS xxx-1!!MESS xxx-2



[ 本帖最后由 2012abc19701 于 2012-7-27 05:17 编辑 ]
回复

使用道具 举报

3836#
发表于 2012-7-27 11:50:10 | 只看该作者
PECMD2012.1.70.1-120723_win32.多窗口多线程孵化22.sfx.zip 有众多版本下载,
是否最顶的, 已包含其下的更新呢?
回复

使用道具 举报

3837#
 楼主| 发表于 2012-7-27 13:19:26 | 只看该作者

回复 #4073 nu852 的帖子

是的,总是最顶上的。
下面的没删掉,是有时要对比。其实没什么用。

[ 本帖最后由 2012abc19701 于 2012-7-27 13:24 编辑 ]
回复

使用道具 举报

3838#
 楼主| 发表于 2012-7-27 20:23:52 | 只看该作者
原帖由 clonecd 于 2012-7-27 17:19 发表 关于TIPS
       省略所有参数时表示清除托盘栏图标。
能否增强一下?改为清除所有由TIPS命令产生的气泡提示,不管它是否在托盘,也不管
这些气泡提示是否已到了它们的寿命,如下红色部分TIPS 标题,内 ...
TIPS    //清除托盘图标气泡
TIPS -  //清除气泡提示框
TIPS * //清除托盘栏图标和气泡提示框


不理会原有超时,直接清除。
回复

使用道具 举报

3839#
 楼主| 发表于 2012-7-29 07:55:28 | 只看该作者
原帖由 clonecd 于 2012-7-29 00:44 发表
楼主看你悄悄地更新了CALC命令,不知道有什么增强或改变。

1: 支持数学函数
┃abs(a)    绝对值函数、arccos(a) 反余弦函数、arcctg(a) 反余切函数┃
┃arcsin(a) 反正弦函数、arctan(a) 反正切函数、ceil(a)     向上整数┃
┃cos(a)      余弦函数、ctg(a)      余切函数、deg(a)    弧度转角度┃
┃div(a,b)    整除函数、exp(a)     e的幂函数、frac(a)   取小数函数┃
┃floor(a)    向下整数、hypot(a,b)  弦长函数、int(a)      取整函数┃
┃lg(a)       常用对数、ln(a)       自然对数、log(a,b)    对数函数┃
┃max(a,b)  最大值函数、min(a,b)  最小值函数、mod(a,b)    余数函数┃
┃pow(a,b)      幂函数、pow10(a)  10的幂函数、rad(a)    角度转弧度┃
┃rand(a)     随机函数、round(a)  4舍5入取整、shl(a,b)  位左移函数┃
┃shr(a,b)  位右移函数、sin(a)      正弦函数、sqrt(a)     开方函数┃
┃tan(a)      正切函数、xor(a,b)  位异或函数、not(a) [可~a] 按位反┃
┃lnot(a) [可!a] 逻辑反                                           ┃

2:输出支持科学计数法,以输出很小的数如
1·2345E-30
CALC [-base=2|8|10|16|N] [#]变量=表达式[#[#][小数位数][E|F|G]]
E为科学计数法,F为小数形式,G为自动取较高精度方式。默认:很小很大的数按E格式,否则F格式。
// <0.0001     >=1E32

3:对应地, 输入也支持科学计数法,如 1·2345E10 * 2.3456E20

4: 可以保留小数部分后面无意义的0. 某些时候需要等长.
默认清除后面无意义的0;#后再加一个#则保留0;

5: 支持关系运算符: >,>=,<,<=,<>【不等于】
新增 异或“@”

6:两个单目运算符,其优先级最高。
!a 对a逻辑取反
~a 对按位取反

一个数据变成逻辑值(1、0):
!!a
其结果为0或1。 只有a为0是才为0;否则为1.

~~a 还是自身。


7:支持的数学常数: e (表示欧拉常数)、pi (表示圆周率π)。




[ 本帖最后由 2012abc19701 于 2012-7-29 09:31 编辑 ]
回复

使用道具 举报

3840#
 楼主| 发表于 2012-7-29 09:23:13 | 只看该作者

回复 #4080 clonecd 的帖子

自写的。64位无符号数。和%RANDOM%一致 (%RANDOM%只输出63位)。
比C里的rand()函数更随机。 和Linux的random机制类似。

[ 本帖最后由 2012abc19701 于 2012-7-29 12:12 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-13 02:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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