无忧启动论坛

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

[原创] [更新(2022/11/11) ModernUI回归] explorer再见,WinXShell你好!

    [复制链接]
31#
发表于 2018-3-28 21:24:45 | 显示全部楼层
xintiandi 发表于 2018-3-26 20:40
看来用winxshell的朋友越来越多,楼主是不是该更新一下新版了,期待中。。

1月到现在快3个月了。一季度更新一次,一年也就4次,不是很频繁。当然期待RS4到底有多大的更新,最好是把之前所有没有实现的功能全搞定。
回复

使用道具 举报

32#
发表于 2018-3-31 20:40:15 | 显示全部楼层
本帖最后由 xintiandi 于 2018-3-31 20:55 编辑
slore 发表于 2018-3-31 01:15
控制面板我处理了下,PE来说没有用。你这个WSE7可以试试。

开始菜单,参照 关机,重启写个 control命 ...


感谢楼主的无私奉献,一个小众软件坚持更新了几年,实属不易,就算开源了,也不一定能完善到现在的程度,涉及和系统交互的操作我个人觉得很难的,虽然我也会改点代码,用c#写点小程序,但是windows api相关的东西我也看不懂。
刚刚测试了一下,wes7和wes8都测试了一遍,基本完美了。之前的问题都修复了,准备正式集成到系统中替代explorer使用。
1、但我自制wes7和wes8只要是不带explorer自启动的系统,winxshell中,资源管理器的最小化按钮就没用,点击快速启动栏的,最小化所有窗口是可以的。我尝试先手动运行explorer后,在运行winxshell也无效,仅是资源管理器的最小化按钮无效,,其他软件的最小化正常,包括任务管理器的最小化也正常。不知道是哪个地方的问题,可能还是和初始化桌面有关。

2、只要是有桌面,带explorer启动的系统,结束explorer后,在启动winxshell,资源管理器的最小化按钮就没有问题。
3、wes8因内置的组建多,快速启动栏处会多出show desktop和 windows switcher 2个按钮,点击没有看到效果,打开的窗口也无法隐藏显示桌面,可能和没有加载explorer有关。
4、下面的这个问题不知道算不算bug,wes8输入法图标可以拖动,就是前面会多出一个透明框,应该是拖动的鼠标跑焦了,wes7正常。

回复

使用道具 举报

33#
发表于 2018-4-2 11:28:41 | 显示全部楼层
本帖最后由 xintiandi 于 2018-4-3 20:40 编辑
slore 发表于 2018-4-1 20:08
谢谢详细的问题报告。

问题1,这个我已经解释过了,资源管理器是利用,


今天用spy++测试了一下,都关闭了dwm服务的,如果是在无法最小化的系统中,手动运行一次explorer后,不管explorer是否退出,在运行winxshell仍然是不行的。下面提供了2种系统,点击最小化前后的截图,不知道能否帮助定位到问题

下图是不能最小化系统的2个截图,前面是打开了资源管理器窗口未点击最小化的状态,后面的是点击最小化之后未成功的状态

下图是可以最下化系统的截图,前面是打开了资源管理器窗口未点击最小化的状态,后面的是点击最小化之后成功的状态
回复

使用道具 举报

34#
发表于 2018-4-2 23:19:43 | 显示全部楼层
本帖最后由 xintiandi 于 2018-4-3 20:41 编辑

F3没有反应,没有完全理解你的意思,我感觉就是监听操作吧,我用消息记录的方式获取了一些信息给你参考,应该能发现问题所在。先看下面的动画,直接点击最小化按钮,无法最小化,但是我用句柄操作工具可以。


下面附上对比图,左边为winxshell的最小化操作,右图为直接句柄工具的最小化操作
回复

使用道具 举报

35#
发表于 2018-4-3 13:04:21 | 显示全部楼层
本帖最后由 xintiandi 于 2018-4-3 20:40 编辑
slore 发表于 2018-4-3 00:48
是的,就是要看这个消息。
不过需要特定鼠标点击最小化时的消息,你演示的时候,窗口没选中你点击过去触 ...


下图左边为winxshell,选定窗口,在点击最小化失败的记录,右图为选定窗口后,句柄工具操作最小化的记录。
具体文件见附件

154.rar

1.66 KB, 下载次数: 3, 下载积分: 无忧币 -2

124.rar

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

回复

使用道具 举报

36#
发表于 2018-4-3 18:26:23 | 显示全部楼层
那晚上试试吧。system32下面有 dwm.exe,默认这个系统都是带的,我只是在服务里面禁用了,dwm对应的服务。默认时启动的。
回复

使用道具 举报

37#
发表于 2018-4-3 20:22:49 | 显示全部楼层
本帖最后由 xintiandi 于 2018-4-3 20:41 编辑

可以最小化了。wes7和wes8 x86都测试通过。x64,暂时没有装对应的版本,没有测试。之前的那些插入的图,我删除了。有点影响网页刷新。

评分

参与人数 1无忧币 +5 收起 理由
slore + 5 感谢详细反馈问题!

查看全部评分

回复

使用道具 举报

38#
发表于 2018-4-3 21:41:17 | 显示全部楼层
本帖最后由 xintiandi 于 2018-4-3 23:12 编辑

wes7下测试完美,wes8输入法拖动跑焦的问题和输入法有关,我换一个输入法就没有出现了。

刚才测试又发现一个问题,我开机直接运行winxshell,点击开始菜单设置中的控制面板,居然没反应。点击几次都没有用,我打开cmd 直接输入control.exe也没有反应。启动后在winxshell不退出的情况下第一次运行explorer.exe,刚好一分钟才会加载完界面,并且加载出来后,之前操作的点击控制面板的界面也一起出来了。只要explorer运行一次后,在到winxshell中,点击控制面板或者运行control都没有问题了,也很快。只有重启后,问题又出来了。那就说明wes8中运行explorer后,可能附带有初始化的操作。否则,winxshell中点击控制面板无法运行。必须等待explorer执行或者其他程序行始化后,才响应。
我用第三方文件管理器,直接调用打开控制面板也要等待1分半的时间。看来wes8和wes7在加载桌面初始化可能不一样。

如果启动后,不运行winxshell,而是直接运行control就不会有问题。如果先运行winxshell,在运行control,最后运行explorer会导致窗口要延时1分钟弹出。并且容易卡死。
如果单独运行winxshell后,只点击控制面板或运行control要等1分半钟,反复测试几次都是这样,基本上刚好1分半界面才会出来,仿佛又是之前的出现过的问题。
如果运行winxshell后,只运行explorer,需要等待30秒弹出窗口,卡主加载30秒,刚好1分钟,explorer的界面加载完。
看来是运行winxshell后,对运行explorer有影响,间接导致对control有影响,要等1分半,才能出来控制面板的界面,其他功能没有发现受影响,毕竟运行控制面板必须要explorer做支持才能运行,wes8中的explorer可能和winxshell有一定的冲突。
回复

使用道具 举报

39#
发表于 2018-4-5 13:31:51 | 显示全部楼层
启动进程信息有办法抓取吗,没有找到合适的工具,你可以先按照之前说的方式试试,或者加入调试信息,看是否能定位的准确的信息。
回复

使用道具 举报

40#
发表于 2018-4-18 00:13:03 | 显示全部楼层
本帖最后由 xintiandi 于 2018-4-18 00:14 编辑

之前一直忙,spy没有找到监听窗口启动过程的方法,刚好今天有时间,用了processmonitor监听了,整个过程,具体日志见附件,不知道楼主能否从这个日志中找到问题,有点大, 查看的时候只保留explorer.exe和control.exe即可。

processmonitor设置过滤只监听explorer和control进程。查看的时候按时间顺序,可能就能看出问题。
1、正常的日志,开机启动后,打开processmonitor,cmd运行control.exe,出现控制面板界面为止,也就正常的1秒钟吧
2、错误的日志,开机启动后,先运行winxshell,在打开processmonitor, cmd运行control.exe,直到一段时间后加载出控制面板界面为止。
我看了一下,只是看到正常的日志是先加载的control,之后才是explorer
但是错误的日志 control和explorer有不断交叉加载的情况,里面很多东西看不懂。

开机运行control正常Logfile.rar (582.95 KB, 下载次数: 2)
有问题的日志Logfile2.rar (629.43 KB, 下载次数: 1)

点评

好的,我今天下午看看  发表于 2018-4-18 08:22
回复

使用道具 举报

41#
发表于 2018-5-22 16:30:32 | 显示全部楼层
楼主,上次发的日志,你看了找到问题了吗?

点评

看到了,WIN7的是control还是调用explorer进程实现的。我可以加一个winxshell启动的处理,第一次启动时,隐藏调用下control.exe,然后把打开的“控制面板”窗口关闭,可能稍微闪一下,可以接受么。  发表于 2018-6-4 17:23
回复

使用道具 举报

42#
发表于 2018-6-5 13:23:09 | 显示全部楼层
现在是wes8有问题,也就是win8,隐藏调用control再关闭是可以达到效果,只是explorer看来还是不能完全替代,只是不用,但至少要保留在系统中,不能删除。看来要完全删除explorer,还有一段路要走。
回复

使用道具 举报

43#
发表于 2018-8-2 19:16:51 | 显示全部楼层
wes8系统今天测试了一下,加了-wes参数,的确解决了界面卡的的问题,第一次初始化expllorer后,窗口没有自动关闭,还是打开的,这样不利于后台自动运行。之前版本里面的那个关机界面怎么不能用了。提示找不到,同样的配置方式。现在是不是取消了-noautostart参数。
回复

使用道具 举报

44#
发表于 2018-8-2 23:03:44 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-2 23:14 编辑
slore 发表于 2018-8-2 19:55
我没有能用的WES系统,我在WINDOW7下面测试的.

第一次winxshell运行会启动control.exe然后关闭“控制 ...


好的。以前的wes7是没有问题的,只有wes8才有控制面板卡顿的问题,刚才我测试了,按照你说的方法改成6.2,可以了。不会卡顿了。

评分

参与人数 1无忧币 +3 收起 理由
slore + 3 谢谢反馈

查看全部评分

回复

使用道具 举报

45#
发表于 2018-8-2 23:57:19 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-3 18:04 编辑
slore 发表于 2018-8-2 19:55
我没有能用的WES系统,我在WINDOW7下面测试的.

第一次winxshell运行会启动control.exe然后关闭“控制 ...


以前是临时用的,我是用一个热键精灵调用的自动启动的,以前用的winxshell -winpe -noautostart启动的
刚刚是我用的是winxshell -winpe -noautostart -wes启动的,现在pe和wes分成不同的模式了。于是我修改了winxshell -wes启动的,关机菜单就出来了。新版本解决了第一次启动加载自动运行注册表的问题,那-autostart是不是没有意义了,

这个重启按钮在哪定义,以前是在winxshelll.jcfg开始菜单这样改的。因为要pe模式才能生效,自带的Wpeutil.exe在wes系统下是没有作用的,所以以前才加了-winpe参数启动,调用这个关机菜单。

现在的新版本了我解压了wxsUI\UI_Shutdown,查看了一下感觉应该是在main.lua中修改,试了可以了。


开始菜单这个地方的配置是给正常系统用的吧。我看pe和wes模式都没有效果
最近有点忙,有时间在测试一下wes7系统,以前在wes7上是完美的,wes8只是第一次打开控制面板卡顿的问题,看来新版本越来越完美了。

好像还是有点问题,重启没问题了。控制面板现在又打不开了,点击没有任何反应,还是卡,找时间在测试,看这个问题是怎么导致,
      },
      "shutdown": {
         "command": "Shutdown.exe",
         "parameters": "-f -s -t 0"
      },
      "control": {
         "command": "control.exe"
      }
    }
回复

使用道具 举报

46#
发表于 2018-8-3 00:32:14 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-3 22:53 编辑

今天再次测试,把之前的winxshell全部删除重新配置了一遍,wes8还是有问题,弹出了一个黑框,就关掉了。再次打开控制面板还是要等1分多种才出来,感觉是control.exe开启还没有完成初始化都被关掉了。是不是应该加个延时。
winxshell,可否再启动参数中加个带密码启动,如果配置后,就要把输入密码和winxshell.jcfg中存的密码比对,密码最好是md5方式存储,输入对了密码,才启动winxshell,没有密码就看不到界面,不知道算不算奇葩需求。
刚刚测试了wes7系统,脚本中if那个地方,版本不管改成6.1还是6.2启动后,都会打开控制面板,wes7其实是不需要的。建议去除对wes7第一次启动winxshell,自动打开control.exe的功能。其他功能都正常。
刚测试一下,-noautostart参数有效的,我的自动运行程序先于winxshell启动,默认winxshell没有加入开机自启动,需要的时候手动运行,但是需要运行winxshell时,第一次启动要初始化运行注册表启动项,会导致已经运行的程序出错。提示.net框架错误,加了这个参数就完美了,不会相互影响。
回复

使用道具 举报

47#
发表于 2018-8-4 00:56:23 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-4 01:30 编辑

现在就是wes8上有问题,wes7去除启动运行一次的control就完美了
1、刚测试发现回收站清空后,不自动刷新,
2、wes8系统启动,第一次运行winxshell后打开控制面板非常慢,要等1,2分钟。
3、我把我测试的系统,备份了一个给你,系统上传中,百度云有点慢,稍后附上地址。如果你有时间可以试试,在虚拟机下还原,
    上次给你的系统是wes7的iso安装文件,必须要有分区,就能自动安装,否则会出错。
     这次是我安装好的we8系统,在虚拟机里面备份的2种格式:一个cgi备份的esd,可以先用这个还原看看,如果还原后无法启动,就只能用另外那个atih备份的tib文件,支持异机还原,我测试的系统都是实际安装,通过aiih异机还原到虚拟机上测试的。
    atih一定要选择异机还原方式,否则启动会蓝屏或不停重启,运气好也可能会进入系统,还原时可能会提示找不到驱动文件夹,不管他,直接忽略掉。重启后,在虚拟机下安装vmware tool就可以了。创建虚拟机的时候,最好创建win8x86的系统,我在c盘根目录已经放了winxshellx86文件夹,最新的版本。

备份文件地址.txt

74 Bytes, 下载次数: 4, 下载积分: 无忧币 -2

回复

使用道具 举报

48#
发表于 2018-8-4 10:54:57 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-4 12:27 编辑
slore 发表于 2018-8-4 10:31
感谢详细反馈信息!


好的。我先试试你说的方法,密码写到脚本lua里面就可以了。配置了密码启动后,winxshell才会加载输入密码框,如果不配置,那就是正常的启动,这个只是防君子,不是防小人的。不用考虑到其他文件删除,或者更高级的隐藏机制,也没有必要做成专版,不利于以后的升级维护,默认不配置,如果有需要的自己就到脚本中去加。这样通用性更好。

刚才试了一下下载了MD5.lua到lua_helper下,WinXShell.lua中加入了你提供的代码,也就是默认密码是abc,启动该的时候我加了-p参数,还是直接启动了。没有要输入密码的地方。
回复

使用道具 举报

49#
发表于 2018-8-6 10:27:42 | 显示全部楼层
在请教2个问题,
1、下图中,框上那个菜单,怎么退出。
2、系统信息中的,那些文字都可以随便自定义吗。
回复

使用道具 举报

50#
发表于 2018-8-6 11:59:25 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-7 15:18 编辑
slore 发表于 2018-8-6 11:44
问题2

系统信息,所有的文字,所有的图片,所有的按钮,所有的布局,


好的。那我抽时间在试试UI_Launcher,就是失焦后没有关闭,我才来请教。我测试的是wes7系统,被裁剪了的,默认点击我的电脑右键属性,是没有信息框的,没有任何反应。就是说是点不出系统信息的,我导入了handle_prop.reg注册表项,还是调不出来,难道这个功能要依赖系统的某些文件。看了一下main.lua,里面需要systemcpl.dll ,shell32.dll,包括sysdm.cpl等对应的mui文件都在系统里面加入了的。类似这样的代码不太懂 '#{@shell32.dll,31057}' ,猜测是调用shell32.dll中31057对应的文本,我用编辑器打开shell32.dll里面没有找到31057这项。main.lua中,哪些对应 windows版本,系统 等字样。下面代码中的几个按钮到比较好理解,要不然只能在有text的地方都改了试试,看效果。
  sui:find('title').text = '#{@systemcpl.dll,1}'
  sui:find('cphome_btn').text = '#{@shell32.dll,31057}'
  sui:find('devmgmt_btn').text = '#{@systemcpl.dll,100}'
  sui:find('rmt_btn').text = '#{@systemcpl.dll,101}'
  sui:find('protect_btn').text = '#{@systemcpl.dll,102}'
  sui:find('adv_btn').text = '#{@systemcpl.dll,103}'
  sui:find('act_btn').text = '#{@systemcpl.dll,105}'
  sui:find('more_label').text = '#{@shell32.dll,31091}'
  sui:find('update_btn').text = '#{@systemcpl.dll,104}'
回复

使用道具 举报

51#
发表于 2018-8-6 13:13:28 | 显示全部楼层
好的。感谢这么详细的回复,我晚上抽时间在试试,那些dll,我是用Resource Hacker查看的,很多还是找不到,不知道为什么能显示出来。lua语言以前没有接触过。之前自学了一段时间的c#,c#的相关的应用层面的代码还基本能看懂个七七八八,只要涉及到api相关的还是看不懂。上周也是抽空余时间,改造了一个进程守护的软件,正打算用来守护winxshell,这几天要生二娃了,测试时间也不会太多。
回复

使用道具 举报

52#
发表于 2018-8-6 21:29:32 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-7 15:18 编辑
slore 发表于 2018-8-6 12:45
没写注释确实不方便,不过 lua尽量保持纯英文来支持不同语言的系统,不然英文系统上编码错误无法加载 ...


我试了一下windows版本对应  set_res('edition_group',1538), 不是system_group'我修改成  sui:find('edition_group').text = 'windows版本',就显示出来了。
  set_text('status_group', 'Windows #{@shell32.dll,8981}'),我理解的是设置Windows状态,显示的文本是shell32.dll中8981资源处。
  
看代码应该是shell32中的8981资源。截图上已经显示了windows状态,已使用。ResourceHacker 打开shell32.dll就是没有找到8981.

我的系统中没有notepad,我平时编辑文本都是用的绿色版本的notepad2来代替的。所以右键菜单里面也没有建立记事本的快捷方式。不好验证是否可以劫持系统属性。
回复

使用道具 举报

53#
发表于 2018-8-6 22:45:45 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-7 00:15 编辑
slore 发表于 2018-8-6 22:11
画面看差了,确实是edition_group才对.


好的,是我没有仔细看,等我测试完了再一起反馈。
试了UI_Launcher,默认是全屏方式,的确要再次运行的时候,才会关闭,但是1/4屏的方式,我按照你说差异修改了。一直没有出现过,始终是全屏的方式。所以没有测试到是不是失焦就关闭。我的电脑属性的问题完美解决,可以打开了。
回复

使用道具 举报

54#
发表于 2018-8-7 00:53:53 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-7 01:00 编辑
slore 发表于 2018-8-7 00:34
手动添加我的电脑属性菜单的话,菜单名建议改成 "属性(&R)", 我的注册表是默认用"属性",然后WinXShell.exe ...


没有找到你说的改属性的地方,1/4屏的问题解决了。原来是测试的时候,我修改的配置文件在另外一个文件夹下,我搞混了。还有一个就是上次说的md5密码问题,如果是改成配置的话,winxshell启动的时候就得去检测是否有这个配置项,否则就要暂停,错误还要退出,得增加退出函数。

你说的是这样改吧
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\properties]
@="@shell32.dll,-33555"
;@="&Property"? shortcut name with be updated by WinXShell for locale language
"Position(&R)"="Bottom"
回复

使用道具 举报

55#
发表于 2018-8-7 15:24:41 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-7 16:45 编辑

wes7中如果少了explorer.exe。控制面板会出错。不知道这个有没有办法处理,让彻底抛弃explerer,不知道控制面板里面的那些功能是否还要依赖explorer


托盘图标显示感觉有问题,没有和windows同步,有些图标是隐藏的,但是点击折叠后隐藏不了。


系统信息是不是少了截图中的3处,还没有模仿完。


带密码参数-p启动的问题,我测试没有成功,我测试的结果是,不管带不带-p参数都能启动 随便填-a -b 之类的也能启动,没有退出,难道没有对合法参数做检测。我下载的关闭函数,用beyong,核对了差异,融合后替换的。看调试信息应该是关闭函数没有执行,check password 已经生效了。
回复

使用道具 举报

56#
发表于 2018-8-7 21:51:10 | 显示全部楼层
slore 发表于 2018-8-7 21:21
1.不要explorer,访问控制面板

基本不可能。因为很多UI都是explorer窗口显示的。

winxshell.jcfg没有改,只改了winxshell.lua,我都打包了。

winxshelltest.rar

4.51 KB, 下载次数: 1, 下载积分: 无忧币 -2

回复

使用道具 举报

57#
发表于 2018-8-8 23:11:04 | 显示全部楼层
slore 发表于 2018-8-8 20:51
x86不能正常结束shell的原因知道了,lua的winapi.dll库的编译选项搞错了,编译成UNICODE版了,字符串无法 ...

感谢这么快就解决了。我测试wes7的x86和64系统都没有问题,密码问题解决了。现在就剩wes8的控制面板问题,等解决了,我在一起测试wes8的系统,但是现在只有x86的wes8。
回复

使用道具 举报

58#
发表于 2018-8-9 10:40:00 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-9 10:42 编辑
红毛樱木 发表于 2018-8-9 01:18
控制面板慢,有没有可能本来就是这样子?
因为在win8及之后的pe会有这种情况。
试试原始的explorer打开 ...


原始的控制面板打开不会慢,只要explorer运行一次后,在运行winxshell打开控制面板就正常了。但是如果explorer不运行,winxshell先运行,不管是否关闭winxshell 在打开控制面板也会变慢;只要explorer运行了一次后,在打开控制面板都正常,只是第一次运行控制面板有变慢的问题,重启之前都是正常的
回复

使用道具 举报

59#
发表于 2018-8-9 11:52:39 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-9 12:00 编辑
红毛樱木 发表于 2018-8-9 11:18
正常的win8系统啥情况?


我没有用过正常的win8系统,现在用win10,我们用的wes7或8都是采用Command Prompt Shell with Custom Shell Support 方式,默认没有桌面的。wes8下直接打开控制面板,也就延时2,3秒,但是在winxshell中打开控制面板,要等差不多2分钟才出来界面,explorer到很快。这个问题等楼主测试了,应该就能解释了。个人感觉还是和初始化桌面之类的有关,感觉像是winxshell没有去执行explorer启动中的某个动作,所以control处于等待中,等到超时了,在启动的control,所以才会慢。但是如果winxshell先运行后,也会对控制面板有影响,感觉又有冲突,不知道怎么回事,最终还是得等楼主来揭晓答案。
回复

使用道具 举报

60#
发表于 2018-8-9 13:55:22 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-9 14:12 编辑
slore 发表于 2018-8-9 13:26
原因和回避方法已经在windows 8.1上确认了,再wes8上我再确认下就可以更新了。

解决方法就是原来说 ...


刚刚测试了没有通过。奇怪的是如果wes7测试,改成  if ver == '6.1' then,是有弹窗出来的,只是自己不会关掉而已,改成6.2,再wes8上,没有任何弹窗出来。

function initcontrolpanel(ver)
  local ctrlpanel_title = ''
  --  4161    Control Panel
  -- 32012    All Control Panel Items
  if ver == '6.2' then
    ctrlpanel_title = app:call('resstr', '#{@shell32.dll,4161}')
  else
    ctrlpanel_title = app:call('resstr', '#{@shell32.dll,32012}')
  end
  app:print(ctrlpanel_title)
  app:run('control.exe')
  app:call('sleep', 500)
  local cp_win = winapi.find_window('CabinetWClass', ctrlpanel_title)
  app:print(string.format("Control Panel Handle:0x%x", cp_win:get_handle()))
  cp_win:send_message(WM_SYSCOMMAND, SC_CLOSE, 0)
end


按照你说的改成这样了
function onload()
  -- app:call('run', 'notepad.exe')
  -- app:run('notepad.exe')
  app:print('WinXShell.exe loading...')
  app:print('CommandLine:' .. cmd_line)
  app:print('WINPE:'.. tostring(is_pe))
  app:print('WES:' .. tostring(is_wes))
  if is_wes and check_password() ~= 0 then
    os.exit(1)
  end
  if is_wes then
    initcontrolpanel(win_ver)
  end
end

下面2个截图一个是启动后只运行control,另一个是启动后先运行winxshell再运行control


回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 06:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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