无忧启动论坛

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

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

    [复制链接]
9481#
 楼主| 发表于 2015-5-20 22:45:29 | 只看该作者
sp_star 发表于 2015-5-20 17:33
用_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-#,,-top定义一个窗口,-top确实能保证窗口在最前面, ...

-top确实能保证窗口在最前面
--------------------
不能的。
只是  “在最前面”这个一类。

这个一类可以有多个,彼此之间不保证顺序。

点评

谢谢!就是说任务栏也是"top"这一类,所以没什么办法,对吧?  详情 回复 发表于 2015-5-20 22:52
回复

使用道具 举报

9482#
发表于 2015-5-20 22:52:26 | 只看该作者
mdyblog 发表于 2015-5-20 22:45
-top确实能保证窗口在最前面
--------------------
不能的。

谢谢!就是说任务栏也是"top"这一类,所以没什么办法,对吧?

点评

_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-#,,-top -forcenomin 试试  详情 回复 发表于 2015-5-20 22:58
回复

使用道具 举报

9483#
 楼主| 发表于 2015-5-20 22:58:34 | 只看该作者
sp_star 发表于 2015-5-20 22:52
谢谢!就是说任务栏也是"top"这一类,所以没什么办法,对吧?


_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-#,,-top  -forcenomin
试试
或者开个定时器,不断置顶。

点评

-forcenomin试过,没什么用。 开个定时器,不断置顶: 怎样才能置顶一个窗口呢?能不能给个简单的例子? 谢谢!  详情 回复 发表于 2015-5-20 23:01
回复

使用道具 举报

9484#
发表于 2015-5-20 23:01:33 | 只看该作者
mdyblog 发表于 2015-5-20 22:58
_SUB WinMenu, L%WinL%T%WinTOP%W%WinW%H%WinH%,,,,-#,,-top  -forcenomin
试试
或者开个定时器,不 ...

-forcenomin试过,没什么用。
开个定时器,不断置顶:
怎样才能置顶一个窗口呢?能不能给个简单的例子? 谢谢!

点评

┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │命令│'POS' '位置' '大小' '层级'  详情 回复 发表于 2015-5-20 23:46
回复

使用道具 举报

9485#
 楼主| 发表于 2015-5-20 23:46:30 | 只看该作者
sp_star 发表于 2015-5-20 23:01
-forcenomin试过,没什么用。
开个定时器,不断置顶:
怎样才能置顶一个窗口呢?能不能给个简单的例子 ...



┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │命令│'POS' '位置' '大小' '层级'                                                                  ┃
┃    ├──┼──────────────────────────────────────────────┨
┃位置│参数│ENVI @窗口和控件名.POS=左:上:[@]宽:高:层级:透明度:前置:激活:父窗口ID::客宽:客高  //@实际宽高┃
┃大小│    │ENVI @窗口和控件名.POS=?[@]左名:上名:[@]宽名:高名:X0名:Y0名::激活名:父ID名:客宽:客高  //查询┃
┃层级│    │ENVI @@POS=窗口ID:左:上:[@]宽:高:层级:[$]透明度:前置:激活:父窗口ID::客宽:客高               ┃
┃    │    │ENVI @@POS=?[@]窗口ID:左名:上名:宽名:高名:X0名:Y0名::激活名:父窗ID名:客户宽名:客户高名//查询┃
┃    │    │格式1为设置。层级1=底层,2=取消最顶层,3=顶层,4=钉在最顶层。某位空着或*不变               ┃
┃    │    │前置1为前置,激活1为激活。 透明度前的$表示0-255格式。                                       ┃
┃    │    │格式2为查询,(X0,Y0)为客户区起点相对坐标。某位可空着。?@返回屏幕绝对坐标。@宽返回实际宽高   ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │示例│ ENVI @WIN1.POS=%X1%:300:300:180:4  //移动改变大小,钉在最顶层                              ┃
┃    │    │ ENVI @B1.POS=?X2:Y2:W2:H2  //查询大小                                                      ┃
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

ENVI @this.POS=::::4  //钉在最顶层


点评

多谢M大! 定时器加ENVI @this.POS=::::4 轻松搞定。  详情 回复 发表于 2015-5-21 10:12
请教一下,开方怎么写呢? calc &&v=sqrt(16) mess "%&v%" ============================================ PECMD说明示例中的3处问题: 1.e是自然常数吧?c才是欧拉常数 2. CALC V= &v1=1+3;%&v  详情 回复 发表于 2015-5-21 06:12
回复

使用道具 举报

9486#
发表于 2015-5-21 06:12:34 | 只看该作者
本帖最后由 527104427 于 2015-5-21 06:18 编辑
mdyblog 发表于 2015-5-20 23:46
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...


请教一下,开方怎么写呢?开3次方或者4次方呢?

calc &&v=sqrt(16)
mess "%&v%"


============================================

PECMD说明示例中的3处问题:

1.e是自然常数吧?c才是欧拉常数

2.  CALC V=  &v1=1+3;%&v1%*100
     MESS %V%   //什么也没有

3.  CALC =  &v1=1+3;%&v1%*100
     MESS %V%   //提示出错

点评

1:改了。 原来 &v1 有个&,不当变量名。 改好了。支持&v1。 2: calc &&v=pow(16,1/3) mess "%&v%"  详情 回复 发表于 2015-5-21 06:56
回复

使用道具 举报

9487#
 楼主| 发表于 2015-5-21 06:56:48 | 只看该作者
本帖最后由 mdyblog 于 2015-5-21 07:06 编辑
527104427 发表于 2015-5-21 06:12
请教一下,开方怎么写呢?开3次方或者4次方呢?

calc &&v=sqrt(16)


1:改了。
原来 &v1 有个&,不当变量名。sqrt反当了变量名。
改好了。支持&v1。


2:
calc &&v=sqrt(16)
calc &&v=pow(16,1/2)
calc &&v=pow(16,1/3)
mess "%&v%"

点评

还有一个问题: CALC -base=10 &&v1=789456456456332190056 MESS %&v1% 怎么会变成负数了?是否有什么限制呢  详情 回复 发表于 2015-5-21 18:23
ENVI &&v=1 LOOP #1=1, { MESS %&v% CALC &&v=%&v%+1 } 上面的代码 &&v 不会累加,将 CALC &&v 去掉一个 & 就可以,不知道这否正常?  详情 回复 发表于 2015-5-21 16:25
回复

使用道具 举报

9488#
发表于 2015-5-21 10:12:39 | 只看该作者
mdyblog 发表于 2015-5-20 23:46
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...

多谢M大!
定时器加ENVI @this.POS=::::4  轻松搞定。
回复

使用道具 举报

9489#
发表于 2015-5-21 16:25:11 | 只看该作者
本帖最后由 527104427 于 2015-5-21 18:23 编辑
mdyblog 发表于 2015-5-21 06:56
1:改了。
原来 &v1 有个&,不当变量名。sqrt反当了变量名。
改好了。支持&v1。


ENVI &&v=1
LOOP #1=1,
{
        MESS %&v%
        CALC &&v=%&v%+1
}



上面的代码  &&v 不会累加,将 CALC &&v 去掉一个 &  就可以,不知道这否正常?





















点评

正常。 CALC &&v=%&v%+1 会在子级创建一个新的PE变量,v。 这样上级的v没有修改在退出}时,会销毁新的v. 可以: ENVI &&v=1 LOOP #1=1, { MESS %&v% CALC &v=%&v%+1 } 还可以: EN  详情 回复 发表于 2015-5-21 19:12
回复

使用道具 举报

9490#
发表于 2015-5-21 18:23:02 | 只看该作者
mdyblog 发表于 2015-5-21 06:56
1:改了。
原来 &v1 有个&,不当变量名。sqrt反当了变量名。
改好了。支持&v1。


还有一个问题:

CALC -base=10 &&v1=789456456456332190056
MESS %&v1%


怎么会变成负数了?是否有什么限制呢




























点评

最大的正整数:0x7FFFFFFFFFFFFFFF=9223372036854775800 /////////////////////// 9223372036854775800 789456456456332190056整整多2位。 -base=10 会变成 整数模式。  详情 回复 发表于 2015-5-21 19:08
回复

使用道具 举报

9491#
 楼主| 发表于 2015-5-21 19:08:12 | 只看该作者
527104427 发表于 2015-5-21 18:23
还有一个问题:

CALC -base=10 &&v1=789456456456332190056

最大的正整数:0x7FFFFFFFFFFFFFFF=9223372036854775800
///////////////////////
   9223372036854775800
789456456456332190056整整多2位。

-base=10 会变成 整数模式。




点评

是否把超出运算范围的结果变成零呢?  详情 回复 发表于 2015-5-21 19:39
回复

使用道具 举报

9492#
 楼主| 发表于 2015-5-21 19:12:00 | 只看该作者
527104427 发表于 2015-5-21 16:25
ENVI &&v=1
LOOP #1=1,
{

正常。
CALC &&v=%&v%+1
会在子级创建一个新的PE变量,v。
这样上级的v没有修改在退出}时,会销毁新的v.
可以:
ENVI &&v=1
LOOP #1=1,
{
         MESS %&v%
         CALC &v=%&v%+1
}
还可以:
ENVI &&v=1
LOOP #1=1,
{*   //不生成新的级别。
         MESS %&v%
         CALC &&v=%&v%+1
}
回复

使用道具 举报

9493#
发表于 2015-5-21 19:39:04 | 只看该作者
mdyblog 发表于 2015-5-21 19:08
最大的正整数:0x7FFFFFFFFFFFFFFF=9223372036854775800
///////////////////////
   9223372036854775 ...


是否把超出运算范围的结果变成零呢?感觉这样比较合理。

点评

计算中有这种截断的 运算。 至于超出范围,使用者注意就是了。 计算机编程都这样的。  详情 回复 发表于 2015-5-21 23:41
回复

使用道具 举报

9494#
 楼主| 发表于 2015-5-21 23:41:25 | 只看该作者
527104427 发表于 2015-5-21 19:39
是否把超出运算范围的结果变成零呢?感觉这样比较合理。


这是编程。不是终端用户程序。

计算中有这种截断的 运算。

至于超出范围,使用者注意就是了。

计算机编程都这样的。
回复

使用道具 举报

9495#
发表于 2015-5-22 11:43:32 | 只看该作者
请教一下如下设置控件的TIPS

envi @a.msg=0x02A1:  CALL TIP 0
envi @b.msg=0x02A1:  CALL TIP 1
envi @c.msg=0x02A1:  CALL TIP 3

现在我想批量设置,而不是一行一行添加有办法吗?我看了示例和帮助找不到好的办法。
本来我的想按如下方法批量设置的失败。

  1. ENVI. &T=0 a\n1 b\n2 c
  2. FORX *NL &T,&&x,CALL SETTIP %&&x%

  3. _SUB SETTIP
  4. envi @%2.msg=0x02A1:  CALL TIP %1
  5. _END
复制代码
回复

使用道具 举报

9496#
 楼主| 发表于 2015-5-22 13:22:53 | 只看该作者
chenall 发表于 2015-5-22 11:43
请教一下如下设置控件的TIPS

envi @a.msg=0x02A1:  CALL TIP 0


ENVI. &&T=0 a\n1 b\n2 c
FORX *NL &T,&&xi,
{*
    MSTR &&i,&&nm=<~1*>%&xi%
    SET &_cmd=envi @%&nm%.msg=0x02A1:  CALL TIP %&i%
    %&_cmd%
}


///////////
注意 %&_cmd%的用法。
这样就很灵活了。

点评

原来还能这样,谢谢! 另外再问个问题,对于LIST框有没有办法在下拉选择的时候显示提示框 就是鼠标移到某个下拉条目时,就显示对尖的条目的提示信息。 印像中好像在哪里有见过类似的,现在找不到了。  详情 回复 发表于 2015-5-22 13:45
回复

使用道具 举报

9497#
发表于 2015-5-22 13:45:32 | 只看该作者
mdyblog 发表于 2015-5-22 13:22
ENVI. &&T=0 a\n1 b\n2 c
FORX *NL &T,&&xi,
{*

原来还能这样,谢谢!

另外再问个问题,对于LIST框有没有办法在下拉选择的时候显示提示框

就是鼠标移到某个下拉条目时,就显示对尖的条目的提示信息。

印像中好像在哪里有见过类似的,现在找不到了。
回复

使用道具 举报

9498#
 楼主| 发表于 2015-5-22 14:01:39 | 只看该作者
chenall 发表于 2015-5-22 13:45
原来还能这样,谢谢!

另外再问个问题,对于LIST框有没有办法在下拉选择的时候显示提示框

结合图说吧。 否则不明白你说啥。

点评

上个图,看下。 [attachimg]217014[/attachimg]  详情 回复 发表于 2015-5-22 14:40
回复

使用道具 举报

9499#
发表于 2015-5-22 14:40:11 | 只看该作者
mdyblog 发表于 2015-5-22 14:01
结合图说吧。 否则不明白你说啥。

上个图,看下。

回复

使用道具 举报

9500#
 楼主| 发表于 2015-5-22 15:25:40 | 只看该作者
chenall 发表于 2015-5-22 14:40
上个图,看下。

LIST 这个完全封装了, 不对外接口。
暴力破解的话,有难兼容所有版本windows。

可以用弹出式MENU, 那个可以的。

点评

请教老大,不知道PECMD版本信息保存在何处?此位置是否固定?想通过GETF获得。  详情 回复 发表于 2015-5-23 20:57
好的,有空再研究下。  详情 回复 发表于 2015-5-22 15:51
回复

使用道具 举报

9501#
发表于 2015-5-22 15:51:02 | 只看该作者
mdyblog 发表于 2015-5-22 15:25
LIST 这个完全封装了, 不对外接口。
暴力破解的话,有难兼容所有版本windows。

好的,有空再研究下。
回复

使用道具 举报

9502#
发表于 2015-5-23 20:57:01 | 只看该作者
mdyblog 发表于 2015-5-22 15:25
LIST 这个完全封装了, 不对外接口。
暴力破解的话,有难兼容所有版本windows。

请教老大,不知道PECMD版本信息保存在何处?此位置是否固定?想通过GETF获得。

点评

当前PECMD: MESS [%&PECMDVER%] [%&PECMDBUILD%] //[201201880562] [X86 U (2014-09-20) 2014-12-31 07:21:45] 某个PECMD: ENVI ?V=FVER,.\PECMD.EXE MESS 20%V% //前面有个20, 注意很老很老的版本本身  详情 回复 发表于 2015-5-24 04:06
回复

使用道具 举报

9503#
 楼主| 发表于 2015-5-24 04:06:07 | 只看该作者
527104427 发表于 2015-5-23 20:57
请教老大,不知道PECMD版本信息保存在何处?此位置是否固定?想通过GETF获得。


当前PECMD:
MESS [%&PECMDVER%] [%&PECMDBUILD%]
//[201201880562] [X86 U (2014-09-20) 2014-12-31 07:21:45]

某个PECMD:
ENVI ?V=FVER,.\PECMD.EXE
MESS 20%V%   //前面加个20, 注意很老很老的版本本身有20,后面信息少些
//201201.88.5.62  

点评

以下三个示例好像都失灵了: 时间转换.WCS 生日快乐歌.wcs MemoryCopy测试.wcs  详情 回复 发表于 2015-5-24 22:13
下面的代码,点击浏览后,按CTRL多选,怎么&&E2上面显示的路径会出现两个反斜杠:  详情 回复 发表于 2015-5-24 14:04
多谢老大!  详情 回复 发表于 2015-5-24 06:39
回复

使用道具 举报

9504#
发表于 2015-5-24 06:39:17 | 只看该作者
mdyblog 发表于 2015-5-24 04:06
当前PECMD:
MESS [%&PECMDVER%] [%&PECMDBUILD%]
//[201201880562] [X86 U (2014-09-20) 2014-12-31 ...

多谢老大!
回复

使用道具 举报

9505#
发表于 2015-5-24 14:11:15 | 只看该作者
本帖最后由 527104427 于 2015-5-24 14:12 编辑

下面的代码,点击浏览后,按CTRL多选,怎么&&E2上面显示的路径会出现两个反斜杠:

  1. _SUB A,W503H263,
  2.         EDIT -3d &&E2,L93T24W345H23,,,0x200
  3.         ITEM ,L440T25W41H21,...,B,
  4. _END

  5. _SUB B
  6.         BROW &&v,%CurDir%\*.iso,请选择一个文件,映像文件 (*.ISO;*.IMG;*.IMA)|*.ISO;*.IMG;*.IMA|所有文件 ( * )|*.*|,0x1200
  7.         ENVI @&&E2=%&v%
  8. _END

  9. call @A
复制代码






回复

使用道具 举报

9506#
发表于 2015-5-24 22:13:53 | 只看该作者
mdyblog 发表于 2015-5-24 04:06
当前PECMD:
MESS [%&PECMDVER%] [%&PECMDBUILD%]
//[201201880562] [X86 U (2014-09-20) 2014-12-31 ...

以下三个示例好像都失灵了:

时间转换.WCS
生日快乐歌.wcs
MemoryCopy测试.wcs

点评

修正了。从新下载。 示例代码做了适当修改。  详情 回复 发表于 2015-5-25 07:41
回复

使用道具 举报

9507#
 楼主| 发表于 2015-5-25 07:41:50 | 只看该作者
527104427 发表于 2015-5-24 22:13
以下三个示例好像都失灵了:

时间转换.WCS

修正了。从新下载。
示例代码做了适当修改。

点评

再请教几个问题: 1、上面的代码,可以用TAB切换到属性栏上,可否实现按CTRL+TAB切换各个子属性? 2、假如焦点不在属性栏上,这时鼠标单击属性栏,能否同时将焦点移到上面?  详情 回复 发表于 2015-5-25 08:12
回复

使用道具 举报

9508#
发表于 2015-5-25 08:12:01 | 只看该作者
mdyblog 发表于 2015-5-25 07:41
修正了。从新下载。
示例代码做了适当修改。
  1. _SUB S,W543H350
  2.         ITEM &I1,L393T283W60H25,确定,,
  3.         ITEM &I2,L458T283W60H25,取消,
  4.         TABS &TS1,L19T17W500H253,Page1:-:A;Page2:-:B;Page3:-:C;Page4:-:D;Page5:-:E;Page6:-:F;Page7::G,
  5.         ENVI @&TS1.style=:%WS_EX_CONTROLPARENT%
  6. _END
  7. ENVI &WS_EX_CONTROLPARENT=0x00010000
  8. CALL @S
复制代码



再请教几个问题:

1、上面的代码,可以用TAB切换到属性栏上,可否实现按CTRL+TAB切换各个子属性?

2、假如焦点不在属性栏上,这时鼠标单击属性栏,能否同时将焦点移到上面?

点评

2、假如焦点不在属性栏上,这时鼠标单击属性栏,能否同时将焦点移到上面? -------------- 重新下载。 [attachimg]217195[/attachimg]  详情 回复 发表于 2015-5-25 09:32
1、上面的代码,可以用TAB切换到属性栏上,可否实现按CTRL+TAB切换各个子属性? ------- 左右键 切换各个子属性? 2、假如焦点不在属性栏上,这时鼠标单击属性栏,能否同时将焦点移到上面? ---------------  详情 回复 发表于 2015-5-25 08:54
回复

使用道具 举报

9509#
 楼主| 发表于 2015-5-25 08:54:10 | 只看该作者
527104427 发表于 2015-5-25 08:12
再请教几个问题:

1、上面的代码,可以用TAB切换到属性栏上,可否实现按CTRL+TAB切换各个子属性 ...

1、上面的代码,可以用TAB切换到属性栏上,可否实现按CTRL+TAB切换各个子属性?
-------
左右键 切换各个子属性?

2、假如焦点不在属性栏上,这时鼠标单击属性栏,能否同时将焦点移到上面?
---------------
如果 改子属性 是显示的, 点击即获得焦点。 否则需要再点一次。
回复

使用道具 举报

9510#
 楼主| 发表于 2015-5-25 09:32:44 | 只看该作者
527104427 发表于 2015-5-25 08:12
再请教几个问题:

1、上面的代码,可以用TAB切换到属性栏上,可否实现按CTRL+TAB切换各个子属性 ...

2、假如焦点不在属性栏上,这时鼠标单击属性栏,能否同时将焦点移到上面?
--------------
重新下载。

点评

多谢老大,太棒了! 还有一个疑问,就是鼠标点击会触发事件,那用方向键怎么才能触发事件呢,试了一下用热键 HKEY #0x25 HKEY #0x27 来监控,但这样做,一打开窗口,方向键就不能用了。  详情 回复 发表于 2015-5-25 10:28
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-29 01:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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