WSH(・∀・)スレッド! Part 2

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2008/04/15(火) 12:58:30
WSHってかvbsは外部コマンドも呼びづらくパイプ処理も面倒で
かといってWin32APIも呼び出せず単体ではモジュール化もできないと制約だらけだな。
これほど使いづらい言語はお目にかかったことがない。
953デフォルトの名無しさん:2008/04/15(火) 13:23:32
>WSHってかvbsは外部コマンドも呼びづらくパイプ処理も面倒で
>かといってWin32APIも呼び出せず単体ではモジュール化もできないと制約だらけだな。

自分の無知を言語のせいにする典型だなw
954デフォルトの名無しさん:2008/04/15(火) 13:57:29
言語を使いこなせない狐が酸っぱい葡萄と言うんだって?
955デフォルトの名無しさん:2008/04/15(火) 14:33:46
WSHでAPI呼べるの?
956デフォルトの名無しさん:2008/04/15(火) 14:40:28
そういうCOM使って呼べる
957デフォルトの名無しさん:2008/04/15(火) 14:44:20
>>955
WSHでもAPIは呼べるよ
ActiveXって種類のAPIなら直接ね
そしてWin32APIって種類のAPIはActiveXから呼べるので
結果WSHからWin32APIを呼ぶことも可能
958デフォルトの名無しさん:2008/04/15(火) 14:47:25
よーするに呼べないってことですね。
959デフォルトの名無しさん:2008/04/15(火) 14:53:11
馬鹿には呼べないってことですね。
960デフォルトの名無しさん:2008/04/15(火) 14:56:35
vbaは外部コマンドも呼びづらくパイプ処理も面倒で
961デフォルトの名無しさん:2008/04/15(火) 15:20:27
言語仕様もひどいもんだしな
962デフォルトの名無しさん:2008/04/15(火) 15:24:15
>ステップ実行

1行ごとにStop文
963デフォルトの名無しさん:2008/04/15(火) 20:40:33
>外部コマンドも呼びづらくパイプ処理も面倒

なのは"WScript.Shell"がへぼいせいで、もっといいCOMを作れっていうの
964デフォルトの名無しさん:2008/04/15(火) 22:25:44
COM作れるんだったらそっちの開発環境で完結すればいいんじゃね
なにもWSHなんぞ使わんでも
965デフォルトの名無しさん:2008/04/15(火) 22:36:02
MSに文句を言ってるんだと思った
966デフォルトの名無しさん:2008/04/16(水) 14:40:24
>なのは"WScript.Shell"がへぼいせいで、もっといいCOMを作れっていうの

だれか作って

コンソールを非表示にできる
StdOut/StdErrにデータがあるかブロックしないで調べられる/取り出せる
できればStdInにreadが掛かってるか分かる
967デフォルトの名無しさん:2008/04/16(水) 14:42:39
WSHにのってるまともなスクリプト使えば一瞬で解決だろ
968デフォルトの名無しさん:2008/04/16(水) 14:53:31
追加
AppActivateでなくFindWindowどまりの機能
SendMessageもついでに
969デフォルトの名無しさん:2008/04/16(水) 21:02:45
970デフォルトの名無しさん:2008/04/16(水) 21:05:45
COMに手を出す時点で、WSHに拘る理由がなくなるな。
そのまま他言語で書いた方が早い。
971デフォルトの名無しさん:2008/04/16(水) 21:37:36
一時的に目的を達成するだけならね

しかしそういう状況のみではないんだよ
もっと視野を広く持とう
972970:2008/04/16(水) 22:00:06
むしろ、WSHに拘っている方が視野が狭いと思ったわけで。
>>966>>968程度の機能でいちいちCOMコンポーネント書いて、
使うPC毎にいちいちregsvrして、って唯のギャグだろ。
973デフォルトの名無しさん:2008/04/16(水) 22:12:48
そうでもないか
974デフォルトの名無しさん:2008/04/16(水) 23:38:14
>>972
そうそう。
だから、WSH付属のコンポーネントがもっと高機能だったらよかったのにと思う。
975デフォルトの名無しさん:2008/04/17(木) 09:25:24
何故自分にレス?
976デフォルトの名無しさん:2008/04/17(木) 13:27:53
自意識過剰w
977デフォルトの名無しさん:2008/04/19(土) 09:49:46
オプションって//じゃなくて/でもいいの?
1つでも動くっぽいんだけど
cscript /nologo xxxxxxxxxxx
って感じで
978デフォルトの名無しさん:2008/04/19(土) 11:38:38
おk
979デフォルトの名無しさん:2008/04/19(土) 13:49:30
/と//になんか違いはあるの?
980デフォルトの名無しさん:2008/04/19(土) 15:53:43
スクリプトのファイル名の後にオプションを記述するときは
//でなければならない。
981デフォルトの名無しさん:2008/04/19(土) 16:28:44
へー
982デフォルトの名無しさん:2008/04/19(土) 17:07:02
cscript -nologo xxxxxxxxxxx
でもよい
983デフォルトの名無しさん:2008/04/19(土) 18:05:11
どうでもよい
984デフォルトの名無しさん:2008/04/20(日) 19:51:17
985デフォルトの名無しさん:2008/04/20(日) 20:45:48
お尋ねします。 vbs で
@ WSHウィンドウのタイトルを設定するにはどうすればよいのか?
A [OK] ボタンが押されるのを待たずにすぐ次の処理を実行したい
986デフォルトの名無しさん:2008/04/20(日) 21:07:04
>>985
WSHウィンドウって何?
[OK] ボタンって、なんのボタンよ?
987985:2008/04/20(日) 22:06:40
すいません、自己解決です。

   Set WSHShell = Wscript.CreateObject("Wscript.Shell")
   WSHShell.Popup ”表示する文字列”, 0, "タイトルの文字列", vbOKOnly

   0      : メッセージボックスを自動的に閉じるまでの秒数
   vbOKOnly : 表示するボタンの種類

でした。
988デフォルトの名無しさん:2008/04/20(日) 22:10:08
>>985
1. MsgBox "プロンプト文字列", vbOKOnly, "設定したいタイトル文字列"
2. はそもそも出来るのかどうかすら怪しい。時間が来たら自動的に閉じて処理続行ならあるが。

>>986
>WSHウィンドウって何?
MsgBox関数で出てくるようなGUIオブジェクトの事言ってんじゃないの?

>[OK] ボタンって、なんのボタンよ?
MsgBox "", vbOKOnly
↑これのことじゃね?w
989デフォルトの名無しさん:2008/04/20(日) 22:37:11
>>988
乙(w
990デフォルトの名無しさん:2008/04/20(日) 23:13:13
Const ForWriting = 2

Set WshShell = WScript.CreateObject( "WScript.Shell" )
Set objFSO = WScript.CreateObject( "Scripting.FileSystemObject" )

WshShell.CurrentDirectory = objFSO.GetParentFolderName( WScript.ScriptFullName )

strSend_Enter = strSend_Enter & "WScript.TimeOut = 3" & vbCrLf
strSend_Enter = strSend_Enter & "Set WshShell = WScript.CreateObject( ""WScript.Shell"" )" & vbCrLf
strSend_Enter = strSend_Enter & "Do Until WshShell.AppActivate( ""Windows Script Host"" )" & vbCrLf
strSend_Enter = strSend_Enter & " WScript.Sleep 100" & vbCrLf
strSend_Enter = strSend_Enter & "Loop" & vbCrLf
strSend_Enter = strSend_Enter & "WshShell.SendKeys ""{ENTER}"""

Set objSend_Enter = objFSO.OpenTextFile( "Send_Enter.vbs", ForWriting, True )
objSend_Enter.Write strSend_Enter
objSend_Enter.Close

WshShell.Run "Send_Enter.vbs"

WScript.Echo "test"

objFSO.DeleteFile( "Send_Enter.vbs" )
991デフォルトの名無しさん:2008/04/21(月) 01:27:28
wsf使えば?
992デフォルトの名無しさん:2008/04/21(月) 01:31:19
再帰とか
993デフォルトの名無しさん:2008/04/21(月) 13:39:55
msagentだな
994デフォルトの名無しさん:2008/04/21(月) 14:43:07
995デフォルトの名無しさん:2008/04/22(火) 08:11:54
996デフォルトの名無しさん:2008/04/22(火) 23:26:25
997デフォルトの名無しさん:2008/04/23(水) 10:34:17
998デフォルトの名無しさん:2008/04/23(水) 15:24:20
.
999デフォルトの名無しさん:2008/04/23(水) 15:24:41
.
1000小倉優子 ◆YUKOH0W58Q :2008/04/23(水) 15:25:01
1000ならジュースでも飲むか
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。