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

このエントリーをはてなブックマークに追加
934デフォルトの名無しさん:2009/05/12(火) 23:28:40
JScriptは通らん
935デフォルトの名無しさん:2009/05/12(火) 23:35:44
実際やってみたらJScriptでもWScript.echoが通ったよ
936デフォルトの名無しさん:2009/05/13(水) 04:43:48
そりゃあなぁ
937デフォルトの名無しさん:2009/05/13(水) 11:23:51
JavaScriptじゃなくて、Jscriptのヘルプを掲載したお勧めページある?MSのサイトじゃなくて。
ローカルで使えるJScriptのCHMをあげてたサイトが、なぜか見つからない・・・
938デフォルトの名無しさん:2009/05/13(水) 18:03:14
MSのCHNの何が不満?
939デフォルトの名無しさん:2009/05/13(水) 19:53:16
少しお聞きします。

.batファイルでの

 set UNKO=dekkai

相当のこと(一時的な環境変数設定)をJScriptでやるには、
どうしたらよいのでしょうか?

WshShell.Environment("PROCESS");でItemプロパティに設定する方法であっているのでしょうか?

webで検索したところ、グローバルな環境変数を弄る話ばかりで、
うまく見つけられません…。

>>937
MSのchm使ってますが便利ですよ。サンプルコード豊富ですし
940デフォルトの名無しさん:2009/05/13(水) 19:59:55
>>930
これすごいですね。UIをDOMというJavaScriptのスタイルで弄るという発想が飛んでる
941デフォルトの名無しさん:2009/05/13(水) 22:21:38
ウィンドウタイトルが数字列のときAppActivateが効かないのは
どうしようもないのでしょうか?
942デフォルトの名無しさん:2009/05/13(水) 22:51:39
powershell使えよ
943デフォルトの名無しさん:2009/05/14(木) 09:47:55
↑↑
逃避
944デフォルトの名無しさん:2009/05/14(木) 19:53:46
↑↑
正攻法は?
945デフォルトの名無しさん:2009/05/14(木) 20:03:00
>>929
shell.application
但し、引数が使えない
946デフォルトの名無しさん:2009/05/14(木) 20:19:58
逃げてないでpowershell使えよ
947デフォルトの名無しさん:2009/05/14(木) 20:46:20
powershell使わんでもできるよ
948デフォルトの名無しさん:2009/05/14(木) 20:55:20
' >>939
' VBscriptで電源落とすまで使える環境変数を設定して、取得する奴ならこんな感じ
dim Ret
Ret = funEnvSetVolatile_sName_sVal("P_PortableApps","C:\mydocument")
msgbox("環境変数を設定しました PortableApps = " & funEnvGetVolatile_sName("P_PortableApps"))

private function funEnvSetVolatile_sName_sVal(sName,sVal)
dim objSHL
Set objSHL=WScript.CreateObject("WScript.Shell")
objSHL.Environment("VOLATILE").Item(sName)=sVal
funEnvSetVolatile_sName_sVal = objSHL.Environment("VOLATILE").Item(sName)
End Function

private function funEnvGetVolatile_sName(sName)
funEnvGetVolatile_sName = WScript.CreateObject("WScript.Shell").Environment("VOLATILE").Item(sName)
End Function
949デフォルトの名無しさん:2009/05/14(木) 21:24:02
// >>939 Jscriptでも出来た。環境変数の設定と取得
WScript.Echo("P_Test1111 = " + funEnvSetVolatile_sName_sVal("P_Test1111","C:\\test1111"));

WScript.Echo("P_Test1111 = " + funEnvGetVolatile_sName("P_Test1111"));

function funEnvGetVolatile_sName(sName){
var WshShell = new ActiveXObject("WScript.Shell");
var WshEnv = WshShell.Environment("VOLATILE");
return WshEnv(sName)
}

function funEnvSetVolatile_sName_sVal(sName,sVal){
var WshShell = new ActiveXObject("WScript.Shell");
var WshEnv = WshShell.Environment("VOLATILE");
//\は特殊文字なのでエスケープするのを忘れない。"C:\\test";
WshEnv.Item(sName) = sVal;
return WshEnv(sName)
}
950939:2009/05/15(金) 02:12:10
>>948-949
ありがとう。
WshShell.Environment("PROCESS") の Itemに設定して上手くいきました。
設定後、Runでアプリを起動してみたのですが、無事に環境変数を受け継いでくれていました。
951デフォルトの名無しさん:2009/05/15(金) 19:24:15
>>946 powershellに逃げてないでwsh使えよ
952デフォルトの名無しさん:2009/05/15(金) 19:55:28
powershell使うくらいならJScript.NETを使ってしまう
953デフォルトの名無しさん:2009/05/16(土) 14:40:40
>>947
excelつかうんじゃなくて?
954デフォルトの名無しさん:2009/05/16(土) 17:39:04
>>951
wshに逃げてないでpowershell使えよ
955デフォルトの名無しさん:2009/05/17(日) 00:22:38
↑↑
逃避
956デフォルトの名無しさん:2009/05/17(日) 00:23:59
↑↑
逃避

そうか。使いこなせないのか。そうかそうか。
957デフォルトの名無しさん:2009/05/18(月) 03:11:57
Wsh+AutoIt3で十分です。
958デフォルトの名無しさん:2009/05/18(月) 15:13:26
使いこなせば、wscript.shellのappactivateでできる。
修行が足りんな。
959デフォルトの名無しさん:2009/05/18(月) 16:43:16
なるほど
960デフォルトの名無しさん:2009/05/18(月) 20:54:33
新しいことを覚えるのから逃げてるだけ。
961デフォルトの名無しさん:2009/05/18(月) 21:35:59
つまらん 帰れ
962デフォルトの名無しさん:2009/05/19(火) 00:30:01
WSHでGUI組むときに便利なのありますか?
フォントを24ドットくらいにして、いくつかのボタンをつけた
リストボックスのダイアログが組み込めればいいのだけど。
963デフォルトの名無しさん:2009/05/19(火) 00:32:23
それだけでいいならhtaでいいんじゃない?
964デフォルトの名無しさん:2009/05/19(火) 00:53:04
そりゃそうだ。
965デフォルトの名無しさん:2009/05/19(火) 00:56:35
そりゃそうだじゃないw
HTAだとデフォのままだとファイルをドロップできないんで、
WSFかVBS、JS上でデカイダイアログ使いたいの。
966デフォルトの名無しさん:2009/05/19(火) 01:04:25
WSHからIE使えばええじゃないか
967デフォルトの名無しさん:2009/05/19(火) 01:26:29
HTA2CMDにすりゃデフォのままファイルをドロップできるが
968デフォルトの名無しさん:2009/05/19(火) 04:11:19
ドロップできるようにすりゃいいだろ ぼけ
969デフォルトの名無しさん:2009/05/19(火) 05:48:48
PowerShellならGUI自由自在だよ
970デフォルトの名無しさん:2009/05/19(火) 09:14:45
つーか、なんで最初からファイルをドロップしたいって書かないんだ?
こういう奴はファイルをドロップ出来るようになったところで
また後出し条件出すんだろうから放置でいいだろ
971デフォルトの名無しさん:2009/05/19(火) 10:42:29
>>967
なるほど、そういう手で偽装する手があったんですね。ありがとうございました!
972デフォルトの名無しさん:2009/05/19(火) 16:26:53
次はコンソールが出ないようにとか
973デフォルトの名無しさん:2009/05/19(火) 16:31:32
>>969
デフォを変えないヤツがPowerShellを使うか ぼけ
974デフォルトの名無しさん:2009/05/19(火) 16:52:20
>>972
HTA2JS
975971:2009/05/19(火) 20:01:52
>>974
複数行コメントが使えるJscriptでうまく偽装できましたよw
コンソール画面無しでHTAで行けました。
Jscriptも埋め込んで、WScript.Sleepとか
他の機能も使えるようになりました。
試した感じでは、HTA(VBSとJSCRIPT) と JSCRIPTを
1つのJSのファイルに埋め込むことが出来ました。
ここにAutohotkeyのスクリプトも埋め込めそうです。
GUIからDLLの利用まで一通り出来ますね。
SFCminiとAutoIt3をインストールしちゃってもいいんだろうけど。
976971:2009/05/19(火) 20:06:39
WSFとJSは便利だわ。
977デフォルトの名無しさん:2009/05/19(火) 20:47:30
デフォを変えないヤツがいろいろ使ってるな
とっととドロップ使えるようにしろよ
978デフォルトの名無しさん:2009/05/19(火) 20:54:47
htaは引数のパーズがめんどいからhta2jsはいいかも
jsからhtaへどう渡すかがポイントだな
979971:2009/05/19(火) 21:41:28
HTA+Jscript+Autohotkey のjsファイルと、
HTA+Jscript+AutoIt3 のjsファイルは動きました。
HTA+Jscript+Autohotkey+AutoIt3は無理みたいです。
ドロップされたファイルはJSのWScript.Arguments()で受けといて、
hta.commandLineでHTAのVBSで受け取れました。サンクスです。
980デフォルトの名無しさん:2009/05/19(火) 21:54:00
ファイルの更新日を更新したんだけど、VBSだけでできる?
今はcygwinのtouch.exeをVBSからつかって更新させてるんだけどVBSだけで完結したい

あ、最新に変更できれば問題ないです。
981デフォルトの名無しさん:2009/05/20(水) 01:18:43
ヘルプよめ
982デフォルトの名無しさん:2009/05/20(水) 16:12:17
DateLastModifiedプロパティは「値の取得のみ可能です。」だから素直にヘルプ読むとハマると思う
983デフォルトの名無しさん
shell.applicationのfolderitem.modifydateだね