【VBScript】WSHについて話し合うスレ【JScript】 (181レス)
【VBScript】WSHについて話し合うスレ【JScript】 http://mevius.5ch.net/test/read.cgi/tech/1578522041/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
173: デフォルトの名無しさん [sage] 2025/07/16(水) 12:44:55.22 ID:09DhhKQk もうV8でええやん COM載せるだけでしょ http://mevius.5ch.net/test/read.cgi/tech/1578522041/173
174: デフォルトの名無しさん [sage] 2025/07/16(水) 15:03:42.67 ID:8VyoLyXs >>173 JSのメソッドディスパッチ自体にOLEオートメーションと互換を持たせないといけないからなあ MS製以外のエンジンを使うなら大改造になる http://mevius.5ch.net/test/read.cgi/tech/1578522041/174
175: デフォルトの名無しさん [] 2025/08/07(木) 11:13:25.81 ID:dOHm8u8G HTAでWScriptの標準入出力Stdin/Stdoutを使う方法はありますか? という疑問でwebを漁ってたら、以下のコードを見つけたのですが、 これは何をしているか判りますか http://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 の辺り。〜は専ブラだ
とバグる http://mevius.5ch.net/test/read.cgi/tech/1578522041/175
176: デフォルトの名無しさん [sage] 2025/08/07(木) 16:01:49.20 ID:Pp4oXF33 意味がよくわからない 「WScript」がcscript.exeではなくwscript.exeのことなら元から標準入出力しても何も起きないけど多分そういう話ではないよね そのソースコードは、mshta.exeを子プロセスとして起動してテキストファイルから読み込んだ内容をその子プロセスの標準入力に流してる mshta.exeの側では標準入力から読み取った内容を実行してる http://mevius.5ch.net/test/read.cgi/tech/1578522041/176
177: デフォルトの名無しさん [] 2025/08/07(木) 16:53:21.35 ID:dOHm8u8G 元々HTAとpowershell間のプロセス間通信を考えてました WSH(WScript)とpowershellでの通信はできていたので、 ならばHTAからWScript.Stdin/Stdout相当をどうにかして得られないかという疑問に代わりました さてGetStandardStream(0)でStdinを得るまでは何となく判りますが そのハンドルでReadAll()これの意味が判らない 結果的にoExecにはWScript相当?が入るようですが http://mevius.5ch.net/test/read.cgi/tech/1578522041/177
178: デフォルトの名無しさん [sage] 2025/08/07(木) 17:25:58.39 ID:Pp4oXF33 あー了解 で、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 http://mevius.5ch.net/test/read.cgi/tech/1578522041/178
179: デフォルトの名無しさん [sage] 2025/08/07(木) 17:28:32.02 ID:Pp4oXF33 GetStandardStream(0).ReadAll() を実行しているのは起動されたHTAの側で、標準入力から読み込んだ内容を実行してる リンク先サンプルだとその内容はH.HTAで、その後は裏で起動させたIEを通じてやり取りをする…という実験っぽい というわけでHTAで標準入出力を使うには new ActiveXObject('Scripting.FileSystemObject').GetStandardStream() だけでいいと思う 手元で確認したわけではないので違ってたらごめん http://mevius.5ch.net/test/read.cgi/tech/1578522041/
179
180: デフォルトの名無しさん [sage] 2025/08/07(木) 20:06:59.39 ID:dOHm8u8G >>179 WshScriptExecというのですね 色々ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1578522041/180
181: デフォルトの名無しさん [sage] 2025/08/07(木) 21:37:56.02 ID:FIb4oE/e 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) http://mevius.5ch.net/test/read.cgi/tech/1578522041/181
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.684s*