无忧启动论坛

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

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

    [复制链接]
6421#
 楼主| 发表于 2013-7-14 05:32:30 | 只看该作者
fukystone 发表于 2013-7-13 12:40
一个小问题,使用最新的稳定版,在XPPE中安装驱动时,会弹出那个驱动签名检测窗口,什么都不变,仅更换pecm ...

把 安装 驱动那段代码 贴出来看看。

点评

就是最简单的UPNP -pnp啊。 要是看全码那就多了,很多其实跟PECMD也没关。 正常来说,就是下面几句: PECMD.EXE DEVI $DRIVERS_NET.CAB START /Wait x:\wxpe\system32\InfCacheBuild.exe %SystemRoot% PECMD.EX  详情 回复 发表于 2013-7-14 17:00
回复

使用道具 举报

6422#
 楼主| 发表于 2013-7-14 06:08:21 | 只看该作者
2012qnmd 发表于 2013-7-13 16:13
还有个重大问题发现:
昨天的,X64还正常
今天最新这个, 启动PE后,会不停的读取硬盘

我试过 WIN8PE(X64), 7.8  的 PECMD, 正常。
只有定位到 具体哪句, 我才知道,怎么弄。

你删减一些语句, 试试, 看看 哪句。
另外 不插USB   盘试试。
回复

使用道具 举报

6423#
 楼主| 发表于 2013-7-14 06:36:41 | 只看该作者
diannao338 发表于 2013-7-13 23:37
发现在安装 Adobe Reader 11 上 运行 浏览文件 非常非常容易发生内存错误

测试:

可能是文件预览。
我这 2个 AcroRd32.exe进程
没出错。 WIN7X64
win0
_sub opendg
BROW &&ss,,请选择一个PDF文件
FIND $%&ss%=,!  ENVI @LABE1=%&ss%
_end

你还稳定版, 以前老版 试试。  看看有没有不出错的。

_sub Win0,W500H380,
    ITEM ButtonA,L280T320W70H28,打开文件,call opendg,
    LABE LABE1,L48T43W365H30,,,
_end

点评

我在自己的电脑上安装了 pdf11 也正常 那台出错误的机器是我远程桌面连过去的,不知道什么原因 现在我用BROW之前 把AcroRd32.exe重命名后再浏览就没问题,我试试老版本  详情 回复 发表于 2013-7-14 08:49
回复

使用道具 举报

6424#
发表于 2013-7-14 08:45:00 | 只看该作者
mdyblog 发表于 2013-7-14 05:16
你写的没错。 是MESS 自动转换了。 用MESS.
envi a=12 3\n4 56
SED a=99:0, ,\\n,%a%

不是啊  我意思就是让它换行啊 我要写入文件或复制到剪切板使用的
我现在用au3的 @CRLF可以换行, 用 @CR 或@LF也不行

点评

envi a=12 3\n4 56 //SED a=99:0, ,\n,%a% //UNIX换行 SED b=99:0, ,\r\n,%a% //DOS换行 MESS. %b%  详情 回复 发表于 2013-7-14 09:38
回复

使用道具 举报

6425#
发表于 2013-7-14 08:49:44 | 只看该作者
本帖最后由 diannao338 于 2013-7-14 09:00 编辑
mdyblog 发表于 2013-7-14 06:36
可能是文件预览。
我这 2个 AcroRd32.exe进程
没出错。 WIN7X64


我在自己的电脑上安装了 pdf11 也正常
那台出错误的机器是我远程桌面连过去的,不知道什么原因
现在我用BROW之前 把AcroRd32.exe重命名后再浏览就没问题,我试试老版本
目前没办法试了 那台远程电脑是多用户开着的,昨天晚上捣鼓后现在鼠标移上去后不会出现进程了
回复

使用道具 举报

6426#
 楼主| 发表于 2013-7-14 09:33:58 | 只看该作者
2012qnmd 发表于 2013-7-13 10:18
新版也不行. 附件是图标和INI文件, (这次新版,连图标都没了!  点,不点,到是没变化了,不过没有显示图标)
32 ...


昨晚 累了, 弄了会儿困了。
可以 不要-round 开关,-nscope 可单用。把 按钮的背景和 窗口的背景 弄成一致:

   ENVI @this.bkcolor=0x4B0091

     ITEM -pcenter   -nscope ITEM3,L218T122W90H90,关,,icon1.ico
     //ITEM -pcenter  -round -nscope ITEM3,L218T122W90H90,关,,icon1.ico
     ENVI @ITEM3.bkcolor=0x4B0091

回复

使用道具 举报

6427#
 楼主| 发表于 2013-7-14 09:38:10 | 只看该作者
diannao338 发表于 2013-7-14 08:45
不是啊  我意思就是让它换行啊 我要写入文件或复制到剪切板使用的
我现在用au3的 @CRLF可以换行, 用 @CR ...

envi a=12 3\n4 56
//SED a=99:0, ,\n,%a%   //UNIX换行
SED b=99:0, ,\r\n,%a%   //DOS换行
MESS. %b%

点评

这样结果 是: 12 3\n4 56 了 还有 上面的 BROW我在虚拟机下测试 也出错 系统 XPSP3 32b  详情 回复 发表于 2013-7-14 09:47
回复

使用道具 举报

6428#
发表于 2013-7-14 09:47:53 | 只看该作者
mdyblog 发表于 2013-7-14 09:38
envi a=12 3\n4 56
//SED a=99:0, ,\n,%a%   //UNIX换行
SED b=99:0, ,\r\n,%a%   //DOS换行

这样结果 是:   
12
3\n4
56


还有 上面的 BROW我在虚拟机下测试 也出错 系统 XPSP3 32b

点评

12 3\n4 56 不是你要的吗?  详情 回复 发表于 2013-7-14 09:55
回复

使用道具 举报

6429#
 楼主| 发表于 2013-7-14 09:55:37 | 只看该作者
diannao338 发表于 2013-7-14 09:47
这样结果 是:   
12
3\n4

12
3\n4
56
不是你要的吗?

点评

我要的是 12 3 4 56  详情 回复 发表于 2013-7-14 10:05
回复

使用道具 举报

6430#
发表于 2013-7-14 10:02:56 | 只看该作者
本帖最后由 diannao338 于 2013-7-14 10:13 编辑

操作步骤
先安装adb pdf11.0并运行
重启系统
上面代码测试 出错
试了n个版本都这样,而 老4.0也一样 报同一个内存错误
看来 没办法解决了
只好使用时暂时把AcroRd32.exe重命名后再浏览了
使用中发现:
可能和这pdf软件运行机制有关  因为打开了这个A..exe文件,而这exe文件还可以重命名或者删除操作

更奇妙的是
先重命名这exe然后BROW浏览 *.pdf文件 后命名回去
之后不管重启电脑 下次在BROW时候都不会出问题了 也就是不会出现进程
回复

使用道具 举报

6431#
发表于 2013-7-14 10:05:53 | 只看该作者
mdyblog 发表于 2013-7-14 09:55
12
3\n4
56

我要的是
12
3
4
56

点评

envi a=12 3\n4 56 //SED a=99:0, ,\n,%a% //UNIX换行 SED b=99:0, ,\r\n,%a% //DOS换行 SED b=99:0,\\n,\r\n,%b% //\n--》DOS换行 MESS. %b%  详情 回复 发表于 2013-7-14 10:15
回复

使用道具 举报

6432#
 楼主| 发表于 2013-7-14 10:15:46 | 只看该作者
本帖最后由 mdyblog 于 2013-7-14 10:17 编辑
diannao338 发表于 2013-7-14 10:05
我要的是
12
3


envi a=12 3\n4 56
//SED a=99:0, ,\n,%a%   //UNIX换行
SED b=99:0, ,\r\n,%a%   //DOS换行
SED b=99:0,\\n,\r\n,%b%   //\n--》DOS换行
MESS. %b%
//HELP\ 下有个DOC文档
回复

使用道具 举报

6433#
发表于 2013-7-14 13:02:55 | 只看该作者
本帖最后由 2012qnmd 于 2013-7-14 13:05 编辑

-round 不能省, 否则,没有那个效果!

不停读硬盘,我也不知道, 就是两个版本差别部分代码引起的

点评

79N-55 -round X64也可以用了。  详情 回复 发表于 2013-7-14 19:59
ENVI @this.bkcolor=0x4B0091 ITEM -pcenter -nscope ITEM3,L58T32W90H90,关,,1.ico ENVI @ITEM3.bkcolor=0x4B0091  详情 回复 发表于 2013-7-14 19:19
回复

使用道具 举报

6434#
发表于 2013-7-14 17:00:53 | 只看该作者
mdyblog 发表于 2013-7-14 05:32
把 安装 驱动那段代码 贴出来看看。

就是最简单的UPNP -pnp啊。
要是看全码那就多了,很多其实跟PECMD也没关。
正常来说,就是下面几句:
PECMD.EXE DEVI $DRIVERS_NET.CAB
START /Wait x:\wxpe\system32\InfCacheBuild.exe %SystemRoot%
PECMD.EXE UPNP -pnp
……
全部的话:
@echo off
PUSHD %~dp0
PECMD ENVI
SET HK_ENV=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
IF "%BootOS%"=="xp" ver|find /i " 5.2">nul &&SET BootOS=03
IF "%IniDrv%"=="" For /F "tokens=3" %%i In ('REG QUERY "%HK_ENV%" /V IniDrv^|find /I "IniDrv"') do SET IniDrv=%%i

IF "%1"=="NET" GOTO INST_NIC
IF /I "%1"=="WLAN" GOTO INST_NIC
IF /I "%1"=="DHCP" GOTO DHCP
IF /I "%1"=="PPPOE" GOTO PPPOE
EXIT

:INST_NIC
PECMD TIPS 正在驱动网卡,请稍候....,5000,1,%ProgramFiles%\tools\ico.DLL#18
IF /I "%1"=="WLAN" SET CM_NET=2

IF NOT EXIST %WinDir%\System32\PENetCfg.exe (
        ECHO 正在释放网络支持文件.......
        7z.exe x "NET_PART%BootOS%.7z" -y -aos -o"%WinDir%"
)
IF "%CM_NET%"=="2" (
        ECHO.
        ECHO 正在安装无线网卡驱动.......
        ECHO.
        PECMD TIPS 正在驱动网卡,正在安装无线网卡驱动....,5000,1,%ProgramFiles%\tools\ico.DLL#18
        PECMD.EXE DEVI $DRIVERS_NET_WIRELESS.CAB
        ECHO.>"%WinDir%\LD_NET_WAN.OK"
) ELSE (
        ECHO.
        ECHO 正在安装有线网卡驱动.......
        ECHO.
        PECMD TIPS 正在驱动网卡,正在安装有线网卡驱动....,5000,1,%ProgramFiles%\tools\ico.DLL#18
        PECMD.EXE DEVI $DRIVERS_NET.CAB
        ECHO.>"%WinDir%\LD_NET_LAN.OK"
        PECMD.EXE PXEFILE.INI
)       
START /Wait x:\wxpe\system32\InfCacheBuild.exe %SystemRoot%
PECMD.EXE UPNP -pnp

NET START EVENTLOG
if "%PXEFN%"=="" For /F "tokens=3" %%i In ('REG QUERY "%HK_ENV%" /V PXEFN^|find /I "PXEFN"') do SET PXEFN=%%i
if "%PXEFN%"=="" (PECMD.EXE UPNP -pnp -cn PEWS-* -wg WORKGROUP) ELSE PECMD.EXE UPNP -pnp -cn WINPE -wg WORKGROUP

PECMD.EXE UPNP -c p -i MS_TCPIP
PECMD.EXE UPNP -c c -i MS_MSCLIENT
PECMD.EXE UPNP -c s -i MS_SERVER

NET START TCPIP
NET START DHCP
NET START NLA
rem NET START LMHOSTS
SET K=HKLM\SYSTEM\CurrentControlSet\Services&&SET W=AutoShareServer&&SET S=AutoShareWks
REG ADD %K%\Lanmanserver\parameters /v %S% /t REG_DWORD /d 0 /f
REG ADD %K%\Lanmanserver\parameters /v %W% /t REG_DWORD /d 0 /f
REG ADD %K%\lanmanworkstation\parameters /v %S% /t REG_DWORD /d 0 /f
REG ADD %K%\lanmanworkstation\parameters /v %W% /t REG_DWORD /d 0 /f

IF "%CM_NET%"=="2" (
        PECMD.EXE UPNP -v -c p -i MS_NDISUIO
        PECMD.EXE UPNP -v -c s -i MS_WZCSVC
        NET START WZCSVC
)
NET START SERVER
DEL /Q %SystemRoot%\INF\*.PNF %SystemRoot%\INF\INFCACHE.1

For /F "tokens=3" %%i In ('REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /V ComputerName') do SET ComputerName=%%i
REG ADD "%HK_ENV%" /v ComputerName /t REG_SZ /d "%Computername%" /f
REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /va /f >nul
REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /va /f >nul

IPCONFIG >nul
FOR /F %%i IN ('@reg query "HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}" /s^|find /i "Connection"') DO >nul REG ADD %%i /v ShowIcon /t REG_DWORD /d 1 /f &&SET ShowIcon=1
IF #%ShowIcon%==#1 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu" /f /v "{208D2C60-3AEA-1069-A2D7-08002B30309D}" /t REG_DWORD /d 0

NET USER Administrator tangope
NET USER Guest /active:yes
NET USER Guest /passwordreq:no

IF "%CM_NET%"=="2" GOTO LINK
IF "%HOSTIP%"=="" For /F "tokens=3" %%i In ('REG QUERY "%HK_ENV%" /V HOSTIP^|find /I "HOSTIP"') do SET HOSTIP=%%i
IF "%HOSTIP%"=="" GOTO SETIP_FROM_IPSET

REM 从注册表中取前面定义的IP地址
SET myIP=%HOSTIP%
SET myMASK=255.255.255.0
For /F "tokens=1,2,3 delims=." %%i In ("%HOSTIP%") do SET myGATEWAY=%%i.%%j.%%k.1
SET myDNS=%myGATEWAY%
GOTO SETIP

:SETIP_FROM_IPSET
IF NOT EXIST %IniDir%\IPSET.INI GOTO LINK
REM 从注册表中取前面定义的IP地址
PECMD TEXT 正在读取固定IP定义文件%IniDir%\IPSET.INI……#0xFF L200 T100 R600 B400 $18
For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"IP地址^" %IniDir%\IPSET.INI') do SET myIP=%%i
For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"子网掩码^" %IniDir%\IPSET.INI') do SET myMASK=%%i
For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"默认网关^" %IniDir%\IPSET.INI') do SET myGATEWAY=%%i
For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"DNS^" %IniDir%\IPSET.INI') do SET myDNS=%%i
PECMD TEXT 从文件%IniDir%\IPSET.INI读取的IP设置如下:\n\n  IP 地址=%myIP%\n  子网掩码=%myMASK%\n  默认网关=%myGATEWAY%\n  DNS=%myDNS% \n\n系统正在按上述值设置固定IP.....#0xFF L200 T100 R600 B400 $18

:SETIP
net stop dhcp 1>nul
rundll32 netshell.dll HrRenameConnection 1>nul
netsh add helper ifmon.dll 1>nul
netsh interface ip set address name="本地连接" source=static addr=%myIP% mask=%myMASK% 1>nul
netsh interface ip set address name="本地连接" gateway=%myGATEWAY% gwmetric=0 1>nul
netsh interface ip set dns name="本地连接" source=static addr=%myDNS% register=PRIMARY 1>nul
net start dhcp 1>nul

:LINK
PECMD TEXT
PECMD.EXE LINK %QuickLaunch%\PENETCFG 网络设置,%SystemRoot%\System32\PENETCFG.exe
PECMD.EXE LINK %USERPROFILE%\「开始」菜单\程序\系统设备\网络设置\网络设置 PENETCFG,%SystemRoot%\System32\PENETCFG.exe
PECMD.EXE LINK !%USERPROFILE%\「开始」菜单\程序\系统设备\网络设置\启用宽带连接,%CD%\START_NET.CMD,PPPOE,shell32.dll#17
PECMD.EXE LINK !%USERPROFILE%\「开始」菜单\程序\系统设备\网络设置\安装 HaneWin 网启服务,%CD%\START_NET.CMD,DHCP,shell32.dll#17
IF "%CM_NET%"=="2" GOTO END
IF "%PXEFN%"=="" GOTO END

:DHCP
REM 设置HAneWin DHCP-----------------
if "%PXEFN%"=="" For /F "tokens=3" %%i In ('REG QUERY "%HK_ENV%" /V PXEFN^|find /I "PXEFN"') do SET PXEFN=%%i
IF "%PXEFN%"=="" SET PXEFN=grldr
IF EXIST %IniDrv%\%PXEFN% goto FindBootFile
for %%i in (z y x w v u t s r q p o n m l k j i h g f e d c b a) do IF exist %%i:\%PXEFN% set IniDrv=%%i:&&GOTO FindBootFile
PECMD.EXE MESS 不存在网启文件:%IniDrv%\%PXEFN%,请准备好该文件后后再运行本程序!@提示:缺少网启文件 #OK *10000
GOTO END

:FindBootFile
IF NOT EXIST %WinDir%\System32\dhcpsrv.cpl 7z.exe x DHCP.7z -y -aos -o"%WinDir%\System32"
For /F "tokens=3" %%i In ('REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /V ComputerName') do SET ComputerName=%%i
setlocal
for /f "usebackq tokens=2 delims=[]" %%i in (`ping /n 1 %Computername%`) do set myip=%%i
for /f "tokens=1-3,4 delims=." %%i in ("%myip%") do set mynet=%%i.%%j.%%k
>%WinDir%\System32\DHCPsrv.ini echo.[License]
>>%WinDir%\System32\DHCPsrv.ini echo.Key=BBLZ26803UBBCAT9
>>%WinDir%\System32\DHCPsrv.ini echo.Name=Free User
>>%WinDir%\System32\DHCPsrv.ini echo.[DHCPsrv]
>>%WinDir%\System32\DHCPsrv.ini echo.Profile0=本地连接
>>%WinDir%\System32\DHCPsrv.ini echo.Include=%myip%
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPDirectory=%IniDrv%\
>>%WinDir%\System32\DHCPsrv.ini echo.Multicast=0
>>%WinDir%\System32\DHCPsrv.ini echo.TestIP=1
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPEnable=1
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPMode=0
>>%WinDir%\System32\DHCPsrv.ini echo.Log=0
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPWindowSize=1
>>%WinDir%\System32\DHCPsrv.ini echo.[本地连接]
>>%WinDir%\System32\DHCPsrv.ini echo.SubnetMask=255.255.255.0
>>%WinDir%\System32\DHCPsrv.ini echo.BaseIP=%mynet%.100
>>%WinDir%\System32\DHCPsrv.ini echo.Range=101
>>%WinDir%\System32\DHCPsrv.ini echo.NextIP=%myip%
>>%WinDir%\System32\DHCPsrv.ini echo.BootFile=%PXEFN%
>>%WinDir%\System32\DHCPsrv.ini echo.RootPath=
>>%WinDir%\System32\DHCPsrv.ini echo.UseOpt=0
>>%WinDir%\System32\DHCPsrv.ini echo.DNSUpdate=0
>>%WinDir%\System32\DHCPsrv.ini echo.InterfaceIP=%myip%
dhcp4nt.exe -install
endlocal
set ExtDrv=%IniDrv%
net share PEROOT /d >nul 2>nul
IF "%BootOS%"=="xp" (
        net share PEROOT=%ExtDrv%\ /unlimited
) ELSE net share PEROOT=%ExtDrv%\ /grant:Guest,full /unlimited
rem icacls %ExtDrv%\ /t /grant everyone:f
PECMD LINK %USERPROFILE%\「开始」菜单\程序\系统设备\网启服务器\HaneWin 网启服务端,dhcpsrv.cpl,,dhcp.ico
PECMD LINK %USERPROFILE%\「开始」菜单\程序\系统设备\网启服务器\中止 HaneWin 网启服务,dhcp4nt.exe,-remove,shell32.dll#2
PECMD LINK %USERPROFILE%\「开始」菜单\程序\系统设备\网启服务器\重启 HaneWin 网启服务,dhcp4nt.exe,-install,shell32.dll#9
START dhcpsrv.cpl
GOTO END

:PPPOE
IF NOT Exist "%SystemRoot%\SYSTEM32\RASPHONE.PBK" (
        ECHO 正在释放拨号组件.......
        7z.exe x PPPOE%BootOS%.7z -y -aos -o"%SystemRoot%\SYSTEM32"
)
PECMD.EXE UPNP -c p -i MS_L2TP
PECMD.EXE UPNP -c p -i MS_PPTP
PECMD.EXE UPNP -c p -i MS_PPPOE
START %SystemRoot%\SYSTEM32\RASPHONE.PBK
PECMD.EXE UPNP -c p -i MS_WANARP
PECMD.EXE UPNP -c p -i MS_NDISWAN
PECMD.EXE UPNP -c s -i MS_RASCLI
PECMD.EXE UPNP -c s -i MS_RASSRV
PECMD.EXE UPNP -c s -i MS_RASMAN
PECMD.EXE UPNP -c s -i MS_STEELHEAD
PECMD.EXE SERV TAPISRV
PECMD.EXE SERV RASMAN
PECMD.EXE SERV NETMAN
PECMD.EXE LINK %USERPROFILE%\「开始」菜单\程序\系统设备\网络设置\宽带连接,%SystemRoot%\SYSTEM32\RASPHONE.PBK
PECMD.EXE LINK !%USERPROFILE%\「开始」菜单\程序\系统设备\网络设置\挂断ADSL,%SystemRoot%\System32\HANGUP.CMD,,HANGUP.ICO
DEL /Q "%Programs%\系统设备\网络设置\启用宽带连接.LNK"
ECHO.>"%WinDir%\LD_NET_PPP.OK"
EXIT

:End
START /B penetcfg.exe
PECMD LOAD %SystemRoot%\System32\reshell.ini
EXIT

点评

InfCacheBuild.exe 的话, DEVI 不用$ PECMD.EXE DEVI DRIVERS_NET.CAB START /Wait x:\wxpe\system32\InfCacheBuild.exe %SystemRoot%  详情 回复 发表于 2013-7-14 19:13
回复

使用道具 举报

6435#
 楼主| 发表于 2013-7-14 19:13:22 | 只看该作者
fukystone 发表于 2013-7-14 17:00
就是最简单的UPNP -pnp啊。
要是看全码那就多了,很多其实跟PECMD也没关。
正常来说,就是下面几句:

InfCacheBuild.exe  的话, DEVI 不用$
PECMD.EXE DEVI   DRIVERS_NET.CAB
START /Wait x:\wxpe\system32\InfCacheBuild.exe %SystemRoot%

点评

改了,没效果。 问题是出在UPNP -pnp这句,看图  详情 回复 发表于 2013-7-14 21:39
回复

使用道具 举报

6436#
 楼主| 发表于 2013-7-14 19:19:44 | 只看该作者
2012qnmd 发表于 2013-7-14 13:02
-round 不能省, 否则,没有那个效果!

不停读硬盘,我也不知道, 就是两个版本差别部分代码引起的

ENVI @this.bkcolor=0x4B0091
ITEM -pcenter   -nscope ITEM3,L58T32W90H90,关,,1.ico
ENVI @ITEM3.bkcolor=0x4B0091
回复

使用道具 举报

6437#
 楼主| 发表于 2013-7-14 19:59:30 | 只看该作者
本帖最后由 mdyblog 于 2013-7-14 20:01 编辑
2012qnmd 发表于 2013-7-14 13:02
-round 不能省, 否则,没有那个效果!

不停读硬盘,我也不知道, 就是两个版本差别部分代码引起的


79N-55  -round   X64也可以用了。



2:  不停读硬盘:
    最近的 老版,  稳定版, 那个没问题。

点评

胡乱整了一个窗口,也不知道正不正确。 点确定的时候,如何得到选定的外置程序呢?  详情 回复 发表于 2013-7-14 22:44
回复

使用道具 举报

6438#
发表于 2013-7-14 21:39:26 | 只看该作者
mdyblog 发表于 2013-7-14 19:13
InfCacheBuild.exe  的话, DEVI 不用$
PECMD.EXE DEVI   DRIVERS_NET.CAB
START /Wait x:\wxpe\system ...

改了,没效果。
问题是出在UPNP -pnp这句,看图

无标题.jpg (131.13 KB, 下载次数: 111)

无标题.jpg

点评

你用外置的 BartPe .exe 替换这句 试试。 (好像是这个名,老的PE有) 或换 个 其他的 PE模板。 其实就是一个 注册表的 值。 设为0就 关闭了警告。 但不能直接设为0.  详情 回复 发表于 2013-7-15 10:47
回复

使用道具 举报

6439#
发表于 2013-7-14 22:44:42 | 只看该作者
本帖最后由 527104427 于 2013-7-14 22:59 编辑
mdyblog 发表于 2013-7-14 19:59
79N-55  -round   X64也可以用了。

  1. TEAM ENVI TDAT=|ENVI Sum=0|ENVI$ TAB=09|ENVI$ NLC=0a
  2. FORX !\PETOOLS\PETOOLS.WIM,WIM,0,
  3. {
  4.         FORM DrvType=%WIM%
  5.         ENVI DriveType=
  6.         FIND $%DrvType%=DRIVE_UNKNOWN,ENVI DriveType=未知设备
  7.         FIND $%DrvType%=DRIVE_NO_ROOT_DIR,ENVI DriveType=非法路径
  8.         FIND $%DrvType%=DRIVE_REMOVABLE,ENVI DriveType=可移动设备
  9.         FIND $%DrvType%=DRIVE_FIXED,ENVI DriveType=硬盘
  10.         FIND $%DrvType%=DRIVE_REMOTE,ENVI DriveType=网络驱动器
  11.         FIND $%DrvType%=DRIVE_CDROM,ENVI DriveType=光驱
  12.         FIND $%DrvType%=DRIVE_CDROMUSB,ENVI DriveType=USB光驱
  13.         FIND $%DrvType%=DRIVE_USBFLASH,ENVI DriveType=U盘
  14.         FIND $%DrvType%=DRIVE_USBDISK,ENVI DriveType=USB移动硬盘
  15.         FIND $%DrvType%=DRIVE_RAMDISK,ENVI DriveType=内存盘
  16.         FIND $%DrvType%=FUNCTION_ERROR,ENVI DriveType=函数失败
  17.         ENVI TDAT=%TDAT%%DriveType%%TAB%%WIM%%TAB%%TAB%%NLC%
  18. }

  19. WIN1

  20. _SUB WIN1,W410H270,外置程序列表
  21.         ITEM &BUTDIR,L330T208W60H25,确定,TEAM CALl START|,
  22.         ENVI &&TITLE=%TAB%+110:介质类型%TAB%+300:外置程序路径
  23.         TABL TABL1,W400H200,%&TITLE%,%TDAT%
  24. _END

  25. _SUB START
  26. mess %TABL1%
  27. _END
复制代码
胡乱整了一个窗口,也不知道正不正确。

点确定的时候,如何将选定的外置程序保存为一个变量并传递出去呢?

1.png (34.02 KB, 下载次数: 106)

1.png
回复

使用道具 举报

6440#
发表于 2013-7-15 06:48:54 | 只看该作者
本帖最后由 2012qnmd 于 2013-7-15 07:06 编辑

55, 32位,圆图标时,有点问题, 一个是显示问题(如图)
另外, 点击图标时, 图标会消失.( 图标也就是按钮,对应执行一个命令,打开一个窗口,关闭窗口时)

54( 7月11日的, 这个版本有好几个都是54) 正常. 读硬盘的问题也没有.

如果不使用:圆,  55,32位,目前正常.

64位还没测试.

未命名55.JPG (14.72 KB, 下载次数: 97)

未命名55.JPG

点评

这个效果就对了。这才是园按钮。 多余的部分被剪切掉了。 你要方的, -pcenter -nscope 就可以了。 区别就是 这里。  详情 回复 发表于 2013-7-15 11:06
回复

使用道具 举报

6441#
发表于 2013-7-15 06:59:01 | 只看该作者
本帖最后由 2012qnmd 于 2013-7-15 07:26 编辑

X64

问题基本和32位差不多. 圆图标时, 通过按钮打开的程序或者目录窗口,关闭时,图标消失(如,按钮执行后打开命令行,点关闭,按钮图标消失)

不用使用圆时, 32位正常.  64位,按动按钮时, 图标有个白屏闪动( 当按钮有颜色时,按动可以看见)

回复

使用道具 举报

6442#
发表于 2013-7-15 07:39:33 | 只看该作者
本帖最后由 2012qnmd 于 2013-7-15 08:00 编辑

读硬盘的问题,这个版本没了,正常了

下面代码,可以看见相关问题:
1. X64, 方按钮,点击的瞬间, 闪动 (好像执行命令不同,闪的程度也不同,EXE,CMD)
2. 圆按钮,点击,打开CMD窗口, 再关闭CM窗口时,图标没了.

_SUB WIN3,W450H333
ENVI @this.bkcolor=0x4B0091
ITEM -pcenter  -round -nscope ITEM3,L58T32W90H90,关,exec cmd.exe,1.ico
ENVI @ITEM3.bkcolor=0x4B0091
_END

CALL @WIN3
回复

使用道具 举报

6443#
发表于 2013-7-15 09:10:01 | 只看该作者
clonecd 发表于 2013-7-15 00:08
1. 使用Windows消息
2. 那个搜索WIM的函数改成多线程更好,否则大硬盘,你要搜个10秒,主界面出来太慢 ...

哈哈,多谢老大,你的一键还原很赞
回复

使用道具 举报

6444#
 楼主| 发表于 2013-7-15 10:47:06 | 只看该作者
fukystone 发表于 2013-7-14 21:39
改了,没效果。
问题是出在UPNP -pnp这句,看图

你用外置的  BartPe .exe  替换这句 试试。 (好像是这个名,老的PE有)
或换 个 其他的  PE模板。 其实就是一个 注册表的 值。 设为0就 关闭了警告。 但不能直接设为0.

点评

bartpe没问题。 确实就是那个注册表值的问题。 但监控注册表的话,即使我先一步写注册表把值变为0,一运行pecmd UPNP -pnp,值就变为1了,可见是UPNP这句设置有问题吧?  详情 回复 发表于 2013-7-15 15:44
回复

使用道具 举报

6445#
发表于 2013-7-15 10:57:26 | 只看该作者
方按钮,闪就闪吧, 原来的版本也是,可能就那样,使用支持,看这效果也过得去.

圆的,图标消失问题,如果解决,我再看看效果.

点评

按下不起的按钮, 手动设置按钮状态 TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1 //SET ::BM_GETSTATE=0x00F2 //获取 SET ::BM_SETSTATE=0x00F3 //设定 SET ::BST_UNCHECKED=0x0000 //按钮弹起状态。 SE  详情 回复 发表于 2013-7-15 11:16
晚上, 再努力一把。  详情 回复 发表于 2013-7-15 11:11
回复

使用道具 举报

6446#
 楼主| 发表于 2013-7-15 11:06:57 | 只看该作者
2012qnmd 发表于 2013-7-15 06:48
55, 32位,圆图标时,有点问题, 一个是显示问题(如图)
另外, 点击图标时, 图标会消失.( 图标也就是按钮,对应 ...


这个效果就对了。这才是按钮。  多余的部分被剪切掉了。

你要方的,  -pcenter  -nscope 就可以了。 区别就是 这里。
回复

使用道具 举报

6447#
 楼主| 发表于 2013-7-15 11:11:41 | 只看该作者
2012qnmd 发表于 2013-7-15 10:57
方按钮,闪就闪吧, 原来的版本也是,可能就那样,使用支持,看这效果也过得去.

圆的,图标消失问题,如果解决, ...

晚上, 再努力一把。
回复

使用道具 举报

6448#
 楼主| 发表于 2013-7-15 11:16:16 | 只看该作者

按下不起的按钮, 手动设置按钮状态

按下不起的按钮, 手动设置按钮状态
按下不起的按钮.WCS:
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
//SET ::BM_GETSTATE=0x00F2  //获取
SET ::BM_SETSTATE=0x00F3  //设定

SET ::BST_UNCHECKED=0x0000  //按钮弹起状态。
SET ::BST_CHECKED=0x0001    //按钮凹下去效果。
SET  ::WM_LBUTTONDOWN=0x0201
SET  ::WM_LBUTTONUP=0x0202
SET  ::WM_RBUTTONDOWN=0x0204


WIN1
_SUB WIN1,W289H249,按下不起的按钮,
    ITEM ITEM2,L45T105W60H30,按下, CALL Bt1Down
    ITEM ITEM3,L158T107W60H30,弹起,CALL Bt1Up
    ITEM ITEM1,L78T41W60H30,ITEM1,    CALL OnBt1       //左键按下
    ENVI @ITEM1.MSG=%&::WM_RBUTTONDOWN%:  CALL Bt1Up   //右键弹起
    ENVI @this.MSG=%&::WM_RBUTTONDOWN%:  CALL Bt1Up  
_END

_SUB OnBt1
    CALL Bt1Down
    // CALL @--popmenu       MyMenu1
_END

_SUB Bt1Down
    ENVI @ITEM1.SENDMSG=%&::BM_SETSTATE%;%&::BST_CHECKED%,       //设置按钮凹下去效果。
_END

_SUB Bt1Up
    ENVI @ITEM1.SENDMSG=%&::BM_SETSTATE%;%&::BST_UNCHECKED%,     //设置按钮凹下去效果。
_END

点评

同问老大  详情 回复 发表于 2013-7-15 12:11
回复

使用道具 举报

6449#
发表于 2013-7-15 12:10:21 | 只看该作者
clonecd 发表于 2013-7-15 00:08
1. 使用Windows消息
2. 那个搜索WIM的函数改成多线程更好,否则大硬盘,你要搜个10秒,主界面出来太慢 ...

继续请教,
问题1:如何在红色框中加个倒计时,自动选择第一个?
问题2:可否禁止按Ctrl多选?
  1. #code=936
  2. SET  ::WM_LBUTTONDOWN=0x0201
  3. CALL @WIN1

  4. _SUB WIN1,W410H270,外置程序列表
  5.         TEAM ENVI Sum=0|ENVI &TDAT=|ENVI &&C1=|ENVI &&C2=|ENVI$ &&TAB=09|ENVI$ &&NLC=0a

  6.         ITEM &BUTDIR1,L15T208W60H25,确定,TEAM CALL START|,
  7.         ITEM &BUTDIR2,L330T208W60H25,取消,TEAM CALL STOP|,
  8.         ENVI &&TITLE=%TAB%+110:介质类型%TAB%+300:外置程序路径
  9.         TABL TABL1,W400H200,%&TITLE%,,

  10.         ENVI @TABL1.MSG=_%&WM_LBUTTONDOWN%: CALL PickWIM

  11.         ENVI @WIN1.MSG=#1: CALL OnMsg1
  12.         THREAD*  SearchWIM
  13. _END

  14. _SUB OnMsg1
  15.         ENVI @TABL1.Val=1*;%&TDAT%
  16. _END


  17. _SUB PickWIM
  18.         ENVI  @TABL1.Sel=?&&Sel
  19.         ENVI  @TABL1.Val=?%&Sel%.1;&C1
  20.         ENVI  @TABL1.Val=?%&Sel%.2;&C2
  21. _END


  22. _SUB SearchWIM
  23.         FORX !\PETOOLS\PETOOLS.WIM,&&WIM,0,
  24.         {
  25.                 TEAM CALC #Sum=%Sum%+1|ENVI &&DriveType=|FORM &&DrvType=%&WIM%
  26.                 FIND $%&DrvType%=DRIVE_UNKNOWN,ENVI &&DriveType=未知设备
  27.                 FIND $%&DrvType%=DRIVE_NO_ROOT_DIR,ENVI &&DriveType=非法路径
  28.                 FIND $%&DrvType%=DRIVE_REMOVABLE,ENVI &&DriveType=可移动设备
  29.                 FIND $%&DrvType%=DRIVE_FIXED,ENVI &&DriveType=硬盘
  30.                 FIND $%&DrvType%=DRIVE_REMOTE,ENVI &&DriveType=网络驱动器
  31.                 FIND $%&DrvType%=DRIVE_CDROM,ENVI &&DriveType=光驱
  32.                 FIND $%&DrvType%=DRIVE_CDROMUSB,ENVI &&DriveType=USB光驱
  33.                 FIND $%&DrvType%=DRIVE_USBFLASH,ENVI &&DriveType=U盘
  34.                 FIND $%&DrvType%=DRIVE_USBDISK,ENVI &&DriveType=USB移动硬盘
  35.                 FIND $%&DrvType%=DRIVE_RAMDISK,ENVI &&DriveType=内存盘
  36.                 FIND $%&DrvType%=FUNCTION_ERROR,ENVI &&DriveType=函数失败
  37.                 ENVI &TDAT=%&TDAT%%&DriveType%%&TAB%%&WIM%%&TAB%%&TAB%%&NLC%
  38.         }

  39.         ENVI @WIN1.POSTMSG=#1
  40. _END


  41. _SUB START
  42.         MESS C1="%&C1%"
  43.         MESS C2="%&C2%"
  44.         MESS Sum="%Sum%"
  45. _END

  46. _SUB STOP
  47.         TEAM ENVI &&C1=|ENVI &&C2=
  48. _END

复制代码

1.png (36.5 KB, 下载次数: 110)

1.png

点评

....... _SUB WIN1,W410H270,外置程序列表, TEAM ENVI Sum=0|ENVI &&TDAT=|ENVI &&C1=|ENVI &&C2=|ENVI$ &&TAB=09|ENVI$ &&NLC=0a ITEM &BUTDIR1,L15T208W60H25,确定,TEAM CALL START|, ITEM &BUTDI  详情 回复 发表于 2013-7-15 13:51
回复

使用道具 举报

6450#
发表于 2013-7-15 12:11:06 | 只看该作者
mdyblog 发表于 2013-7-15 11:16
按下不起的按钮, 手动设置按钮状态
按下不起的按钮.WCS:
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1

同问老大
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 16:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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