Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dim completed
- msgbox inputboxml("Enter text:", "Multiline inputbox via HTA", "default" & vbcrlf & vbtab & "multiline" & vbcrlf & "text")
- function inputboxml(prompt, title, defval)
- set window = createwindow()
- completed = 0
- defval = replace(replace(replace(defval, "&", "&"), "<", "<"), ">", ">")
- with window
- with .document
- .title = title
- .body.style.background = "buttonface"
- .body.style.fontfamily = "consolas, courier new"
- .body.style.fontsize = "8pt"
- .body.innerhtml = "<div><center><nobr>" & prompt & "</nobr><br><br></center><textarea id='hta_textarea' style='font-family: consolas, courier new; width: 100%; height: 580px;'>" & defval & "</textarea><br><button id='hta_cancel' style='font-family: consolas, courier new; width: 85px; margin: 10px; padding: 3px; float: right;'>Cancel</button><button id='hta_ok' style='font-family: consolas, courier new; width: 85px; margin: 10px; padding: 3px; float: right;'>OK</button></div>"
- end with
- .resizeto 700, 700
- .moveto 100, 100
- end with
- window.hta_textarea.focus
- set window.hta_cancel.onclick = getref("hta_cancel")
- set window.hta_ok.onclick = getref("hta_ok")
- set window.document.body.onunload = getref("hta_onunload")
- do until completed > 0
- wscript.sleep 10
- loop
- select case completed
- case 1
- inputboxml = ""
- case 2
- inputboxml = ""
- window.close
- case 3
- inputboxml = window.hta_textarea.value
- window.close
- end select
- end function
- function createwindow()
- rem source http://forum.script-coding.com/viewtopic.php?pid=75356#p75356
- dim signature, shellwnd, proc
- on error resume next
- signature = left(createobject("Scriptlet.TypeLib").guid, 38)
- do
- set proc = createobject("WScript.Shell").exec("mshta ""about:<head><script>moveTo(-32000,-32000);</script><hta:application id=app border=dialog minimizebutton=no maximizebutton=no scroll=no showintaskbar=yes contextmenu=no selection=yes innerborder=no icon=""%windir%\system32\notepad.exe""/><object id='shellwindow' classid='clsid:8856F961-340A-11D0-A96B-00C04FD705A2'><param name=RegisterAsBrowser value=1></object><script>shellwindow.putproperty('" & signature & "',document.parentWindow);</script></head>""")
- do
- if proc.status > 0 then exit do
- for each shellwnd in createobject("Shell.Application").windows
- set createwindow = shellwnd.getproperty(signature)
- if err.number = 0 then exit function
- err.clear
- next
- loop
- loop
- end function
- sub hta_onunload
- completed = 1
- end sub
- sub hta_cancel
- completed = 2
- end sub
- sub hta_ok
- completed = 3
- end sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement