【VBScript】WSHについて話し合うスレ【JScript】 (181レス)
上下前次1-新
177: 08/07(木)16:53 ID:dOHm8u8G(2/3) AAS
元々HTAとpowershell間のプロセス間通信を考えてました
WSH(WScript)とpowershellでの通信はできていたので、
ならばHTAからWScript.Stdin/Stdout相当をどうにかして得られないかという疑問に代わりました
さてGetStandardStream(0)でStdinを得るまでは何となく判りますが
そのハンドルでReadAll()これの意味が判らない
結果的にoExecにはWScript相当?が入るようですが
178: 08/07(木)17:25 ID:Pp4oXF33(2/3) AAS
あー了解
で、oExecに入るのはwShell.Exec()の結果で、起動したmshta.exeのプロセスをラップしたWshScriptExecオブジェクト
oExec.StdIn.Writeでmshta.exeの標準入力に内容を書き込んでる、これがWSH側でやってること
MSのサイトですらリンク切れしまくってたけどitmediaに解説が残ってた 外部リンク[html]:atmarkit.itmedia.co.jp
179(1): 08/07(木)17:28 ID:Pp4oXF33(3/3) AAS
GetStandardStream(0).ReadAll() を実行しているのは起動されたHTAの側で、標準入力から読み込んだ内容を実行してる
リンク先サンプルだとその内容はH.HTAで、その後は裏で起動させたIEを通じてやり取りをする…という実験っぽい
というわけでHTAで標準入出力を使うには new ActiveXObject('Scripting.FileSystemObject').GetStandardStream() だけでいいと思う
手元で確認したわけではないので違ってたらごめん
180: 08/07(木)20:06 ID:dOHm8u8G(3/3) AAS
>>179
WshScriptExecというのですね
色々ありがとうございます
181: 08/07(木)21:37 ID:FIb4oE/e(1) AAS
Exec メソッド
外部リンク:learn.microsoft.com
GetStandardStream Method
外部リンク:learn.microsoft.com
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.888s*