[表示 : 全て 最新50 1-99 101- 2ch.scのread.cgiへ]
Update time : 09/02 04:06 / Filesize : 72 KB / Number-of Response : 183
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【VBScript】WSHについて話し合うスレ【JScript】



1 名前:デフォルトの名無しさん [2020/01/09(木) 07:20:41 ID:wvbDpdNb.net]
みんなで話し合おう

174 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 12:44:55.22 ID:09DhhKQk.net]
もうV8でええやん
COM載せるだけでしょ

175 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 15:03:42.67 ID:8VyoLyXs.net]
>>174
JSのメソッドディスパッチ自体にOLEオートメーションと互換を持たせないといけないからなあ
MS製以外のエンジンを使うなら大改造になる

176 名前:デフォルトの名無しさん [2025/08/07(木) 11:13:25.81 ID:dOHm8u8G.net]
HTAでWScriptの標準入出力Stdin/Stdoutを使う方法はありますか?

という疑問でwebを漁ってたら、以下のコードを見つけたのですが、
これは何をしているか判りますか
www.roy.hi-ho.ne.jp/mutaguchi/bbs/list127.shtml

>Set oExec=wShell.Exec("MSHTA〜
>oExec.StdIn.Write fso.OpenTextFile(Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"."))&"HTA").ReadAll
>oExec.StdIn.Close
の辺り。〜は専ブラだとバグる

177 名前:デフォルトの名無しさん mailto:sage [2025/08/07(木) 16:01:49.20 ID:Pp4oXF33.net]
意味がよくわからない
「WScript」がcscript.exeではなくwscript.exeのことなら元から標準入出力しても何も起きないけど多分そういう話ではないよね

そのソースコードは、mshta.exeを子プロセスとして起動してテキストファイルから読み込んだ内容をその子プロセスの標準入力に流してる
mshta.exeの側では標準入力から読み取った内容を実行してる

178 名前:デフォルトの名無しさん [2025/08/07(木) 16:53:21.35 ID:dOHm8u8G.net]
元々HTAとpowershell間のプロセス間通信を考えてました
WSH(WScript)とpowershellでの通信はできていたので、
ならばHTAからWScript.Stdin/Stdout相当をどうにかして得られないかという疑問に代わりました

さてGetStandardStream(0)でStdinを得るまでは何となく判りますが
そのハンドルでReadAll()これの意味が判らない
結果的にoExecにはWScript相当?が入るようですが

179 名前:デフォルトの名無しさん mailto:sage [2025/08/07(木) 17:25:58.39 ID:Pp4oXF33.net]
あー了解
で、oExecに入るのはwShell.Exec()の結果で、起動したmshta.exeのプロセスをラップしたWshScriptExecオブジェクト
oExec.StdIn.Writeでmshta.exeの標準入力に内容を書き込んでる、これがWSH側でやってること
MSのサイトですらリンク切れしまくってたけどitmediaに解説が残ってた ttps://atmarkit.itmedia.co.jp/ait/articles/0407/08/news101_2.html

180 名前:デフォルトの名無しさん mailto:sage [2025/08/07(木) 17:28:32.02 ID:Pp4oXF33.net]
GetStandardStream(0).ReadAll() を実行しているのは起動されたHTAの側で、標準入力から読み込んだ内容を実行してる
リンク先サンプルだとその内容はH.HTAで、その後は裏で起動させたIEを通じてやり取りをする…という実験っぽい

というわけでHTAで標準入出力を使うには new ActiveXObject('Scripting.FileSystemObject').GetStandardStream() だけでいいと思う
手元で確認したわけではないので違ってたらごめん

181 名前:デフォルトの名無しさん mailto:sage [2025/08/07(木) 20:06:59.39 ID:dOHm8u8G.net]
>>180
WshScriptExecというのですね
色々ありがとうございます

182 名前:デフォルトの名無しさん mailto:sage [2025/08/07(木) 21:37:56.02 ID:FIb4oE/e.net]
Exec メソッド
https://learn.microsoft.com/ja-jp/previous-versions/windows/scripting/cc364356(v=msdn.10)
GetStandardStream Method
https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/y6hbz9es(v=vs.84)








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<72KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef