Board logo

标题: [其他] #第三方#命令行模仿VBSinput窗口传回输入值 [打印本页]

作者: FenoX    时间: 2023-7-20 12:38     标题: #第三方#命令行模仿VBSinput窗口传回输入值

之前看到IBAT开发环境中的调用VBS将输入值传递给自身,试了一下,似乎没有作用,所以就写了一个仿VBSinputbox窗口的程序.
程序名:Block.exe
体积: 10.6MB
用法:Block.exe 窗口标题 提示词(用于提示用户) 窗口宽度 窗口长度
用户输入的值会直接传入到下一行,可以用for /f读取:
{实例1,假设同一目录有Block.exe}
  1. [text.bat]
  2. @echo off
  3. for /f %%A in ('%~dp0\Block.exe 实例1 请输入一个值: 300 150') do (
  4. set input=%%A
  5. )
  6. echo 输入的值是:%input%
  7. pause>nul
复制代码

作者: FenoX    时间: 2023-7-20 12:52

外链:https://wwsj.lanzout.com/b04q5t6qh 密码:8bt0
作者: aloha20200628    时间: 2023-7-20 19:47


mshta给批处理脚本开辟了丰富的网页GUI资源,cmd+mshta混编脚本令此道更加便捷。现给一个简版示例如下(存为批处理脚本文件*.cmd)。
  1. <!-- :
  2. @echo off
  3. for /f "delims=" %%v in ('mshta "%~f0"') do (echo,%%v)
  4. pause&exit/b
  5. -->
  6. <meta http-equiv='x-ua-compatible' content='ie=11'>
  7. <script>window.resizeTo(420, 160);</script>
  8. <br><input type='text' id='ti' size=28 placeholder='请输入' />
  9. <input type=button value='确认' onclick=getInput() /><br>
  10. <script>
  11. function getInput () {
  12. if (ti.value) new ActiveXObject('scripting.filesystemobject').getstandardstream(1).write(ti.value);
  13. close();
  14. }
  15. </script>
复制代码

作者: FenoX    时间: 2023-7-21 09:45

回复 3# aloha20200628
已学习!感谢分享!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2