无忧启动论坛

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

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

    [复制链接]
61#
发表于 2018-8-9 17:43:02 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-9 17:57 编辑

现在测试可以了。能打开控制面板了。之前不知道怎么回事不行,不知道是不是和编码有关,因为beyoud打开的文档有些识别成ansi,有些又是utf-8,lua和jcfg好像也有差异。有时我用记事本改的。

之前出现了一次这样的提示,不知道是怎么导致的。
回复

使用道具 举报

62#
发表于 2018-8-9 22:18:19 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-9 23:43 编辑

这种方式没有问题,可以更新了。但是仅wes8需要这么处理,wes7是不需要的,我把function onfirstrun()里面的ver改成6.2,意思就是wes8的时候才初始化,但是经常在wes7下也会运行control,没有wes10的环境,就没有办法测试。
上次也遇到这样的问题,不知道后来怎么又好了,好像是全部替换了一遍文件,感觉替换的都没改动。现在是wes7 x64也出现一样的情况,我在wes8下测试好了,直接拷贝到wes7下的,我用的x64位版本的winxshell测试的,运行后,控制面板又自动打开了,感觉判断版本那有点问题。wes7,弹出控制面板,wes8也就解决了。如果wes7不弹出控制面板,wes8好像也不行了。不知道是哪个地方的配置又出了问题,这样的问题之前测试也遇到过,如果没记错的话,也出现了2,3次。就像下午测试wes8不行,晚上回来后文件都没有替换,就加了console运行一次后,就可以了。真是奇怪了。难道和虚拟机有关。之前测试的winxshellx86版本已经完美了。



找到问题了,下面这3行,wes8加上,wes7删除。感觉代码有点问题哦,对于wes8没有问题,但是对于wes7,好像有问题,假如是wes模式,就会初始化控制面板,控制面板的函数中,版本不等于6.2的时候也会执行control.exe
之前也是照搬没有仔细想,改成和onfirstrun函数中一致就好了。既判断是wes,也要判断版本是6.2,才初始化控制面板就行了。好了,所有问题完美解决。

  1.   if is_wes and win_ver == '6.2' then
  2.     initcontrolpanel(win_ver)
  3.   end
复制代码


评分

参与人数 1无忧币 +5 收起 理由
slore + 5 自己动手,丰衣足食!

查看全部评分

回复

使用道具 举报

63#
发表于 2018-8-10 12:40:25 | 显示全部楼层
本帖最后由 xintiandi 于 2018-8-10 12:41 编辑

winxshell越来越完善了。lua的代码主要是一些函数和方法不知道怎么用,对于非编程人员是有难度,

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)
类似这样的代码,我自己是没办法写出来,只是大概能猜到意思,感觉是先通过lua的api去找控制面板的窗体,找到后输出控制面板的句柄,最后那句不太懂,既然是message,感觉是弹出消息之类的提示。
以后不懂的还要多向楼主请教。今天刚注意到大家都算是无忧的老人了。居然都是2007年1月注册的,都11年多了。
之前用了一周的时间也把网上找的进程守护改造了一下,昨天发布到csdn,我就是用来守护winxshell用的,如果有需要的朋友可以去下载。
https://blog.csdn.net/xintiandi12345/article/details/81534648

点评

非科班很厉害了,看了程序介绍功能很强啊,还有托盘啥的,比这lua脚本复杂多了,编程的问题,随意OK。  发表于 2018-8-10 12:53
第二句是调试用的,拼了一个字符串,用来判断窗口是否找到,不要也可以。 send_message和你想到MessageBox这种提示消息不同,这个是给应用程序发送消息, 这里是SYSCOMMAND,窗口标题右键的系统菜单,SC_CLOSE表示  详情 回复 发表于 2018-8-10 12:49
回复

使用道具 举报

64#
发表于 2018-8-10 13:17:08 | 显示全部楼层
slore 发表于 2018-8-10 12:49
第二句是调试用的,拼了一个字符串,用来判断窗口是否找到,不要也可以。
send_message和你想到Messag ...

那就是对windowsapi相关的操作了。看来不管什么语言,在windows机制上运行都要遵循api规则,这块了解得少,之所以学了一下c#和delphi差不多。图形化的,相对简单得多,lua好像是基于c语言搞的吧。
wes7,8模式其实是wes的Command Prompt Shell with Custom Shell Support方式,其他方式应该和win7,win8是一样的,不需要加-wes参数。省得给其他用wes系统的用户误导。
回复

使用道具 举报

65#
发表于 2018-8-22 22:41:51 | 显示全部楼层
支持楼主的分享精神。
回复

使用道具 举报

66#
发表于 2018-9-9 12:07:16 | 显示全部楼层
不知道楼主有没有打算让winxshell加入Custom Logon的想法。也就替代现有windows一层不变的登录界面。

点评

好的,我上传6个微软提供的源代码,vs可以编译通过,也能使用,主要代码中太多api的东西,搞不懂,当以后有时间的时候可以看看。  详情 回复 发表于 2018-9-9 15:40
正常系统的logonUI.exe,光UI能改,但本身这里牵扯到用户权限,域用户等管理等自制不好弄啊。WES的Custom Logon还没接触到,最近特别忙,技术上OK的事好多都放放了。。。  发表于 2018-9-9 13:22
回复

使用道具 举报

67#
发表于 2018-9-9 15:40:02 | 显示全部楼层
本帖最后由 xintiandi 于 2018-9-9 15:43 编辑
xintiandi 发表于 2018-9-9 12:07
不知道楼主有没有打算让winxshell加入Custom Logon的想法。也就替代现有windows一层不变的登录界面。


好的,我上传6个微软提供的源代码,vs可以编译通过,也能使用,主要代码中太多api的东西,搞不懂,当以后有时间的时候可以看看。代码可以在wes7,8上都可以用,只是正常win7,8没有机会测试,不知道是否适用。

Custom Logon.rar

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

回复

使用道具 举报

68#
发表于 2018-9-13 00:55:53 | 显示全部楼层
本帖最后由 xintiandi 于 2018-9-13 00:59 编辑

请教楼主2处问题,我在wes7中补齐电脑属性后,我的电脑右键属性跑到右键的第3个菜单处了,不是在最后,最下方多了电脑信息的预览。我只修改了UI_SystemInfo下的main.lua。

点评

你看handle_prop.reg, "Position"="Bottom" 这个信息注册表补充了么。我的电脑下面多了属性的话,我先在WIN7试试看。你可以试试用handle_prop.reg,不过自己任意写个菜单名,不要叫Properties,然后禁用系统属性NoPr  详情 回复 发表于 2018-9-13 09:00
回复

使用道具 举报

69#
发表于 2018-9-13 11:59:45 | 显示全部楼层
本帖最后由 xintiandi 于 2018-9-13 13:03 编辑
slore 发表于 2018-9-13 09:00
你看handle_prop.reg, "Position"="Bottom" 这个信息注册表补充了么。我的电脑下面多了属性的话,我先在W ...


注册表内容见下图,把属性补齐后,就系统类型和计算机描述2项是空的。


更改一个123菜单还是加在上面,不是在最后。最终解决了。用"Position"="Bottom"  就是在最后            用"Position(&R)"="Bottom"就是出现在图中的位置,测试了都能打开系统属性信息。
回复

使用道具 举报

70#
发表于 2018-9-13 22:46:52 | 显示全部楼层
本帖最后由 xintiandi 于 2018-9-13 22:55 编辑
slore 发表于 2018-9-13 13:52
系统类型的资源是106行main.lua:
  


麻烦楼主在帮忙看看,按照你说的我自己加了系统类型是systemcpl.dll.mui中资源对应不对,我把23改成58就可以了,计算机描述,我参照版本那的注册表读取,也可以了,我加了正版的图标,但是下方那的 联机了解更多内容,搞了一阵字体无法调小,感觉font参数没用,你帮忙看看,最终想要的效果见下面第一张图,我也尝试改了 <Label name="basic_label" font="18" textcolor="#FF303F9F" />,字体也不会发生变化,难道main.xml中字体写死了。能否在main.lua中传递font参数?可能还是我对这个代码没有读明白。



回复

使用道具 举报

71#
发表于 2018-9-13 23:30:26 | 显示全部楼层
slore 发表于 2018-9-13 23:16
font字体表示ID,在locales\zh_CN.xml中先定义,大小,字体名,加粗,斜体啥的。
然后main.xml中引用对 ...

非常感谢,终于可以了。看来是对winxshell的整体结构还不熟,没有仔细看说明,真没去想font后面是定义的字体的id,我一直以为是size,折腾了半天,可以休息了。
回复

使用道具 举报

72#
发表于 2018-9-14 22:17:26 | 显示全部楼层
本帖最后由 xintiandi 于 2018-9-14 22:19 编辑

在请教楼主一个问题,和winxshell没有关系,就是我想去掉wes8默认启动后的开始菜单界面(就是所谓的metro风格),而直接进入桌面,见下图,现在的情况每次重启后,都会停在这个界面等待按开始菜单进入桌面,我试了网上提供的win8去掉metro的方法,添加注册表项和删除某个dll文件都不行,如果我结束explorer.exe,在重新运行explorer.exe,就会直接进入桌面,不会出现这个菜单。如果我配置默认启动shell为cmd,cmd下在运行explorer也不会出现这个开始菜单,而是直接进入桌面,我想楼主指点一下,有什么方法可以排查这个界面和哪个文件有关系?给个思路,因为是监听启动过程,我还没有找到适合方法,如果监听一般的应用程序就容易多了。
回复

使用道具 举报

73#
发表于 2018-10-3 23:03:02 | 显示全部楼层
本帖最后由 xintiandi 于 2018-10-4 00:18 编辑

非常期待加入登陆界面的版本。不知道这个登陆界面是加载winxshell自己设置的用户和密码,还是直接验证windows系统自带的用户名和密码,当然期待是后者就完美了。

刚刚顺便试了一下针对wes8,启动后打开控制面板的问题,怎么还是卡顿,难道是默认没有启用运行一次control,不是找到问题了,不需要执行一次control,有时间再比对一下lua文件和之前的解决方式之间的差异。
回复

使用道具 举报

74#
发表于 2018-10-4 22:30:31 | 显示全部楼层
xintiandi 发表于 2018-10-3 23:03
非常期待加入登陆界面的版本。不知道这个登陆界面是加载winxshell自己设置的用户和密码,还是直接验证windo ...

这是之前测试过没有问题的版本
WinXShell.rar (2.71 KB, 下载次数: 13)

回复

使用道具 举报

75#
发表于 2018-12-23 21:05:57 | 显示全部楼层
期待楼主登录界面版本的更新,不知道年前能更新不,能否透露一下登录机制的细节,我现在的环境是,系统启动后不会运行explorer,会自动运行一个程序,运行完后,我希望winxshell也能跟随运行,等我需要的程序界面启动完成后,就自动切换到winxshell的登录界面,相当于锁住桌面,不知道这样的运行环境,新版winxshell是否满足?winxshell能否配置是否记住上次登录的用户名?

点评

会闪动一下。另外,winlgon的shell从eshell改成 explorer,explorer也行,不过桌面会打开一个explorer,嘛,再写一个关闭窗口命令。。。能解决。。。  发表于 2018-12-27 22:59
你之前给我的WES8我还原了,直接登录界面问题,手动按WIN+D可以,但是发送按键不行。添加一个开机启动autoit命令:Sleep(5000) Send("桌面") Send("{Enter}")可以,不过相当于右边输入APP,回车。   发表于 2018-12-27 22:58
你发的CustomLogon我看了。只能改变单个用户认证的 头像,密码显示这块,整体背景图啥的不能改。  发表于 2018-12-27 22:56
WinXShell有2个月没更新了。暂时也没功能更新的计划。工作上有些忙。脚本工具偶尔写写。登录界面我这里的类似PECMD的password吧,就是有个密码输入框,其他的不能点不能切。你发我的是系统的,估计那种相当的WIN+L锁  详情 回复 发表于 2018-12-23 22:43
回复

使用道具 举报

76#
发表于 2018-12-28 11:13:25 | 显示全部楼层
slore 发表于 2018-12-23 22:43
WinXShell有2个月没更新了。暂时也没功能更新的计划。工作上有些忙,顾不过来。脚本工具偶尔写写。登录 ...

每个demo的样式不一样,我们现在用的是这个WindowSampleCredentialProvider,编译完成后,有个dll文件,先导入注册表,替换哪个dll文件,估计要在pe下替换,重启后就能看到效果了。
回复

使用道具 举报

77#
发表于 2018-12-28 11:18:58 | 显示全部楼层
下面是以前测试保留的截图,这些都是微软提供的默认的方式,登录背景可以修改的。

image017.png (395.18 KB, 下载次数: 107)

image017.png
回复

使用道具 举报

78#
发表于 2018-12-28 11:32:28 | 显示全部楼层
本帖最后由 xintiandi 于 2018-12-28 11:54 编辑

下图是我们公司在用的一种方式,涉及的其他问题,只能上传打码图片,没有解决登录框居中和背景图片自适应分辨率的的问题,我们只是固定在了左上角,采用了固定分辨率图片,如果能解决像微软那样自适应就完美。
回复

使用道具 举报

79#
发表于 2018-12-28 11:43:35 | 显示全部楼层
至于你说的这2条,我还没有完全理解明白,
会闪动一下。另外,winlgon的shell从eshell改成 explorer,explorer也行,不过桌面会打开一个explorer,嘛,再写一个关闭窗口命令。。。能解决
你之前给我的WES8我还原了,直接登录界面问题,手动按WIN+D可以,但是发送按键不行。添加一个开机启动autoit命令:Sleep(5000) Send("桌面") Send("{Enter}")可以,不过相当于右边输入APP,回车
回复

使用道具 举报

80#
发表于 2018-12-28 12:58:53 | 显示全部楼层
本帖最后由 xintiandi 于 2018-12-28 14:57 编辑
slore 发表于 2018-12-28 12:14
到了登录界面。你按WIN+D组合键就系统桌面了,Motro界面就关闭了。

随便按个字母(比如:D)看看,是 ...


你说的是自动关掉metro的问题吧。我还以为你是说之前wes8下,不运行explorer,会导致winxshell卡的问题。最近在配置mysql的数据同步之类,抽时间看了一点逆向技术,年底太忙了。
win+d,是可以关闭,开始菜单也可以关闭,我之前想要的就是自动关闭进入桌面,写个脚本应该是可以的,上面提到的界面登录框在wes8下也是可以用的,我测试过。

刚才试了一下,改成"shell"="explorer.exe,explorer.exe",的确可以自动关闭metro界面,但是打开了资源管理器,可以延时杀进程
                       改成"shell"="explorer.exe,cmd.exe"   ,metro不会关闭,手动进入桌面后,cmd也运行了。

我修改了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Embedded\Shell Launcher下的shell值,居然会自动清除[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]下shell的值,导致无法启动。
这2项还有一定的关联。

最后完美了[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]下shell直接改成绝对路径下的winxshell.exe,完美匹配,也不出现metro界面


附上之前那几个customlogon的英文文档说明,如果需要的话。
Custom Credential Providers.rar (2.2 MB, 下载次数: 0)
回复

使用道具 举报

81#
发表于 2018-12-29 11:46:38 | 显示全部楼层
slore 发表于 2018-12-28 12:14
到了登录界面。你按WIN+D组合键就系统桌面了,Motro界面就关闭了。

随便按个字母(比如:D)看看,是 ...

今天测试发一个问题,你可以试试,在我发给你的wes8上测试winxshell,桌面上右键屏幕分辨率会卡一阵才出来,当然前提是不运行explorer,系统启动后只运行cmd或者仅运行winxshell,通过winxshell在桌面上右键屏幕分辨率。百分之百卡。仿佛和之前拷贝卡感觉一样的症状,当然你也可以顺便试试,cmd打开control,卡的情况,我测试还是会有,偶然会正常,重启基本都会出现。以上所有的测试我都是在系统启动后不先运行explorer后出现的。
回复

使用道具 举报

82#
发表于 2019-1-4 12:16:23 | 显示全部楼层
slore 发表于 2018-12-28 12:14
到了登录界面。你按WIN+D组合键就系统桌面了,Motro界面就关闭了。

随便按个字母(比如:D)看看,是 ...

我发给你的系统,改成explorer后,桌面右下角有个许可证过期的水印,这个有没有办法找到是哪个文件在控制显示,我找了几次,都没有搞定。
回复

使用道具 举报

83#
发表于 2019-3-4 13:43:55 | 显示全部楼层
不知道期待的登录框这个版本更新没,下载试试。
回复

使用道具 举报

84#
发表于 2019-3-4 21:13:52 | 显示全部楼层
登录框,你不是说只是针对winxshell的界面,不会依赖wes环境吧,难道你是打算接管系统的登录验证框,通过api是有点麻烦,如果有必要的话,我可以抽时间上传一份我们一直使用的中性版本的源码。

点评

[attachimg]388725[/attachimg] winxshell的话,配合你之前的md5密码,这个程度很容易。和关机画面一样。。。  详情 回复 发表于 2019-3-4 23:02
回复

使用道具 举报

85#
发表于 2019-3-5 13:46:54 | 显示全部楼层
slore 发表于 2019-3-4 23:02
winxshell的话,配合你之前的md5密码,这个程度很容易。和关机画面一样。。。

其实我更希望不是windows的界面,能够内置1款linux的界面更好。可以根据配置来修改。
回复

使用道具 举报

86#
发表于 2019-3-21 18:08:33 | 显示全部楼层
本帖最后由 xintiandi 于 2019-3-21 18:12 编辑
slore 发表于 2019-3-4 23:02
winxshell的话,配合你之前的md5密码,这个程度很容易。和关机画面一样。。。


你这个界面是系统的登录界面吧,不是winxshell,我暂时只需要winxshell的,上次你发这个界面不错,能分享一下吗,暂时只需要开机启动后自动运行winxshell,显示下面的登录框,等待输入密码后,才能进行其他操作,可能要考虑置顶显示,甚至要hook住键盘某些按键吧,否则任务管理出来结束了,那就没有用了。
在请教一个系统网卡有关的问题,最近在弄一个ip修改切换的软件,现在唯一没有解决的是,没有插网线的时候怎么读取和修改有线网卡的ip地址,有时还是2个有线网卡,主要是特殊情况下使用。

回复

使用道具 举报

87#
发表于 2019-3-21 22:20:23 | 显示全部楼层
本帖最后由 xintiandi 于 2019-3-21 23:24 编辑
slore 发表于 2019-3-21 21:36
之前的界面不是系统登录的,就是WinXShell我打算做PE的用户切换用的,
还有这个界面,或者你可以发一个 ...


这样的界面行不,至于桌面图标的布局没有,PENetwork是可以修改的,好像最新的win10不行,我刚才看了一下源码3万多行代码,记事本查看不方便,看不太懂,不知道有没有什么专用工具查看,我只习惯vs那样要有颜色区分,才好查看哪些是函数,哪些变量,结构体,目前只对c#熟悉一点,前段时间看了一下w32汇编,有时间还想看看java,语言太多学不完哦。

回复

使用道具 举报

88#
发表于 2019-3-25 14:08:07 | 显示全部楼层
本帖最后由 xintiandi 于 2019-3-25 14:11 编辑
slore 发表于 2019-3-23 18:02
没有添加 键盘钩子屏蔽一些系统组合键。
你先试试看这个效果是否可以?


这样可以,我在你的基础上在改改,最近有点忙,明天又要去项目上调试,周末这几天终于解决了ip切换的问题,最后通过注册表来获取和修改未激活网卡的ip信息,测试过netsh也能修改,在我的win10上要蓝屏,非常感谢。
其他热键都不是什么大问题,主要是ctrl+alt+del,这个热键在winxshell未登录时要屏蔽,登录后才能使用,主要时涉及hook之类的,这块不太懂。
回复

使用道具 举报

89#
发表于 2019-5-5 12:46:58 | 显示全部楼层
我以前也一直用radmin。就是不支持复制粘贴拷贝文件,现在改用vnc了,vnc登录也存在这样的问题,希望楼主统一处理,让vnc登录时,其他app窗口最大化不要遮挡任务栏。
回复

使用道具 举报

90#
发表于 2019-5-5 16:06:12 | 显示全部楼层
shuren 发表于 2019-5-5 14:26
我也同时使用radmin和vnc,vnc要慢一些作为备用。Radmin连接后可以启动传输文件窗口进行文件输送

我用起来还好,到没有发现谁快谁慢,我感觉差不多,因为2个软件都采用的是自己的驱动镜像,ramdin需要打开文件传输窗口,像ftp一样,除非每次打开和上传的文件夹固定,否则,老要去不停切换上传和下载路径不太方便。当然radmin也有其他方便的地方,支持telnet,不用登录也能命令行干些事情。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 11:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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