无忧启动论坛

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

[原创] 有了这款简易对话框组件,批处理不用再面向黑框了

  [复制链接]
 楼主| 发表于 2020-11-18 22:57:51 来自手机 | 显示全部楼层
双响炮 发表于 2020-11-18 21:23
奇怪呀,实际测试居然snapshot.exe的自动恢复界面出不来,把修改成仅仅打开snapshot.exe这个软件却又是可 ...

理论上不会影响的,我比较怀疑是哪里打错了(要不你把那个show的那一行用rem吃掉测试下报错信息

点评

估计这句有点问题,系统盘和PE启动后的X盘都有explorer.exe,变量%sd%的值先是C,后来又变成X了,我对批处理不精通,不晓得在找到首个explorer.exe后如何跳出循环,希望这篇帖子里有高手看到的话能够给予指点{:1_19  详情 回复 发表于 2020-11-19 20:23
明天找电脑测试,自己电脑还不敢弄,资料太多,万一成功恢复了咋办刚才把snapshot的官网文档又看了一遍,希望找点什么出来  详情 回复 发表于 2020-11-18 23:42
回复

使用道具 举报

发表于 2020-11-18 23:42:36 | 显示全部楼层
CodeHz 发表于 2020-11-18 22:57
理论上不会影响的,我比较怀疑是哪里打错了(要不你把那个show的那一行用rem吃掉测试下报错信息

明天找电脑测试,自己电脑还不敢弄,资料太多,万一成功恢复了咋办刚才把snapshot的官网文档又看了一遍,希望找点什么出来
回复

使用道具 举报

发表于 2020-11-19 09:11:27 | 显示全部楼层
没有黑框 比较好看
回复

使用道具 举报

发表于 2020-11-19 15:25:22 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-11-19 15:26 编辑

        在xp的虚拟机里面试了下,似乎不能运行?utf-8双击没有反应,然后我改成了ansi编码,去掉了chcp 65001,还是出错,直接上图。


话说楼主不能做静态编译吗?静态编译应该就可以通杀XP WIN7 8 10了吧。
VXP-2020-11-19-15-23-33.png

点评

显然不只是静态编译的问题,comctl32 6.0 这东西反向移植成本很高,xp用的低版本没有TaskDialog)  详情 回复 发表于 2020-11-19 15:38
回复

使用道具 举报

 楼主| 发表于 2020-11-19 15:38:05 | 显示全部楼层
本帖最后由 CodeHz 于 2020-11-19 15:41 编辑
liuzhaoyzz 发表于 2020-11-19 15:25
在xp的虚拟机里面试了下,似乎不能运行?utf-8双击没有反应,然后我改成了ansi编码,去掉了chcp 65 ...

显然不只是静态编译的问题,comctl32 6.0 这东西反向移植成本很高,xp用的低版本没有TaskDialog)而且这个错误明显是因为你在32位系统下跑64位的版本
回复

使用道具 举报

发表于 2020-11-19 15:39:01 | 显示全部楼层
看起来很好用,有机会试一下
回复

使用道具 举报

发表于 2020-11-19 16:41:30 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-11-19 16:47 编辑
CodeHz 发表于 2020-11-19 15:38
显然不只是静态编译的问题,comctl32 6.0 这东西反向移植成本很高,xp用的低版本没有TaskDialog)而且这 ...

      哦,看了下rel目录里面,有32位的exe,有64位的exe。然后我试着把demo.bat里面,conapi换成了conapi32,condlg换成了condlg32,结果也是不行啊。果然不只是静态编译的问题。

  1. @echo off
  2. ::为了兼容UTF-8,实际上你可以直接用ANSI编码
  3. rem chcp 65001
  4. conapi32 title /value 设置标题
  5. condlg32 /title 请稍后 /wintitle 演示 /icon Information wait /timeout 5000 "第 一 行" "第二行" "链接[点我]([url]https://www.google.com[/url])" "接下来控制台将会被隐藏 "
  6. conapi32 show
  7. condlg32 /title 选择器 /wintitle 演示 /icon Information select /cancellable /option "选项 A" /option "选项 B" 这是说明
  8. set res=%errorlevel%
  9. if "%res%"=="1" (
  10.         condlg32 /title 选择 /wintitle 演示 /icon Warning msgbox /button Close "你选择了 A"
  11. ) else if "%res%"=="2" (
  12.         condlg32 /title 选择 /wintitle 演示 /icon Warning msgbox /button Close "你选择了 B"
  13. ) else (
  14.         condlg32 /title 选择 /wintitle 演示 /icon Warning msgbox /button Close "你没有选择"
  15. )
  16. start /b condlg32 /title 这是持久对话框 /wintitle 演示 /icon Warning marquee /pipe demo-dialog /cascade 可以动态修改内容哦(5秒后改变)
  17. timeout 5
  18. condlg32 rpc /pipe demo-dialog set_content 内容修改了(5秒后关闭)
  19. timeout 5
  20. condlg32 rpc /pipe demo-dialog close
复制代码

VXP-2020-11-19-16-37-40.png
VXP-2020-11-19-16-37-25.png

点评

仅有6KB的 ShellExecuteEx 实用程序,可用于绕过wow64,静默运行bat,UAC提权 52F  详情 回复 发表于 2020-11-19 17:28
回复

使用道具 举报

发表于 2020-11-19 17:28:43 | 显示全部楼层
liuzhaoyzz 发表于 2020-11-19 16:41
哦,看了下rel目录里面,有32位的exe,有64位的exe。然后我试着把demo.bat里面,conapi换成了conap ...

仅有6KB的 ShellExecuteEx 实用程序,可用于绕过wow64,静默运行bat,UAC提权

52F
回复

使用道具 举报

发表于 2020-11-19 17:37:45 | 显示全部楼层
多谢楼主,我正需要
回复

使用道具 举报

发表于 2020-11-19 17:51:48 | 显示全部楼层
1.
回报一个问题,
防毒软件对 ZIG 语言非常敏感.
2.
还有要求 Vista 以上才能运行.


aaa.png

点评

https://www.virustotal.com/gui/file/0ecd861c8b0a5f66e99920207d5a16b558f1764ddc05bb851153bb587f16d53b/detection 很显然,非常敏感是站不住脚的。。。72款杀毒只有两个误报,而且根据我测试,好像tm和我加上的  详情 回复 发表于 2020-11-19 18:26
回复

使用道具 举报

发表于 2020-11-19 18:21:01 | 显示全部楼层

好东西必须的顶
回复

使用道具 举报

 楼主| 发表于 2020-11-19 18:26:17 | 显示全部楼层
本帖最后由 CodeHz 于 2020-11-19 18:31 编辑
plusv 发表于 2020-11-19 17:51
1.
回报一个问题,
防毒软件对 ZIG 语言非常敏感.

https://www.virustotal.com/gui/f ... 87f16d53b/detection
很显然,非常敏感是站不住脚的。。。72款杀毒只有两个误报,而且根据我测试,好像tm和我加上的CodeHz标签有关系,真就关键字检测呗。。。。
问题2 并不想解决,一来没有测试环境,二来很明显没有收益(我现在所有的设备都没法原生跑win7,更别说xp了(

点评

1.说个有点搞笑的现实问题,viruscan这样的检测没有太大用处,为什么?因为根本不用检测大家都知道没有病毒,那么还检测个啥劲儿呢?国内360安全卫士之类的装机量很高(我自己不用任何杀软,只为重现别人的环  详情 回复 发表于 2020-11-19 22:52
回复

使用道具 举报

发表于 2020-11-19 18:42:26 | 显示全部楼层
有意思,这个可以 有
回复

使用道具 举报

发表于 2020-11-19 20:23:50 | 显示全部楼层
CodeHz 发表于 2020-11-18 22:57
理论上不会影响的,我比较怀疑是哪里打错了(要不你把那个show的那一行用rem吃掉测试下报错信息
  1. for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\windows\explorer.exe set sd=%%b
复制代码

估计这句有点问题,系统盘和PE启动后的X盘都有explorer.exe,变量%sd%的值先是C,后来又变成X了,我对批处理不精通,不晓得在找到首个explorer.exe后如何跳出循环,希望这篇帖子里有高手看到的话能够给予指点

点评

感谢slore提供思路,我努力试试,确实水平有限。其实本来最先是为隐藏黑框在您的帖子里请教过的,也得到了耐心的解答,但因为需要给些提示的问题开了一个帖,从而得到了CodeHz的帮助,然后转了一圈又在这里居然同时  详情 回复 发表于 2020-11-19 21:40
hmm,你可以在循环里去掉X盘的(PE是不是都用这个啊(  详情 回复 发表于 2020-11-19 20:43
x放到c前面,或者删除。要么set后直接goto 一个for外面的标签,出来。  发表于 2020-11-19 20:41
回复

使用道具 举报

 楼主| 发表于 2020-11-19 20:43:01 | 显示全部楼层
双响炮 发表于 2020-11-19 20:23
估计这句有点问题,系统盘和PE启动后的X盘都有explorer.exe,变量%sd%的值先是C,后来又变成X了,我对批 ...

hmm,你可以在循环里去掉X盘的(PE是不是都用这个啊(

点评

我也是这样想,如果实在搞不好就去掉X,但也有PE不是X的,或者把PE的explorer.exe删除,但别人的PE就不能用了,所以还是想多学点批处理的知识,应当能解决,只是在网上看了下问这个的不多  详情 回复 发表于 2020-11-19 21:01
回复

使用道具 举报

发表于 2020-11-19 21:01:48 | 显示全部楼层
CodeHz 发表于 2020-11-19 20:43
hmm,你可以在循环里去掉X盘的(PE是不是都用这个啊(

我也是这样想,如果实在搞不好就去掉X,但也有PE不是X的,或者把PE的explorer.exe删除,但别人的PE就不能用了,所以还是想多学点批处理的知识,应当能解决,只是在网上看了下问这个的不多
回复

使用道具 举报

发表于 2020-11-19 21:40:03 | 显示全部楼层
双响炮 发表于 2020-11-19 20:23
估计这句有点问题,系统盘和PE启动后的X盘都有explorer.exe,变量%sd%的值先是C,后来又变成X了,我对批 ...

感谢slore提供思路,我努力试试,确实水平有限。其实本来最先是为隐藏黑框在您的帖子里请教过的,也得到了耐心的解答,但因为需要给些提示的问题开了一个帖,从而得到了CodeHz的帮助,然后转了一圈又在这里居然同时受到两位大神的指点,真是幸运!

点评

如果只是要去掉启动PE所在盘,直接获取环境变量中%SystemDrive%或者%windir%,然后从你的C到Z列表替换掉。  详情 回复 发表于 2020-11-21 14:06
回复

使用道具 举报

发表于 2020-11-19 22:52:48 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-11-20 08:36 编辑
CodeHz 发表于 2020-11-19 18:26
https://www.virustotal.com/gui/f ... 87f16d53b/detection
很显然,非常敏感是站不住脚的。。。72款杀 ...

        1.说个有点搞笑的现实问题,viruscan这样的检测没有太大用处,为什么?因为根本不用检测大家都知道没有病毒,那么还检测个啥劲儿呢?国内360安全卫士之类的装机量很高(我自己不用任何杀软,只为重现别人的环境来测试),能顺利通过360这样的流氓检测,才能算数,感觉是不是有点滑稽?没办法,国内就这样,小白太多,给他们解释太费劲,索性程序员能绕开的就绕开,惹不起还躲不起吗。。。https://open.soft.360.cn/report.php
我已向360病毒误杀反馈。

2.可以在虚拟机装个xp,用于测试还是挺方便的,当然是您有兴趣的前提下。

点评

有时候你去关闭别人的杀毒软件,有了问题了,他们会说是你给整的有病毒了。 只能百口莫辩了。  详情 回复 发表于 2020-11-20 00:03
回复

使用道具 举报

发表于 2020-11-20 00:03:17 | 显示全部楼层
liuzhaoyzz 发表于 2020-11-19 22:52
1.说个有点搞笑的现实问题,viruscan这样的检测没有太大用处,为什么?因为根本不用检测大家都知 ...

有时候你去关闭别人的杀毒软件,有了问题了,他们会说是你给整的有病毒了。
只能百口莫辩了。

点评

程序员们有几个不是对360深恶痛绝的!  详情 回复 发表于 2020-11-20 08:41
回复

使用道具 举报

发表于 2020-11-20 01:53:29 | 显示全部楼层
nttwqz 发表于 2020-11-18 12:26
批处理之家有现成的脚本,写这个得数学好。

批处理之家 非我栖息之处,
离开了.
回复

使用道具 举报

发表于 2020-11-20 03:52:15 | 显示全部楼层
學習學習
回复

使用道具 举报

发表于 2020-11-20 06:16:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2020-11-20 08:41:36 | 显示全部楼层
freesoft00 发表于 2020-11-20 00:03
有时候你去关闭别人的杀毒软件,有了问题了,他们会说是你给整的有病毒了。
只能百口莫辩了。

程序员们有几个不是对360深恶痛绝的!
回复

使用道具 举报

发表于 2020-11-20 09:00:55 | 显示全部楼层
这个有意思
回复

使用道具 举报

发表于 2020-11-21 13:55:54 | 显示全部楼层
  1. show [/mode Hide|ShowNormal|ShowMinimized|ShowMaximized|ShowNoActivate|Show|Minimize|ShowMinimizedNoActivate|ShowNa|Restore|ShowDefault]
复制代码

这些个参数只有几个会用,其它几个能说说怎么用吗?特别是shownoactivate和showna的区别,再就是showminimied和miniize的区别,还有show和restore的区别。
另外就是想问,conapi.exe有UAC提权吗?

点评

(具体来说就是微软提供了这些选项我就全列出来了。。。它自己的文档就没说清楚,选项之间也没有正交性... 但是大概 ShowNoActivate相比ShowNa是最小化,Na则是只显示不激活,原来最小化还是最小化 restore对应的  详情 回复 发表于 2020-11-21 14:12
https://baike.baidu.com/item/ShowWindow/5279029  详情 回复 发表于 2020-11-21 14:06
回复

使用道具 举报

发表于 2020-11-21 14:05:46 | 显示全部楼层
学习,看看...
回复

使用道具 举报

发表于 2020-11-21 14:06:13 | 显示全部楼层
双响炮 发表于 2020-11-21 13:55
这些个参数只有几个会用,其它几个能说说怎么用吗?特别是shownoactivate和showna的区别,再就是showminim ...

https://baike.baidu.com/item/ShowWindow/5279029

点评

谢谢,提供的网址已收藏  详情 回复 发表于 2020-11-21 15:00
回复

使用道具 举报

发表于 2020-11-21 14:06:31 | 显示全部楼层
本帖最后由 slore 于 2020-11-21 14:09 编辑
双响炮 发表于 2020-11-19 21:40
感谢slore提供思路,我努力试试,确实水平有限。其实本来最先是为隐藏黑框在您的帖子里请教过的,也得到 ...

如果只是要去掉启动PE所在盘,直接获取环境变量中%SystemDrive%或者%windir%,然后从你的C到Z列表替换掉。
隐藏黑框的那个,startnet.cmd里面HideWindow的代码去掉标题就好了。
新版本已经更新了。不过CodeHz的小工具更纯粹。

点评

没有去年PE所在的盘,按您的思路用goto成功跳出来了,只要C盘有explorer.exe,就确定需要恢复的系统盘是C,再不会往后查找了。现在已测试成功,效果还行。WimBuilder2更新啦?我赶紧过去啦  详情 回复 发表于 2020-11-21 15:13
回复

使用道具 举报

 楼主| 发表于 2020-11-21 14:12:07 | 显示全部楼层
双响炮 发表于 2020-11-21 13:55
这些个参数只有几个会用,其它几个能说说怎么用吗?特别是shownoactivate和showna的区别,再就是showminim ...

(具体来说就是微软提供了这些选项我就全列出来了。。。它自己的文档就没说清楚,选项之间也没有正交性...
但是大概
ShowNoActivate相比ShowNa是最小化,Na则是只显示不激活,原来最小化还是最小化
restore对应的是minimize和maximize,就是恢复先前最大化或者最小化的窗口
showdefault则是使用程序启动时默认的显示方式

https://docs.microsoft.com/en-us ... -winuser-showwindow

UAC提权不能在当前进程里完成,必须至少开一个新进程(指正常的,不进内核暴力改的方法),安装程序可以点按钮提权的原理是弄了个后台程序,然后把进度反映过来而已,不过PE的时候应该UAC都是关闭的吧。

点评

似乎有点明白了。PE那个已成功了,这里表示感谢。因为我还有个安装PE的批处理,在WIN7里蛮好,但在WIN10里提权还要重启才能行,故而有此一问,不过ShellExecuteEx应该可以吧?  详情 回复 发表于 2020-11-21 15:19
回复

使用道具 举报

发表于 2020-11-21 15:00:23 | 显示全部楼层
plusv 发表于 2020-11-21 14:06
https://baike.baidu.com/item/ShowWindow/5279029

谢谢,提供的网址已收藏
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 06:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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