无忧启动论坛

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

diskpart shell ,用 pecmd 给 diskpart 做个外壳 2022.03.23 ver:1.28 改进

    [复制链接]
301#
 楼主| 发表于 2022-3-26 22:35:32 | 只看该作者
升级 1.27.2
修正 win7 下 diskpart 进程失效的问题。
回复

使用道具 举报

302#
 楼主| 发表于 2022-3-27 00:00:27 | 只看该作者
本帖最后由 dos时代菜鸟 于 2022-3-27 00:05 编辑

关于 pecmd 的 exec| 管道指令在win7 下的问题
1、不能附带 -hide 参数,需要隐藏时 需要 用 !
2. pecmd 必须 被 cmd.exe 调用 才能 实现 管道功能,也就是必须在 批处理中调用。这就失去单文件 的意义了。

重新更新了一下脚本,做了个 系统版本判断,
小于10 的,就用老办法 用 cmd 实现diskpart 结果输出到文件,
大于等于10 的,才用 exec| 管道功能。

这个大概是 两个版本 win 下的 conhost.exe 不一样吧。


回复

使用道具 举报

303#
发表于 2022-3-27 11:37:47 | 只看该作者
dos时代菜鸟 发表于 2022-3-26 22:17
实锤  是 pecmd 的 exec| 管道指令在 win7 下失灵。
或许需要 另外的写法。
增加一个 参数,原来需要 E ...

OK了

点评

OK  详情 回复 发表于 2022-3-27 12:06
回复

使用道具 举报

304#
 楼主| 发表于 2022-3-27 12:06:56 来自手机 | 只看该作者
527104427 发表于 2022-3-27 11:37
OK了

OK
回复

使用道具 举报

305#
发表于 2022-4-12 17:07:48 | 只看该作者
喜欢这样的工具,谢谢分享~~
回复

使用道具 举报

306#
发表于 2022-4-12 17:10:49 | 只看该作者
好工具,谢谢分享~~
回复

使用道具 举报

307#
发表于 2022-6-15 08:36:06 | 只看该作者
楼主辛苦了,点赞支持!
回复

使用道具 举报

308#
发表于 2022-6-30 22:34:13 来自手机 | 只看该作者
感谢分享
回复

使用道具 举报

309#
发表于 2022-7-9 11:33:48 | 只看该作者
谢谢,下载备用。
回复

使用道具 举报

310#
发表于 2022-7-25 17:10:07 | 只看该作者
win7对高分屏支持不好引起的,系统原因。
回复

使用道具 举报

311#
发表于 2022-7-25 17:10:28 | 只看该作者
pecmd 给 diskpart 外壳,超级厉害,喜欢,感谢分享
回复

使用道具 举报

312#
发表于 2022-8-5 16:19:00 | 只看该作者
汇报个小问题、
软件版本号为:1.27.2(2022.03.26)
1. 开启UAC情况下,直接运行程序会无限读条,以管理员权限运行无此问题
2. 在使用非100%缩放的分辨率下,使用软件内【计算器】功能时软件主窗体会重新绘制而造成显示窗体变大或者是变小

点评

谢谢反馈 分区软件 应该是在管理员 权限下运行,如果 uac 下 ,可能因为 diskpart 权限问题,导致数据信息获取不全或根本不能运行,可以尝试 附带参数 debug 看看 diskpart 窗口中的 命令 运行到什么程度了。目  详情 回复 发表于 2022-8-5 16:43
回复

使用道具 举报

313#
 楼主| 发表于 2022-8-5 16:43:28 | 只看该作者
本帖最后由 dos时代菜鸟 于 2022-8-5 17:05 编辑
ikaze 发表于 2022-8-5 16:19
汇报个小问题、
软件版本号为:1.27.2(2022.03.26)
1. 开启UAC情况下,直接运行程序会无限读条,以管理员 ...

谢谢反馈

分区软件 应该是在管理员 权限下运行,如果 uac 下 ,可能因为 diskpart 权限问题,导致数据信息获取不全或根本不能运行,可以尝试 附带参数 debug  看看 diskpart 窗口中的 命令 运行到什么程度了。目前 还不考虑 提权 的事情。理论上 diskpart 运行不了的,这个程序也运行不了。

至于 分辨率非 100百分比 时运行 计算机 导致  主窗口 变化,初步判断 是 pecmd 内置 计算机 与刷新率之间 有什么 指令设置,因为 是 调用的 pecmd 内部计算器,这个问题 不好解决了。
回复

使用道具 举报

314#
发表于 2022-8-5 17:36:39 | 只看该作者
dos时代菜鸟 发表于 2022-8-5 16:43
谢谢反馈

分区软件 应该是在管理员 权限下运行,如果 uac 下 ,可能因为 diskpart 权限问题,导致数 ...

感谢回复

使用 debug 参数执行确认、此时程序还是在无限读秒,后方【命令提示符】无任何信息输出
在此【命令提示符】下手动执行 diskpart 会弹出 UAC 以此推测疑似是程序启动时调用的 diskpart 被 UAC 给拦截了
对于此问题是否可以对主程序的 MANIFEST 内容进行修改以达到启动时申请 UAC 呢?
同时在【管理员:命令提示符】下带 debug 参数执行是有 diskpart 指令显示的


至于分辨率非100%缩放,不好解也无无关紧要啦
回复

使用道具 举报

315#
发表于 2022-8-5 19:17:49 | 只看该作者
刚刚测试了一下、针对程序中的 MAINIFEST 中内容将 'asInvoker' 替换为 'requireAdministrator' 即可让程序打开时申请 UAC 以及管理员权限

点评

我只是把 一个 自制的 pecmd 2012 脚本 用 resource_hacker 导入 到 pecmd 默认内置脚本, 没本事动 pecmd 其他部分。  详情 回复 发表于 2022-8-5 20:23
完全 看不懂 容我 细思量。  详情 回复 发表于 2022-8-5 20:16
回复

使用道具 举报

316#
 楼主| 发表于 2022-8-5 20:16:22 | 只看该作者
ikaze 发表于 2022-8-5 19:17
刚刚测试了一下、针对程序中的 MAINIFEST 中内容将 'asInvoker' 替换为 'requireAdministrator' 即可让程序 ...

完全 看不懂
容我 细思量。
回复

使用道具 举报

317#
 楼主| 发表于 2022-8-5 20:23:36 | 只看该作者
ikaze 发表于 2022-8-5 19:17
刚刚测试了一下、针对程序中的 MAINIFEST 中内容将 'asInvoker' 替换为 'requireAdministrator' 即可让程序 ...

我只是把  一个 自制的  pecmd 2012 脚本 用 resource_hacker 导入 到 pecmd 默认内置脚本,
没本事动 pecmd 其他部分。
回复

使用道具 举报

318#
发表于 2022-8-5 22:30:18 | 只看该作者
dos时代菜鸟 发表于 2022-8-5 20:23
我只是把  一个 自制的  pecmd 2012 脚本 用 resource_hacker 导入 到 pecmd 默认内置脚本,
没本事动  ...

我也是用 resource_hacker 把程序内的 Mainifest\\1 第 12 行中的 'asInvoker' 给改成 'requireAdministrator' 测试了一下而已、证明此可行

点评

如果在 pe 下 system 用户能用么?  详情 回复 发表于 2022-8-5 22:43
回复

使用道具 举报

319#
 楼主| 发表于 2022-8-5 22:43:31 | 只看该作者
ikaze 发表于 2022-8-5 22:30
我也是用 resource_hacker 把程序内的 Mainifest\\1 第 12 行中的 'asInvoker' 给改成 'requireAdministr ...



你说的是这个么?


如果在 pe 下 system 用户能用么?

点评

就是这个,我对比了NSIS提权和不提权编译的exe文件,缺失就是这点区别。 另外,我还发现了支持DPI缩放的代码,经测试,有效。不过修改后,你的程序界面可能会异常。  详情 回复 发表于 2022-8-5 22:55
回复

使用道具 举报

320#
发表于 2022-8-5 22:55:16 | 只看该作者

就是这个,我对比了NSIS提权和不提权编译的exe文件,确实就是这点区别。

另外,我还发现了支持DPI缩放的代码,经测试,有效。不过修改后,你的程序界面可能会异常。
  1.     <application xmlns="urn:schemas-microsoft-com:asm.v3">
  2.         <windowsSettings>
  3.             <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
  4.         </windowsSettings>
  5.     </application>
复制代码

点评

貌似 把 true 变成 false ,就可以了  详情 回复 发表于 2022-8-5 23:17
刚测试了一下 pe 下 可以运行,在 非 administrator 用户下运行,会提示用 administrator 运行并询问 用户密码 提权这个 可行。 分辨率这个 还需要测试下  详情 回复 发表于 2022-8-5 22:58
回复

使用道具 举报

321#
 楼主| 发表于 2022-8-5 22:58:48 | 只看该作者
nttwqz 发表于 2022-8-5 22:55
就是这个,我对比了NSIS提权和不提权编译的exe文件,确实就是这点区别。

另外,我还发现了支持DPI缩放 ...

刚测试了一下 pe 下 可以运行,在 非 administrator 用户下运行,会提示用 administrator 运行并询问 用户密码
提权这个 可行。

分辨率这个 还需要测试下
回复

使用道具 举报

322#
 楼主| 发表于 2022-8-5 23:17:59 | 只看该作者
本帖最后由 dos时代菜鸟 于 2022-8-5 23:28 编辑
nttwqz 发表于 2022-8-5 22:55
就是这个,我对比了NSIS提权和不提权编译的exe文件,确实就是这点区别。

另外,我还发现了支持DPI缩放 ...
  1. <application xmlns="urn:schemas-microsoft-com:asm.v3">
  2. <windowsSettings>
  3. <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
  4. </windowsSettings>
  5. </application>
复制代码


貌似 把 true 变成 false ,就可以了

DiskPart_Shell_1.27.2-(x64.admin-2).7z (959.79 KB, 下载次数: 296)

回复

使用道具 举报

323#
发表于 2022-8-7 02:32:20 | 只看该作者
本帖最后由 ikaze 于 2022-8-7 11:40 编辑

是的、UAC的这个参数可在微软的文档查阅到具体用途
  1. https://docs.microsoft.com/zh-cn/cpp/build/reference/manifestuac-embeds-uac-information-in-manifest
复制代码


感谢楼上 nttwqz 大佬提供的高DPI设定以及同样在微软查到的资料说明
  1. https://docs.microsoft.com/zh-cn/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process
复制代码



最终修改如下,且已本机及PE模式验证通过未发现异常
  1. <?xml version='1.0' encoding='UTF-8' standalone='yes'?>
  2. <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  3. <assemblyIdentity name='Microsoft.Windows.Shell.PECMD' processorArchitecture='AMD64' version='1.0.0.0' type='win32'/>
  4. <description>WinPE Commander (Modified By DSystem mdyblog.blog.163.com)</description>
  5. <application xmlns="urn:schemas-microsoft-com:asm.v3">
  6.         <windowsSettings>
  7.                 <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
  8.         </windowsSettings>
  9. </application>
  10. <dependency>
  11.         <dependentAssembly>
  12.                 <assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*' />
  13.         </dependentAssembly>
  14. </dependency>
  15. <trustInfo xmlns='urn:schemas-microsoft-com:asm.v3'>
  16.         <security>
  17.                 <requestedPrivileges>
  18.                         <requestedExecutionLevel level='requireAdministrator' uiAccess='false' />
  19.                 </requestedPrivileges>
  20.         </security>
  21. </trustInfo>
  22. </assembly>
复制代码

点评

多谢指点  详情 回复 发表于 2022-8-8 08:31
原来如此  详情 回复 发表于 2022-8-7 11:45
回复

使用道具 举报

324#
 楼主| 发表于 2022-8-7 11:45:04 | 只看该作者
ikaze 发表于 2022-8-7 02:32
是的、UAC的这个参数可在微软的文档查阅到具体用途

原来如此

点评

多谢指点  详情 回复 发表于 2022-8-7 20:56
回复

使用道具 举报

325#
 楼主| 发表于 2022-8-7 20:56:30 | 只看该作者


多谢指点
回复

使用道具 举报

326#
 楼主| 发表于 2022-8-8 08:31:04 | 只看该作者
ikaze 发表于 2022-8-7 02:32
是的、UAC的这个参数可在微软的文档查阅到具体用途

多谢指点
回复

使用道具 举报

327#
发表于 2022-10-23 10:08:10 | 只看该作者
给力给力
回复

使用道具 举报

328#
发表于 2022-11-1 20:04:22 | 只看该作者
真心不错,正需要
回复

使用道具 举报

329#
发表于 2022-11-1 21:10:41 | 只看该作者
感谢分享
回复

使用道具 举报

330#
发表于 2022-11-1 23:23:31 | 只看该作者
谢谢分享,下载试试。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 23:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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