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

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

   火... [复制链接]
 楼主| 发表于 2013-7-26 15:18:06 | 显示全部楼层
thttht 发表于 2013-7-26 14:47
楼主上面还有个地方有错误,这个是我原来代码中的问题。

就是“设置临时文件夹 TEMP”里有个“LIST  ...

PE变量  List3 不能外传。 用List3X 外传一下。
PE_SET_TEMP_2013_7.wcs.zip (2.26 KB, 下载次数: 5)

点评

楼主上面这个附件你传错了吧!这个还是上面那个吧,生成一个“不设置”的目录的问题和无法用鼠标滚轮滚动表格的问题还有啊?  详情 回复 发表于 2013-7-26 15:26
回复

使用道具 举报

发表于 2013-7-26 15:26:53 | 显示全部楼层
mdyblog 发表于 2013-7-26 15:18
PE变量  List3 不能外传。 用List3X 外传一下。

楼主上面这个附件你传错了吧!这个还是上面那个吧,生成一个“不设置”的目录的问题和无法用鼠标滚轮滚动表格的问题还有啊?

点评

闹鬼。 改个名字吧。  详情 回复 发表于 2013-7-26 15:48
回复

使用道具 举报

 楼主| 发表于 2013-7-26 15:48:50 | 显示全部楼层
thttht 发表于 2013-7-26 15:26
楼主上面这个附件你传错了吧!这个还是上面那个吧,生成一个“不设置”的目录的问题和无法用鼠标滚轮滚动 ...

闹鬼。 改个名字吧。
PE_SET_TEMP_2013_7-3.wcs.zip (2.42 KB, 下载次数: 27)
回复

使用道具 举报

发表于 2013-7-26 15:55:25 | 显示全部楼层
本帖最后由 thttht 于 2013-7-26 16:00 编辑

哈哈!这回不会生成“不设置”的目录了!

我故意把表格改小,只有3行了,显示不全时出现了右侧的滑动条!这时还是无法用鼠标滚轮滚动表格。只能鼠标点击右侧的滑动条,不知道这个是不是只能这样了啊!之前的的表格是可以直接用鼠标滚轮滚动表格。是不是加入改进“读秒变换一个数字下拉菜单就自动关闭了”这部分代码就只能这样了啊!

点评

和这个没关。 需要切换焦点吧。 ---- ITEM Button1,L345T184W55H24,确定,CALL SetPE SET &TITLE=#0xFF0000+30:盘符%TAB%#:60:卷标%TAB%#=80:硬盘总空间%TAB%#=80:硬盘可用空间%TAB%#=65:初始大小%TAB%#  详情 回复 发表于 2013-7-26 16:09
回复

使用道具 举报

 楼主| 发表于 2013-7-26 16:09:47 | 显示全部楼层
thttht 发表于 2013-7-26 15:55
哈哈!这回不会生成“不设置”的目录了!

我故意把表格改小,只有3行了,显示不全时出现了右侧的滑动条! ...

和这个没关。
需要切换焦点吧。
----
    ITEM Button1,L345T184W55H24,确定,CALL SetPE
    SET &TITLE=#0xFF0000+30:盘符%TAB%#:60:卷标%TAB%#=80:硬盘总空间%TAB%#=80:硬盘可用空间%TAB%#=65:初始大小%TAB%#=65:最大大小
    TABL TABL2,L4T3W400H80,%TITLE%,%DrvVolDat%, 0x10840  //USERCTRL
---
改成
---
   SET &TITLE=#0xFF0000+30:盘符%TAB%#:60:卷标%TAB%#=80:硬盘总空间%TAB%#=80:硬盘可用空间%TAB%#=65:初始大小%TAB%#=65:最大大小
    TABL TABL2,L4T3W400H80,%TITLE%,%DrvVolDat%, 0x10840  //USERCTRL
    ITEM Button1,L345T184W55H24,确定,CALL SetPE
----
试试。 这样 焦点默认就在  TABL2上。
回复

使用道具 举报

发表于 2013-7-26 16:26:51 | 显示全部楼层
本帖最后由 thttht 于 2013-7-26 16:50 编辑

哈哈!测试成功了!谢谢楼主帮我写的工具!十分感谢!给你添麻烦了!

我把这个单独发帖到论坛里了!方便大家使用!希望楼主不要介意!毕竟这个基本都成了你给写的了!哈哈!
回复

使用道具 举报

 楼主| 发表于 2013-7-27 07:17:41 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-27 07:49 编辑
527104427 发表于 2013-7-27 02:05
老大帮忙看看下面代码,那些框框都不能输入,确定也会失灵:

选择虚存磁盘TEMP.zip (1.53 KB, 下载次数: 5)

thttht 的已传到网上了。 包里有。 PE_SET_PAGE_TEMP.WCS
---------------
贴代码:
  建议  用 WCS2HTMLBBS.wcs 转换, 然后直接粘贴。 这样 便于 原样拷贝出来; 而且有语法着色代码整齐

论坛 的  代码工具       不支持颜色。 更大的问题是, 拷贝出来 直接粘贴到 文本工具是, 每一行后 都多一个空行。 代码不整齐。

----
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
WIN1
_SUB WIN1,W510H280,虚拟内存与临时文件设置,
    TEAM ENVI^ ForceLocal=1| ENVI^ EnviMode=1
    SET-def DrvVolDat=
    SET$ &NL=0d 0a
    SET$ &TAB=09
    SET-def ALlDrv=
    FDRV &&ALlDrv1=*:
    SET-def ALlDrv2=
    forx * %ALlDrv1%, &&drv1,
    {*
        FORM -raw &&V=%drv1%
        FIND $%V%=DRIVE_FIXED,SET ALlDrv=%ALlDrv% %drv1% ! EXIT   //只有硬盘
        FIND $X=X%ALlDrv2%,SET ALlDrv2=%drv1%!SET ALlDrv2=%ALlDrv2%|%drv1%
    }
    REGI *$HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles,&&PAGES
    forx * %ALlDrv%,&&drv1,
    {*
        FDRV *vol &&vol1=%drv1%
        FIND %drv1%\=?,&&C1  //总空间
        IFEX %drv1%\=?,&&C2  //可用空间
        CALC #C1 = %C1%/1024/1024
        CALC #C2 = %C2%/1024/1024
        FIND $%DrvVolDat%=,!SET DrvVolDat=%DrvVolDat%%NL%
        @ TEAM SET-def Ini=|SET-def Max=|SET-def FixM=
        FORX *NL &PAGES,&&DRVK,
        {
            LSTR &&C=2,%DRVK%
            FIND $%C%=%drv1%,TEAM MSTR Ini,Max=<2><3>%DRVK%|SET FixM=%Ini%/%Max%
        }
        SET DrvVolDat=%DrvVolDat%%drv1%%TAB%%vol1%%TAB%%FixM%%TAB%%C1%%TAB%%C2%
    }
    SET &TITLE=+40:盘符%TAB%=100:卷标%TAB%=150:虚拟内存最小/最大值(MB)%TAB%=82:总空间(MB)%TAB%=82:可用空间(MB)
    TABL TABL2,L15T20W475H150,%TITLE%,%DrvVolDat%,0x10040
    ITEM ITEM7,L445T217W45H25,确定,CALL SetPE,
    SET &::WM_LBUTTONDOWN=0x0201
    ENVI @TABL2.MSG=_%&::WM_LBUTTONDOWN%:CALL OnTable
    ENVI @TABL2.Val=?1.1;&&V1
    ENVI TMPDir=
    LABE -vcenter LABE2,L15T185W80H23,虚拟内存位置:,,
    LIST ListDrv,L95T186W40H143,%ALlDrv2%,,%V1%,
    LABE -vcenter LABE3,L160T185W65H23,最小值(MB):,,
    LIST LISTInit,L230T187W84H130,256|512|1000|2000|3000,,512,0x4
    LABE -center -vcenter LABE4,L335T187W70H21,最大值(MB):,,
    LIST LISTMax,L406T187W84H130,256|512|1000|2000|3000|4000|5000|6000|7000|8000,,512,0x4
    LABE -center -vcenter LABE5,L15T220W80H21,临时文件位置:,,
    EDIT TMPDir,L95T220W280H20,%TMPDir%,,0x100
    ITEM BUTDIR,L380T220W40H20,...,CALl SearchDir,
    TEAM TIME T2,100, CALL OnTimer1| SET-def bt=1| OnTimer1
    ENVI @this.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @ListDrv.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @ListDrv.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @LISTInit.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @LISTMax.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @ITEM7.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @BUTDIR.MSG=%&::WM_LBUTTONDOWN%: CALL KillTm
    ENVI @TMPDir.MSG=%&::WM_LBUTTONDOWN%:  FIND $1=%bt%, TEAM SET bt=| ENVI @t2=0
    HKEY  VK_ESCAPE, CALL KillTm   //ESC 停止计时
_END

_SUB  KillTm
    FIND $1=%bt%, TEAM SET bt=| ENVI @t2=0    //停止
_END

_SUB OnTimer1
    FIND $""="%TMPDir%",
    {
        ENVI @ITEM7.Enable=1
    }!   
    {
        MSTR &&TDir=2,1,%TMPDir%
        FIND $":"="%&TDir%",
        {
                FORM -raw &&TDir=%TMPDir%
                FIND $%&TDir%=DRIVE_FIXED,ENVI @ITEM7.Enable=1!ENVI @ITEM7.Enable=0
        }!   
        {
                ENVI @ITEM7.Enable=0
        }
    }
_END

_SUB SearchDir
    ENVI &&DIR0=%TMPDir%
    BROW &&DIR0,*%TMPDir%,请选择一个目录
    FIND $""="%&DIR0%",!ENVI @TMPDir=%&DIR0%\Temp
    CALL OnTimer1
_END

_SUB SetPE
    TEAM FDIR DIR0=%TMPDir%|ENVI @t1=0|ENVI @t2=0|KILL \
    mess "%ListDrv%"  "%LISTInit%"  "%LISTMax%"  "%TMPDir%"  "%DIR0%"
_END

_SUB OnTable
        KILLTm
        ENVI @TABL2.Sel=?&&Sel
        IFEX $1>%&Sel%,EXIT
        ENVI @TABL2.Val=?%Sel%.1;&&V1
        ENVI @ListDrv=%V1%
_END   
回复

使用道具 举报

发表于 2013-7-27 09:43:33 | 显示全部楼层
普通系统里也可以用的!不过记得在系统\WINDOWS\system32\目录里放入楼主的 PECMD.EXE 并设置WCS关联就可以了!
回复

使用道具 举报

 楼主| 发表于 2013-7-27 10:38:58 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-27 12:33 编辑
527104427 发表于 2013-7-27 09:57
呵呵,thttht的也挺好,我还是喜欢可以输入的。

我的原意是,通过以下的代码判断临时目录框中的输入 ...

TIME 换成 THREAD* 可以实现。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
WIN1
_SUB WIN1,W510H280,虚拟内存与临时文件设置,SET bt=,
    TEAM ENVI^ ForceLocal=1| ENVI^ EnviMode=1
    SET-def DrvVolDat=
    SET$ &NL=0d 0a
    SET$ &TAB=09
    SET-def ALlDrv=
    FDRV &&ALlDrv1=*:
    SET-def ALlDrv2=
    forx * %ALlDrv1%, &&drv1,
    {    //这里不要 * 号
        FORM -raw &&V=%drv1%
        FIND $%V%=DRIVE_FIXED,SET ALlDrv=%ALlDrv% %drv1% ! EXIT   //只有硬盘
        FIND $X=X%ALlDrv2%,SET ALlDrv2=%drv1%!SET ALlDrv2=%ALlDrv2%|%drv1%
    }
    REGI *$HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles,&&PAGES
    forx * %ALlDrv%,&&drv1,
    {*
        FDRV *vol &&vol1=%drv1%
        FIND %drv1%\=?,&&C1  //总空间
        IFEX %drv1%\=?,&&C2  //可用空间
        CALC #C1 = %C1%/1024/1024
        CALC #C2 = %C2%/1024/1024
        FIND $%DrvVolDat%=,!SET DrvVolDat=%DrvVolDat%%NL%
        @ TEAM SET-def Ini=|SET-def Max=|SET-def FixM=
        FORX *NL &PAGES,&&DRVK,
        {
            LSTR &&C=2,%DRVK%
            FIND $%C%=%drv1%,TEAM MSTR Ini,Max=<2><3>%DRVK%|SET FixM=%Ini%/%Max%
        }
        SET DrvVolDat=%DrvVolDat%%drv1%%TAB%%vol1%%TAB%%FixM%%TAB%%C1%%TAB%%C2%
    }
    SET &TITLE=+40:盘符%TAB%=100:卷标%TAB%=150:虚拟内存最小/最大值(MB)%TAB%=82:总空间(MB)%TAB%=82:可用空间(MB)
    TABL TABL2,L15T20W475H150,%TITLE%,%DrvVolDat%,0x10040
    ITEM ITEM7,L445T217W45H25,确定,CALL SetPE,
    SET &::WM_LBUTTONDOWN=0x0201
    ENVI @TABL2.MSG=_%&::WM_LBUTTONDOWN%:CALL OnTable
    ENVI @TABL2.Val=?1.1;&&V1
    ENVI TMPDir=
    LABE -vcenter LABE2,L15T185W80H23,虚拟内存位置:,,
    LIST ListDrv,L95T186W40H143,%ALlDrv2%,,%V1%,
    LABE -vcenter LABE3,L160T185W65H23,最小值(MB):,,
    LIST LISTInit,L230T187W84H130,256|512|1000|2000|3000,,512,0x4
    LABE -center -vcenter LABE4,L335T187W70H21,最大值(MB):,,
    LIST LISTMax,L406T187W84H130,256|512|1000|2000|3000|4000|5000|6000|7000|8000,,512,0x4
    LABE -center -vcenter LABE5,L15T220W80H21,临时文件位置:,,
    SET-def TMPDir_Enable=1
    EDIT TMPDir,L95T220W280H20,%TMPDir%,,0x100
    ITEM BUTDIR,L380T220W40H20,...,CALl SearchDir,
    SET-def bt=1
    THREAD* LOOP_OnTimer1
_END
_SUB LOOP_OnTimer1
    LOOP $1=%bt%,
    {
        CALL OnTimer1
        WAIT 100
    }
_END

_SUB EnableItem7
    @ FIND $%1=%TMPDir_Enable%, EXIT
    TEAM SET TMPDir_Enable=%1| ENVI @ITEM7.Enable=%1
_END

_SUB OnTimer1
    @FIND $""="%TMPDir%",
    {
        @CALL EnableItem7 1
    }!   
    {
        MSTR &&TDir=2,1,%TMPDir%
        FIND $":"="%&TDir%",
        {
            FORM -raw &&TDir=%TMPDir%
            FIND $%&TDir%=DRIVE_FIXED,  CALL EnableItem7 1! CALL EnableItem7 0
        }!   
        {
            CALL EnableItem7 0
        }
    }
_END

_SUB SearchDir
    ENVI &&DIR0=%TMPDir%
    BROW &&DIR0,*%TMPDir%,请选择一个目录
    FIND $""="%&DIR0%",!ENVI @TMPDir=%&DIR0%\Temp
    CALL OnTimer1
_END

_SUB SetPE
    TEAM FDIR DIR0=%TMPDir%|ENVI @t1=0|ENVI @t2=0|KILL \
    mess "%ListDrv%"  "%LISTInit%"  "%LISTMax%"  "%TMPDir%"  "%DIR0%"
    KILL \
_END

_SUB OnTable
    ENVI @TABL2.Sel=?&&Sel
    IFEX $1>%&Sel%,EXIT
    ENVI @TABL2.Val=?%Sel%.1;&&V1
    ENVI @ListDrv=%V1%
_END   

选择虚存磁盘TEMP1.zip

1.53 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2013-7-27 10:44:09 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-27 11:41 编辑
clonecd 发表于 2013-7-27 10:35
1. WIN XP下,先关闭杀软,把【选择虚存磁盘TMP.WCS】直接拖到PECMD.EXE最新版上

2. 选择C盘,出现如图 ...


你这不是最新版的了。那个 LIST 有个BUG。
最新的是 【Build: Jul 26 2013 14:50:47】  下次改个号码吧
回复

使用道具 举报

 楼主| 发表于 2013-7-27 12:11:09 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-27 12:28 编辑
527104427 发表于 2013-7-27 09:57
呵呵,thttht的也挺好,我还是喜欢可以输入的。

我的原意是,通过以下的代码判断临时目录框中的输入 ...

79N-59 可以用定时器 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
IFEX X.LOG, LOGS * X.LOG
WIN1
_SUB WIN1,W510H280,虚拟内存与临时文件设置,,
    TEAM ENVI^ ForceLocal=1| ENVI^ EnviMode=1
    SET-def DrvVolDat=
    SET$ &NL=0d 0a
    SET$ &TAB=09
    SET-def ALlDrv=
    FDRV &&ALlDrv1=*:
    SET-def ALlDrv2=
    forx * %ALlDrv1%, &&drv1,
    {
        FORM -raw &&V=%drv1%
        FIND $%V%=DRIVE_FIXED,SET ALlDrv=%ALlDrv% %drv1% ! EXIT   //只有硬盘
        FIND $X=X%ALlDrv2%,SET ALlDrv2=%drv1%!SET ALlDrv2=%ALlDrv2%|%drv1%
    }
    REGI *$HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles,&&PAGES
    forx * %ALlDrv%,&&drv1,
    {*
        FDRV *vol &&vol1=%drv1%
        FIND %drv1%\=?,&&C1  //总空间
        IFEX %drv1%\=?,&&C2  //可用空间
        CALC #C1 = %C1%/1024/1024
        CALC #C2 = %C2%/1024/1024
        FIND $%DrvVolDat%=,!SET DrvVolDat=%DrvVolDat%%NL%
        @ TEAM SET-def Ini=|SET-def Max=|SET-def FixM=
        FORX *NL &PAGES,&&DRVK,
        {
            LSTR &&C=2,%DRVK%
            FIND $%C%=%drv1%,TEAM MSTR Ini,Max=<2><3>%DRVK%|SET FixM=%Ini%/%Max%
        }
        SET DrvVolDat=%DrvVolDat%%drv1%%TAB%%vol1%%TAB%%FixM%%TAB%%C1%%TAB%%C2%
    }
    SET &TITLE=+40:盘符%TAB%=100:卷标%TAB%=150:虚拟内存最小/最大值(MB)%TAB%=82:总空间(MB)%TAB%=82:可用空间(MB)
    TABL TABL2,L15T20W475H150,%TITLE%,%DrvVolDat%,0x10040
    ITEM ITEM7,L445T217W45H25,确定,CALL SetPE,
    SET &::WM_LBUTTONDOWN=0x0201
    ENVI @TABL2.MSG=_%&::WM_LBUTTONDOWN%:CALL OnTable
    ENVI @TABL2.Val=?1.1;&&V1
    ENVI TMPDir=
    LABE -vcenter LABE2,L15T185W80H23,虚拟内存位置:,,
    LIST ListDrv,L95T186W40H143,%ALlDrv2%,,%V1%,
    LABE -vcenter LABE3,L160T185W65H23,最小值(MB):,,
    LIST LISTInit,L230T187W84H130,256|512|1000|2000|3000,,512,0x4
    LABE -center -vcenter LABE4,L335T187W70H21,最大值(MB):,,
    LIST LISTMax,L406T187W84H130,256|512|1000|2000|3000|4000|5000|6000|7000|8000,,512,0x4
    LABE -center -vcenter LABE5,L15T220W80H21,临时文件位置:,,
    SET-def TMPDir_Enable=1
    EDIT TMPDir,L95T220W280H20,%TMPDir%,,0x100
    ITEM BUTDIR,L380T220W40H20,...,CALl SearchDir,
    TEAM TIME T2,100,  CALL  OnTimer1 | SET-def bt=1
_END

_SUB EnableItem7
    @ FIND $%1=%TMPDir_Enable%,!  TEAM SET TMPDir_Enable=%1| ENVI @ITEM7.Enable=%1
_END


_SUB OnTimer1
    @FIND $""="%TMPDir%",
    {
        @CALL EnableItem7 1
    }!   
    {
        MSTR &&TDir=2,1,%TMPDir%
        FIND $":"="%&TDir%",
        {
            FORM -raw &&TDir=%TMPDir%
            FIND $%&TDir%=DRIVE_FIXED,  CALL EnableItem7 1! CALL EnableItem7 0
        }!   
        {
            CALL EnableItem7 0
        }
    }
_END

_SUB SearchDir
    ENVI &&DIR0=%TMPDir%
    BROW &&DIR0,*%TMPDir%,请选择一个目录
    FIND $""="%&DIR0%",!ENVI @TMPDir=%&DIR0%\Temp
    CALL OnTimer1
_END

_SUB SetPE
    TEAM FDIR DIR0=%TMPDir%|ENVI @t1=0|ENVI @t2=0|KILL \
    mess "%ListDrv%"  "%LISTInit%"  "%LISTMax%"  "%TMPDir%"  "%DIR0%"
    KILL \
_END

_SUB OnTable
    ENVI @TABL2.Sel=?&&Sel
    IFEX $1>%&Sel%,EXIT
    ENVI @TABL2.Val=?%Sel%.1;&&V1
    ENVI @ListDrv=%V1%
_END   

选择虚存磁盘TEMP1.zip

1.53 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2013-7-27 12:14:18 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-27 14:32 编辑
527104427 发表于 2013-7-27 09:57
呵呵,thttht的也挺好,我还是喜欢可以输入的。

我的原意是,通过以下的代码判断临时目录框中的输入 ...

这种 情况 一般 用 【捕捉内容改变】,而不是 【一直在轮询】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
IFEX X.LOG, LOGS * X.LOG
WIN1
_SUB WIN1,W510H280,虚拟内存与临时文件设置,,
    TEAM ENVI^ ForceLocal=1| ENVI^ EnviMode=1
    SET &::WM_LBUTTONDOWN=0x0201
    SET &WM_COMMAND=0x0111
    SET &EN_CHANGE=0x0300

    SET-def DrvVolDat=
    SET$ &NL=0d 0a
    SET$ &TAB=09
    SET-def ALlDrv=
    FDRV &&ALlDrv1=*:
    SET-def ALlDrv2=
    forx * %ALlDrv1%, &&drv1,
    {
        FORM -raw &&V=%drv1%
        FIND $%V%=DRIVE_FIXED,SET ALlDrv=%ALlDrv% %drv1% ! EXIT   //只有硬盘
        FIND $X=X%ALlDrv2%,SET ALlDrv2=%drv1%!SET ALlDrv2=%ALlDrv2%|%drv1%
    }
    REGI *$HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles,&&PAGES
    forx * %ALlDrv%,&&drv1,
    {*
        FDRV *vol &&vol1=%drv1%
        FIND %drv1%\=?,&&C1  //总空间
        IFEX %drv1%\=?,&&C2  //可用空间
        CALC #C1 = %C1%/1024/1024
        CALC #C2 = %C2%/1024/1024
        FIND $%DrvVolDat%=,!SET DrvVolDat=%DrvVolDat%%NL%
        @ TEAM SET-def Ini=|SET-def Max=|SET-def FixM=
        FORX *NL &PAGES,&&DRVK,
        {
            LSTR &&C=2,%DRVK%
            FIND $%C%=%drv1%,TEAM MSTR Ini,Max=<2><3>%DRVK%|SET FixM=%Ini%/%Max%
        }
        SET DrvVolDat=%DrvVolDat%%drv1%%TAB%%vol1%%TAB%%FixM%%TAB%%C1%%TAB%%C2%
    }
    SET &TITLE=+40:盘符%TAB%=100:卷标%TAB%=150:虚拟内存最小/最大值(MB)%TAB%=82:总空间(MB)%TAB%=82:可用空间(MB)
    ITEM ITEM7,L445T217W45H25,确定,CALL SetPE,
    TABL TABL2,L15T20W475H150,%TITLE%,%DrvVolDat%,0x10040
    EDIT TMPDir,L95T220W280H20,%TMPDir%,CALL OnTimer1,0x100
    ENVI @TMPDir.ID=?;&TMPDir_ID

    ENVI @this.visable=1
    ENVI @TABL2.MSG=_%&::WM_LBUTTONDOWN%:CALL OnTable
    ENVI @TABL2.Val=?1.1;&&V1
    ENVI TMPDir=
    LABE -vcenter LABE2,L15T185W80H23,虚拟内存位置:,,
    LIST ListDrv,L95T186W40H143,%ALlDrv2%,,%V1%,
    LABE -vcenter LABE3,L160T185W65H23,最小值(MB):,,
    LIST LISTInit,L230T187W84H130,256|512|1000|2000|3000,,512,0x4
    LABE -center -vcenter LABE4,L335T187W70H21,最大值(MB):,,
    LIST LISTMax,L406T187W84H130,256|512|1000|2000|3000|4000|5000|6000|7000|8000,,512,0x4
    LABE -center -vcenter LABE5,L15T220W80H21,临时文件位置:,,
    SET-def TMPDir_Enable=1
    ITEM BUTDIR,L380T220W40H20,...,CALl SearchDir,
    SET-def bt=1
    ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp, CALL OnCommand   //捕捉内容改变
    TEAM TIME T2,0, CALL  OnTimer1   //没开启哦. 用于延时执行
_END

_SUB OnCommand
    CALC -base=16 #&&ID=%&wp% % 0x10000 //低16位,控件ID
    IFEX $%TMPDir_ID%=%ID%,! EXIT
    CALC -base=16 #&&wCode=%&wp% / 0x10000 //高16位,操作码
    IFEX $%&EN_CHANGE% = %&wCode%,!  EXIT  //不是改变
    //内容改变,响应
    ENVI @T2=10;1  //延时执行
_END

_SUB EnableItem7
    @ FIND $%1=%TMPDir_Enable%,! TEAM SET TMPDir_Enable=%1| ENVI @ITEM7.Enable=%1
_END

_SUB OnTimer1
    @FIND $""="%TMPDir%",
    {
        @CALL EnableItem7 1
    }!   
    {
        MSTR &&TDir=2,1,%TMPDir%
        FIND $":"="%&TDir%",
        {
            FORM -raw &&TDir=%TMPDir%
            FIND $%&TDir%=DRIVE_FIXED,  CALL EnableItem7 1! CALL EnableItem7 0
        }!   
        {
            CALL EnableItem7 0
        }
    }
_END

_SUB SearchDir
    ENVI &&DIR0=%TMPDir%
    BROW &&DIR0,*%TMPDir%,请选择一个目录
    FIND $""="%&DIR0%",!ENVI @TMPDir=%&DIR0%\Temp
    CALL OnTimer1
_END

_SUB SetPE
    TEAM FDIR DIR0=%TMPDir%|ENVI @t1=0|ENVI @t2=0|KILL \
    mess "%ListDrv%"  "%LISTInit%"  "%LISTMax%"  "%TMPDir%"  "%DIR0%"
_END

_SUB OnTable
    ENVI @TABL2.Sel=?&&Sel
    IFEX $1>%&Sel%,EXIT
    ENVI @TABL2.Val=?%Sel%.1;&&V1
    ENVI @ListDrv=%V1%
_END   

选择虚存磁盘TEMP3.zip

1.76 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2013-7-27 12:33:14 | 显示全部楼层
527104427 发表于 2013-7-27 11:39
在实机下正常,在VM的虚拟机就一片空白,不知道怎么回事。

实机是win7_x86,双核cpu。虚拟机是单核cpu ...

重新下载 那个代码吧。
11 行多了个 * 号
【  {    //这里不要 * 号 】 这行
回复

使用道具 举报

 楼主| 发表于 2013-7-27 12:33:49 | 显示全部楼层
527104427 发表于 2013-7-27 11:39
在实机下正常,在VM的虚拟机就一片空白,不知道怎么回事。

实机是win7_x86,双核cpu。虚拟机是单核cpu ...

重新下载 那个代码吧。
11 行多了个 * 号
【  {    //这里不要 * 号 】 这行
回复

使用道具 举报

 楼主| 发表于 2013-7-27 12:55:12 | 显示全部楼层
clonecd 发表于 2013-7-27 11:34
这个版本运行那个虚拟盘没问题了,不过我的ONEKEY代码一跑就直接出错了。
能告诉我这个和前一版的改动细 ...

和那个版本比啊? 太远了,可及不清。
开个LOG: LOGS **2 *  X.LOG , 看看是那句出错了。
我在来调。
回复

使用道具 举报

 楼主| 发表于 2013-7-27 14:01:34 | 显示全部楼层
527104427 发表于 2013-7-27 13:55
#7016的附件----选择虚存磁盘TEMP3.zip
关闭后有个错误窗口:

能把LOG 传上来吗?
LOGS **2 * X2.LOG
回复

使用道具 举报

 楼主| 发表于 2013-7-27 14:28:31 | 显示全部楼层
527104427 发表于 2013-7-27 14:10
是这样的,只要在临时文件的框里随便输点东西,再关闭,就会出错,不输入就不报错:

试试

选择虚存磁盘TEMP3B.zip

1.76 KB, 下载次数: 15

回复

使用道具 举报

 楼主| 发表于 2013-7-27 15:46:17 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-27 15:47 编辑
527104427 发表于 2013-7-27 14:57
老大看下,这段代码似乎有误:

ENVI LISTMax=a

1
2
3
4
5
6
7
8
9
ENVI LISTMax=a
FIND $%LISTMax% = 0,
{
    MESS A [LISTMax=%LISTMax%]
}!
{
    CALC #&&ListM = %LISTMax%/1
    IFEX $%&ListM% = 0,MESS B [ListM=%ListM%]
}  
回复

使用道具 举报

 楼主| 发表于 2013-7-27 21:15:21 | 显示全部楼层
527104427 发表于 2013-7-27 18:06
请教老大,如何把一根反斜杠替换成两根反斜杠?下面的不行
ENVI &&v3=c:\abc\d\e\f
SED &&v3=0,\\,\\ ...

ENVI &&v3=c:\abc\d\e\f
SED &&v3=0,\\,\\\\,%&v3%
mess. %&v3%
回复

使用道具 举报

 楼主| 发表于 2013-7-27 22:37:53 | 显示全部楼层
clonecd 发表于 2013-7-27 17:48
问题果然出在LIST上。
ENVI @PARTMH:GHOLIST.VAL= 后面跟竖线的出错

79N-59D 好了。

----
79N-59D 支持  FIND/IFEX 块 变异
【>=79N-59D】

ENVI F=  //0
FIND $1=1%F%,MESS 111-YYY!    //【1】单行 TRUE部分 直接本行,后接!
{
    MESS 111-NNN
}

FIND $1=1%F%,
{
    MESS 222-YYY
}! MESS 222-NNN     //【2】单行 ELSE 直接附在 }! 后面

  
FIND $1=1%F%,  {  MESS 333-YYY     //【3】 TRUE块第一行上一道本行, { 必须是显示的。
}!
{
    MESS 333-NNN
}

FIND $1=1%F%,  {  MESS 3+2 YYY     //【3】+【2】 TRUE块第一行上一道本行, { 必须是显式的。
}!     MESS 2+3 NNN

FIND $1=1%F%,  {  MESS 3+无 YYY    //【3】+【无】 TRUE块第一行上一道本行, { 必须是显式的。 无ELSE部分
}
回复

使用道具 举报

 楼主| 发表于 2013-7-28 08:57:22 | 显示全部楼层
clonecd 发表于 2013-7-28 08:23
这个版本LIST竖线风格的好了。再问一下SITE查询文件访问时间的,返回UTC秒数的。
说明里:时间变量名前* ...

79N-59E
回复

使用道具 举报

 楼主| 发表于 2013-7-28 10:58:58 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-28 11:02 编辑
clonecd 发表于 2013-7-28 08:23
这个版本LIST竖线风格的好了。再问一下SITE查询文件修改时间的,返回UTC秒数的。
说明里:时间变量名前 ...

79N-59E       201201795905 X86 U Jul 27 2013 22:57:43

>=79N-59E :  选择虚存磁盘TEMP3C.WCS  不需要定时器来延时执行。
1
2
3
4
5
6
7
    ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp, CALL OnCommand   //捕捉内容改变
_END

_SUB OnCommand
    FIND $1=%bt%,! EXIT
    IFEX $%TMPDir_CHANGE%=%&wp%,  CALL OnTimer1  //这里直接执行, 没有用 定时器延时执行
_END   

选择虚存磁盘TEMP1-3C.zip

6.45 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2013-7-28 14:08:26 | 显示全部楼层
本帖最后由 mdyblog 于 2013-7-28 14:15 编辑
527104427 发表于 2013-7-28 13:00
上面的有点问题,当虚拟内存那里输入一个字母,再通过下三角选择64M的时候,确定键还是没反应过来:


1. 我也发现这个问题。 LIST 手动输入和 选择是不同的,需要分开处理。  怎么折磨久(都一年了) 没人发现!
好了, 79N-59.06

2.  PAGE  自己管理注册表的。 不用再写注册表了。

3. 下面改成 消息健康式(不是子线程)

虚拟内存与临时文件设置4C.zip

2.81 KB, 下载次数: 20

回复

使用道具 举报

 楼主| 发表于 2013-7-28 14:23:07 | 显示全部楼层
527104427 发表于 2013-7-28 12:36
我改了一个,同时监控三个输入窗口,用老大那个最新的 “选择虚存磁盘TEMP1-3C” 就不会改了:

》》上面这句应该是<-2><-1>,才比较合理吧,可能Pagefile.sys不按常规设置,带空格
有理
回复

使用道具 举报

 楼主| 发表于 2013-7-28 14:31:31 | 显示全部楼层
527104427 发表于 2013-7-28 12:36
我改了一个,同时监控三个输入窗口,用老大那个最新的 “选择虚存磁盘TEMP1-3C” 就不会改了:

多行串注册表的写入 前导为  *$
输入的 是0d 0a 分隔的原始串
1
2
3
4
ENVI^ FORCELOCAL=1
SET-def$  NL=0d 0a
SET-def V=C:\aaa.sys 100 200%NL%D:\bb.sys 100 2000
REGI *HKLM\SYSTEM\CurrentControlSet\Control\test=%V%   
回复

使用道具 举报

 楼主| 发表于 2013-7-28 14:33:55 | 显示全部楼层
527104427 发表于 2013-7-28 14:20
还有,如果page  c:\pagefile.sys  0  0
可以删除页面文件,那就不用再单独处理注册表了

页面文件是删除不了的。 赖上了 就不走了。
回复

使用道具 举报

 楼主| 发表于 2013-7-28 14:35:28 | 显示全部楼层
527104427 发表于 2013-7-28 14:16
好像,增加一个页面文件时用page有效,但,如果已经存在页面文件,只是更改一下大小,用page就没用了,所 ...

能该大小吗?
纯粹该注册表, 不知 有什么意义?
回复

使用道具 举报

 楼主| 发表于 2013-7-28 15:24:30 | 显示全部楼层
527104427 发表于 2013-7-28 14:44
对于pe,就没有意义,但对于正常系统,就非常有意义了,重启一下就可以生效。注册表中删除后,重启也可 ...

1: 哦, 这样哦。

2:
》》对了,老大可否考虑一下,增加重启删除文件的功能?用于删除页面文件之类的
CALL $Kernel32.dll,MoveFileExW,D:\pagefile.sys,#0,#4
即可

或 写注册表 即可。
REGI *$HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations=\??\D:\pagefile.sys%NL%\??\E:\pagefile.sys
//  注意\??\  
回复

使用道具 举报

发表于 2013-7-28 15:38:23 | 显示全部楼层
M大,59版不知道改了什么,造成WIN8-64PE执行EXEC =!net start DHCP
EXEC =!net start LMHOSTS出错,提示为http://nf.mail.163.com/netfolder ... yTvXso7TUNgfsZh8%3D

点评

改的很小, 界面 和 FIND/IFEX 好像和你这个 没多大关系。 PECMD 单独执行 下面 一行, 有问题吗? EXEC =!net start LMHOSTS  详情 回复 发表于 2013-7-28 19:00
回复

使用道具 举报

发表于 2013-7-28 15:38:55 | 显示全部楼层
晕,提取码:MOsTS6x4
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-12 18:00

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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