2017-09-13 90 views
1

如何在HTA中製作一個簡單的輸入表格並將其讀入一個簡單的變量 和一個按鈕以進行操作。我不知道任何其他方式爲批處理文件製作像樣的GUI。 像這樣用HTA批量輸入表格

enter image description here

任何幫助表示讚賞。

+0

什麼是您做批量準確? – Hackoo

+0

有人需要輸入一個序列號,並按名稱批量搜索特定文件並打印出來,我就這麼做了。我只需要一個輸入類型,它必須鍵入SN並按下一個,然後該批處理完成剩下的部分 –

+0

請[編輯](https://stackoverflow.com/posts/46206106/edit)您的問題並添加批處理代碼! – Hackoo

回答

3

總之,所有你需要做的是

  • 獲取.hta文件中的標準輸出流的引用,並寫入此輸出字段的內容

  • 執行.hta從批處理文件中使用for /f命令來處理髮送到標準輸出的數據。

唯一「問題」是,你需要顯式調用mshta.exe可執行文件的完整路徑.hta文件。

serialNumber.hta

<HTML> 
    <HEAD> 
     <HTA:APPLICATION 
      ID    = "serialHTA" 
      APPLICATIONNAME = "serialHTA" 
      VERSION   = "0.1" 
      NAVIGABLE  = "yes" 
      SHOWINTASKBAR = "yes" 
      SINGLEINSTANCE = "yes" 
      WINDOWSTATE  = "normal" 

      BORDER   = "normal" 
      BORDERSTYLE  = "normal" 
      INNERBORDER  = "no" 

      CAPTION   = "yes" 
      MINIMIZEBUTTON = "yes" 
      MAXIMIZEBUTTON = "yes" 
      SYSMENU   = "yes" 
      SCROLL   = "yes" 
      SCROLLFLAT  = "yes" 

      CONTEXTMENU  = "yes" 
      SELECTION  = "yes" 
     /> 

     <TITLE>input serial number</TITLE> 

     <SCRIPT language="Javascript"> 
      function closeHTA(sendOutput){ 
       if (sendOutput){ 
        (new ActiveXObject('Scripting.FileSystemObject')) 
         .GetStandardStream(1) 
         .WriteLine(
          document.getElementById('serialNumber').value 
         ); 
       }; 
       window.close(); 
      } 
     </SCRIPT> 

    </HEAD> 

    <BODY> 
     <label for="serialNumber">serial:</label> 
     <input type="text" id="serialNumber"> 
     <br> 
     <button onclick="closeHTA(true);">ok</button> 
     <button onclick="closeHTA();">cancel</button> 
    </BODY> 

</HTML> 

serialNumber.cmd

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    set "serialNumber=" 
    for /f "delims=" %%a in ('mshta.exe "%~dp0\serialnumber.hta"') do set "serialNumber=%%a" 

    if defined serialNumber (
     echo Serial number: %serialNumber% 
    ) else (
     echo No serial number provided 
    ) 
+0

謝謝,這正是我正在尋找的,但我如何調整hta窗口像w:400 h:200? –

+0

+0

@RaduMihai您還可以看看這個整潔的線程[在批處理文件中使用「HTA輸入表單」)(http://www.dostips.com/forum/viewtopic.php?f=3&t=6581&sid=76dbeb2030434ebec5c62a97641920af ) – Hackoo