06/11/04 21:30:18
では、こんなのも。バッチでクリップボードを処理する例。
@ECHO OFF
FOR /F "delims=" %%0 IN ('MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') DO ECHO %%0
でも、これ、WSHじゃないな。
743:デフォルトの名無しさん
06/11/04 21:45:40
FileSystemObject ObjectのGetStandardStreamって日本語版の
Windows Script V5.6 ドキュメント(Script56.CHM)には載ってないよね
744:デフォルトの名無しさん
06/11/04 21:47:57
MSDNライブラリ参照
745:デフォルトの名無しさん
06/11/04 21:57:22
MSDN見ても日本語では載ってないから英語版のscript56.chmでいいや
746:デフォルトの名無しさん
06/11/07 02:01:01
wscript実行時に窓に表示される
バージョン情報と、~All rights reserved の文字を
表示させないようにすることはできますか?
ご教示ください。
747:746
06/11/07 02:20:21
すいません。解決しました。
//nologo ですね。
748:デフォルトの名無しさん
06/11/13 02:26:09
WScript.ShellのRegWriteメソッドで、バイナリ値で「00 00 00 00」を書き込む方法を教えてください。
.regに書き出して結合するとかreg.exeやWMIを使うとかではなくRegWriteでの方法です。
WinXP/WSH5.6
749:デフォルトの名無しさん
06/11/13 09:10:43
>>748
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\company\\application\\bin_value", 0, "REG_BINARY");
750:748
06/11/13 17:49:22
>>749
回答ありがとうございます。しかし、それだと「00 00」になるんです。
そして第二引数をCByte(0)にすると、「00」になります。
この板の方なら、同じ0でも、「00 00」と「00 00 00 00」の意味が違うことは
解ってると思いますが、望む結果は「00 00 00 00」なんです。
WMIだとArray(0,0,0,0)を書き込むことで「00 00 00 00」になるんですが
これと同じ結果をRegWriteで行いたいと言うことです。
引き続きよろしくお願い合います。
751:デフォルトの名無しさん
06/11/13 19:20:09
>>750
やってみれば簡単に理解できると思いますがJScriptなら 4バイトになるぞ。
しかし、CByte()を知ってるのにCLng()を思いつかないとは・・・
752:デフォルトの名無しさん
06/11/13 21:38:12
イメージ名で指定して、そのプロセスが動いているかどうか判定したいのですが、
wshでできるでしょうか。
できるならその方法を教えていただきたいです。
753:デフォルトの名無しさん
06/11/13 21:50:21
WMI 使えば出来るな。
Win32_Process
754:752
06/11/13 22:38:52
ありがとうございます
755:デフォルトの名無しさん
06/11/15 14:23:49
スレリンク(charaneta2板)
756:デフォルトの名無しさん
06/11/17 20:55:41
Windows PowerShell Version 1.0
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
ell/default.mspx
757:デフォルトの名無しさん
06/11/18 00:22:30
VBscriptもしくはVB6.0でバイナリデータのファイル操作ってできますか?
758:デフォルトの名無しさん
06/11/18 00:25:41
っOpen
759:デフォルトの名無しさん
06/11/19 00:20:45
IEを起こして取れますが、遅いので、
Set Document=CreateObject("htmlfile")
Document.write "<input type=text id=xxx>"
Document.all.xxx.value="ほげほげ"
MsgBox Document.all.xxx.scrollWidth
で、文字列の表示幅を取ろうとしたのですが、0しか返って来ません。
"htmlfile"は、ウィンドウを持たないので、~Widthなどは取れないってことでしょうか?
760:デフォルトの名無しさん
06/11/19 00:49:40
>>759
<INPUT>エレメントの持つプロパティで、
それっぽいのは offsetWidth かな?
scrollWidthやめて、offsetWidth にしたらどう?
761:デフォルトの名無しさん
06/11/19 18:13:52
VBscriptで
A=150
Dim B(A)
Dim C(A)
Dim D(A)
というふうに配列宣言時、添え字の数字に変数を使いたいのですが、エラーになります。
解決方法を教えて下さい。
762:デフォルトの名無しさん
06/11/19 18:33:39
Dim A
A = 150
ReDim B(A)
ReDim C(A)
ReDim D(A)
763:デフォルトの名無しさん
06/11/19 20:52:54
>>762
俺もそう思ったw
764:761
06/11/19 21:53:39
>>762
そうやってもエラーになります
765:761
06/11/19 21:56:40
すいません勘違いでした。無事できました。
766:デフォルトの名無しさん
06/11/21 22:30:28
StrCnvさえ使えたら
767:デフォルトの名無しさん
06/11/21 22:49:45
うちではVBSで使ってるよ。>>VBランタイム内のStrCnv
768:デフォルトの名無しさん
06/11/21 23:24:09
>>767
kwsk
769:デフォルトの名無しさん
06/11/23 00:32:32
>>766
>StrCnvさえ使えたら
なにがしたいの?なくても困ること特にないけど。
770:デフォルトの名無しさん
06/11/23 11:45:18
そんなこと言ったらWSH自体使わなくても(r
771:デフォルトの名無しさん
06/11/23 15:48:49
>>767
VBで、VBの内部オブジェクトを公開するCOMを作ったことあるけど、
MSはそういう使い方保証してないし、開発ライセンスのないひとに
そのCOMを提供するのはどうかなというのと、
どうしても必要ということがなくてやめた。
>>766
VB持ってたら作ってみたら。
EXCELなど持ってたらVBAでも同様のことできるのでは。
772:デフォルトの名無しさん
06/11/25 19:05:25
直接使えばいいのに
773:デフォルトの名無しさん
06/11/29 15:52:47
子供の為にPCの起動を監視する(起動したら掲示板に「起動しました」と書き込む)スクリプトを書いているのですが、
レジストリのローカルマシーン(都合があって)の方にスタートアップを登録したのですが、うまく起動しないことがあります。
通常の起動なら大丈夫なのですが、スタートアップだと1/5ぐらいの確立でしか起動してくれないです・・・
xmlhttpを使ってます。
774:デフォルトの名無しさん
06/11/29 16:21:55
>>773
コード貼り付けてよ
775:デフォルトの名無しさん
06/11/29 17:02:41
>>773
ネットワークがUPしてないんだろ。1分くらいしてから処理開始しなよ。
あとそれたとえ相手が自分の子供でも犯罪行為だから。
こんな人間がいるとは、リアルで気分悪くなった。
776:デフォルトの名無しさん
06/11/29 17:20:18
>>773
イベントビューアでログ見れば済む事を
なぜわざわざ掲示板に書かせるんだね?
777:デフォルトの名無しさん
06/11/29 20:11:20
ヒント: 自分の子供じゃない
778:デフォルトの名無しさん
06/11/29 20:52:30
ヒント: 子供云々は口実で、本当はストーカー行為目的。
779:デフォルトの名無しさん
06/11/29 22:25:06
一応WScript.sleep で120000ミリ秒待機するようにしてます
犯罪行為になるならば、HD上にログに残す方法でやるしかないんでしょうね
確かにキーロガーとか仕込めばストーカーですね
780:デフォルトの名無しさん
06/11/29 22:28:53
だからイベントビューア
781:デフォルトの名無しさん
06/11/30 18:36:23
きっとお兄さんたちに人気がありそうな容貌をした小学生のお子さんなんだろう
だとしたらそこまでして監視したいという気持ちもわかる
がやっぱ気分悪いな
782:デフォルトの名無しさん
06/11/30 21:08:54
ここにいるのはお子様ばかりか?
俺はすべてのファイルを監査対象にして、何をいつ触ったかまで細かくフルロギング!
もちろん監査ログは5分おきに携帯へ逐一転送。
万一の場合にはリモートから即座にシャットダウン可能です。
まあ、愛する我が子を危険なインターネットから守るにはこのぐらいして当然ですよね。
783:デフォルトの名無しさん
06/11/30 21:12:38
>>782
まだまだヒヨっ子だなw
784:デフォルトの名無しさん
06/11/30 21:44:29
楽しい釣り場でつね
785:デフォルトの名無しさん
06/11/30 22:06:11
うん。
でも釣る側の俺は楽しいが、
釣られる奴等は悔しがってるんだろうなw
786:デフォルトの名無しさん
06/12/06 04:02:33
統合アーカイバのKBAってちゃんと動く?
Path = "C:\\DATA\\PROG\\WSH\\KBA\\test.zip"
Set UnZip = CreateObject("KBA.UNZIP")
Result = UnZip.FileCount(Path)
WScript.Echo Result
Result = "" & UnZip.OpenArc(Path)
WScript.Echo Result
こういうのをやると、FileCount()は動くのに、OpenArc()は動かない。
OpenArc()が動かないとファイル情報系のメソッドが全く使えない。
787:786
06/12/07 02:09:01
ProgIDが"KBA.UNZIP"だからUNZIP32.DLLだけあればいいかと思ったけど違った・・・orz
788:デフォルトの名無しさん
06/12/15 17:09:58
Windows板で質問して、WSHなら出来そうって事でやってきました。
やりたい事は、
ショートカットなどをダブルクリックするごとに、
1)タスクバーを自動的に隠す設定にする。
2)1を解除。
というものです。
WSH無しでもいけそうならお教えいただけるとありがたいです。
ググってみたのですが、WSH関係のサイトにタスクバーについて
の処理というのが見つけられず、困っている次第です。
よろしくおながいします。
789:デフォルトの名無しさん
06/12/15 17:43:51
SHAppBarMessage 使うアプリを書いてそれを呼び出す
790:デフォルトの名無しさん
06/12/15 18:01:16
メニューでやってることを、SendKeysでやらせる。
or
レジストリの変更箇所を見つけて、RegWriteで書き換える。+ 即反映の何か。
791:こんな時間まで何やってんだろ俺.wsf
06/12/16 04:10:35
<job>
<script language="JScript">
function deRLE(src){
return src.replace(/\s/g,"").replace(/(.)\.(.)/g,function($0,$1,$2){
return Array(parseInt($2,35)+(($2<"A")?56:($2<"a")?-6:20)).join($1);});}
</script>
<script language="VBScript">
Set fso=CreateObject("Scripting.FileSystemObject")
path=fso.BuildPath(fso.GetSpecialFolder(2),"SwHide.exe")
Set elm=CreateObject("Microsoft.XMLDOM").createElement("data")
elm.DataType="bin.base64":elm.text=deRLE(getResource("bin"))
With CreateObject("ADODB.Stream")
.Open:.Type=1:.Write elm.NodeTypedValue:.SaveToFile path:.Close
End With
CreateObject("WScript.Shell").Run path,1,True
WScript.Sleep 1000:fso.DeleteFile path
</script>
<resource id="bin">
TVqQAAMA.BEA.B//8AALgA.GQA.syA.C4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm
5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJA.HvsN/Fa9GxlmvRsZZr0bGWqN7slm7RsZZr0
bCWadGxlkwXw5Zp0bGWTBfJlmrRsZZSaWNoa9GxlgA.RBQRQAATAEDADWwgkUA.HOAAAwELA
QgAAAIA.BEA.GBA.CQA.BIA.CBA.BQA.CgAABA.HEA.HBA.CBA.GIAAAQAABAAABA.DEAAAE
A.FBA.MBAgAAA8A.9A.tIAAAEA.hC50ZXh0A.BRQA.CQA.CgA.BQA.PCAAAGAucmRhdGEAAJ
YA.CIA.CIA.BGA.PBAAABALmRhdGEA.BEA.CDA.bQAAAwA.9A.9A.9A.9A.9A.9A.9A.9A.9
A.dIPsJFaLNQggQACNRCQEUGoEx0QkDCQAAADHRCQQA.CP/WD7bIg/H/jVQkBIPhAVKDyQJq
ColMJCz/1moA/xUAIEAAXgA.9A.9A.9A.9A.9A.9A.9A.9A.9A.LXCA.FB4IA.FEwgA.KGog
A.BIAAAVCA.LiiA.BggA.aFwgA.FeCA.FC5AEV4aXRQcm9jZXNzAEtFUk5FTDMyLmRsbAAAd
gBTSEFwcEJhck1lc3NhZ2UAU0hFTEwzMi5kbGwA.9A.9A.9A.9A.9A.9A.9A.h=
</resource>
</job>
792:デフォルトの名無しさん
06/12/16 04:26:22
>>791 のバイナリ部分も一応書いとくね
#include <windows.h>
#include <shellapi.h>
void WINAPI WinMainCRTStartup()
{
APPBARDATA abData;
abData.cbSize = sizeof(APPBARDATA);
abData.hWnd = NULL;
if (SHAppBarMessage(ABM_GETSTATE, &abData) & ABS_AUTOHIDE) {
abData.lParam = ABS_ALWAYSONTOP;
} else {
abData.lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP;
}
SHAppBarMessage(ABM_SETSTATE, &abData);
ExitProcess(0);
}
793:デフォルトの名無しさん
06/12/16 04:39:04
マジで何やってるんだかw
794:デフォルトの名無しさん
06/12/16 10:27:55
何これ?
795:デフォルトの名無しさん
06/12/16 11:30:57
おもしろいけど
実行ファイル生成するんだったら
次回からそれ実行した方がはやいよなww
796:デフォルトの名無しさん
06/12/16 14:04:03
>>791
せめて.NETかPowerShellにならん?
797:デフォルトの名無しさん
06/12/16 14:11:46
>>791 5行目訂正
parseInt($2,35) → parseInt($2,36)
それと>>792のコード自体がXPじゃないと動作しないみたいですね。
データがほとんど0(A)だったんで適当にRLE圧縮してみたんだけど
もっとかっこいい圧縮スクリプトって無いかな?かな?
798:デフォルトの名無しさん
06/12/16 14:14:15
>>796
なぜ、このスレで聞くww
799:デフォルトの名無しさん
06/12/16 14:20:25
WSCで定数を公開する方法を教えてください。
現在は読み取り専用のプロパティで固定数を返してますが
FileSystemObjectのForReadingやADODB.StreamのadTypeBinaryのように
インスタンスのメンバとしてではなく、そのまま書けば使えるようにしたいのです。
800:799
06/12/16 14:20:47
▼public要素(公開メンバ)
<public>
<method name="hoge">
<parameter name="arg"/>
</method>
<property name="foo">
<get/>
</property>
<property name="bar">
以下略
▼WSCスクリプト
Public Sub hoge(arg)
End Sub
Public Function get_foo
get_foo = 1
End Function
Public Function get_bar
get_foo = 2
End Function
以下略
▼呼び出し側スクリプト
Call obj.hoge(obj.foo)
現在こんな感じですが、呼び出し側で
Call obj.hoge(foo) で同じ効果が出せるようにしたいのです。
もちろん呼び出し側で定数宣言しろとかは無しで。
FileSystemObjectやADODB.Streamも宣言無しで定数を使えるので、
それと同じようにしたいのです。
801:デフォルトの名無しさん
06/12/16 15:59:58
WSC側で、JScriptで、
function xconst(Me){
Me['xxx']=111;
Me['yyy']=222;
}
呼び出し側で、VBScriptで、
wsc.xconst Me
とすれば、xxxやyyyが使えるようになる。
JScriptなら、wsc.xconst(this);
802:799
06/12/16 16:21:03
>>801
回答ありがとうございます。しかし、そういう事ではなくて、先にも書いたように
FileSystemObjectやADODB.Streamなんかの定数と同じように使いたいんです。例えば
<job>
<reference object="Scripting.FileSystemObject"/>
<script language="VBScript">
WScript.Echo CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.ScriptFullName, ForReading).ReadAll
</script>
</job>
という感じでForReadingが使えるように、呼び出し側のスクリプトで何かするのではなく
reference要素の設定だけで定数を使えるようにしたいのです。
reference要素の設定をしなければFileSystemObjectやADODB.Streamの定数も宣言無しには使えないので、
「FileSystemObjectやADODB.Streamと同じように」というのは「reference要素の設定だけで」という意味で使ってます。
引き続きよろしくお願いします。
803:デフォルトの名無しさん
06/12/16 16:32:35
>>802
>引き続きよろしくお願いします。
やっぱりな。そう来ると思ったよ。
スレ違い。MSに言え。
804:デフォルトの名無しさん
06/12/16 16:40:56
wscじゃむりなんじゃね?
つーかFileSystemObjectのForReadingってただの整数で定数じゃないんじゃ?
adTypeBinaryは定数ったってCOMの実装でenumなんでしょ
805:799
06/12/16 16:51:36
>>803
お手数お掛けしました。
今後は他の方の回答を待ちますので私のことは無視してください。
>>804
リファレンスには定数と書いてあったので、定数だと思い込んでました。
どちらにしてもForReadingと同じ使い方が出来れば良いだけなのですが。
「無理なのでは?」という意見をいただけるのもありがたいのですが、
失礼ながら他の方が知ってる可能性もあるので、もうしばらく待ちます。
806:デフォルトの名無しさん
06/12/16 16:52:28
可読性にこだわるなら数値のかわりに文字列を使えばいいじゃない。
807:デフォルトの名無しさん
06/12/16 17:04:50
>>799
無視できるように、コテハン使ってください。
例えば、
「引き続きよろしくお願いします。」
「木に縁(よ)りて魚を求む」
808:デフォルトの名無しさん
06/12/16 17:12:34
徳川埋蔵金を信じている人に何を言っても無駄ですよ。>みなさん
809:デフォルトの名無しさん
06/12/16 17:13:11
ハンドルじゃないけど名前欄に799って入れてるんだからこのスレ指定で799という名前を消せばいいじゃん
スレ単位での無視条件設定できない糞専ブラ使ってるとかならそれはそういうソフト選んだ自分の責任だ
というか嫌味なコテ押しつけたいだけか?
810:デフォルトの名無しさん
06/12/16 17:23:39
過疎スレで熱くなるなよ
811:デフォルトの名無しさん
06/12/16 17:29:20
いいえ、今後は、でなく、最初から無視したいから、スレッドを超えたコテハンにして。
と言ってるのですよ。参考、検索「引き続きよろしくお願いします。 」
だって、どんな答えもそれは私の求めているものとは違う、というだけなんですよ。
最初から、条件を明示すればよいのに。
「代替方法の提案や出来ないという回答は不要」というふうに。
812:デフォルトの名無しさん
06/12/16 17:40:27
この子、どうしたんだろう?
813:デフォルトの名無しさん
06/12/16 18:49:51
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。
って煽って欲しいんじゃない?
814:デフォルトの名無しさん
06/12/16 18:53:59
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。
815:デフォルトの名無しさん
06/12/16 20:21:09
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。
816:デフォルトの名無しさん
06/12/16 20:30:03
次のWSHのネタをどうぞ
↓
817:デフォルトの名無しさん
06/12/16 20:39:12
WSHで811みたいな根暗で陰気な奴を消す方法を教えてください
818:デフォルトの名無しさん
06/12/16 21:06:02
そういうCOM作って呼び出しなさい。
819:デフォルトの名無しさん
06/12/16 21:28:47
自分では上から見下ろし、バカな質問者を叩く側だと思ってたのに
何を間違えたか皆から見下され、叩かれる立場になってしまった811(´・ω・) カワイソス
820:デフォルトの名無しさん
06/12/16 21:40:07
どこが?上から見下ろし、バカな質問者を叩く側だと見えんけど
821:デフォルトの名無しさん
06/12/16 21:49:31
最初っから上に居るようには見えないってか
822:デフォルトの名無しさん
06/12/16 21:59:49
見方がおかしいのかなぁ
スレリンク(win板:103-番)
と同じ流れだと言ってるんでしょ
823:デフォルトの名無しさん
06/12/16 22:01:21
なんだ811本人かw
824:デフォルトの名無しさん
06/12/16 22:03:18
もう諦めろ
お前は玩具側の人間だ
825:デフォルトの名無しさん
06/12/16 22:07:40
. .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
. . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::::::::::::::::::::::
. . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
Λ_Λ . . . .: : : ::: <こんなはずでは・・・・・
/:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
/ :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
/ :::/;;: ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄
>>811
826:ひとりぼっちのクリスマス
06/12/16 22:15:38
.: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::☆:::::::+::::::::::::::
. . : : : ::::/⌒ヽ: ::: :: : :::: :: ::: ::: :::::::::::::::::::::::::..,,::。:+:::::::::::::::::::::::
. .... ..::::/ <`O:: :: ::: :::::: :::::::::::: : :::::::::::::::::::+,::o;;::・;,:::::::::::::::::::::
⊂ニニニ⊃. . .: : : ::: : :: ::::::::: ::::::::::::::::..<;;::・,,::;ゞ;;o;*::.:::::::::::
/:彡ミ゛ヽ;)ー、. . .: : : :::::: ::::::::::::::::,,;;;<;+::;;;´;*::o*:,,;;ゞ;;::::::::
./ /ヽ/ヽ、ヽ i. . .: : : :::::::: :::::::::::;;;*;;;〇;ゞ;*::;;:<;;;*;:;ゞ;;o;
/ / 。 ヽ ヽ l :. :. .:: : :: ::<;;;;〇;ゞ;*::o,ゞ ;*;;;;*ゞ;*:o
 ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ;;;*;;;〇;ゞ;*::;;;;;*ゞ;*::o, 〇;;; *
>>811 : : : : : : llllllll : : : : : :
田田田
827:デフォルトの名無しさん
06/12/16 22:18:04
おまえら便乗しすぎw
828:デフォルトの名無しさん
06/12/16 22:37:03
811の人気に嫉妬
829:デフォルトの名無しさん
06/12/16 22:41:37
もうWSHと関係ない話は別のところでやってくれ
830:デフォルトの名無しさん
06/12/16 23:39:12
Public Const get_foo=1
のほうが簡単。
831:デフォルトの名無しさん
06/12/17 01:05:03
wsfファイルのサイズが500KB超えると開けなくなるみたいだ。残念。
832:デフォルトの名無しさん
06/12/17 18:37:43
なーおまいら、>>830って通るか?
うちじゃエラーになるんだが
833:マチルダ
06/12/19 10:37:20
WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。
今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。
なので、ProcessID指定で確実にSendKeysをしたいのです。
InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。
要はProcessID指定で確実にブラウザにSendKeysしたいんです。
よろしくお願いします。
Set IE = WScript.CreateObject("InternetExplorer.Application","IE_")
Set sShell = WScript.CreateObject("WScript.Shell")
sShell.AppActivate("ブラウザのwebページのタイトル文字列")
sShell.SendKeys "ほげほげ"
参考にしたページ
URLリンク(www.atmarkit.co.jp)
> 一方のプロセスIDは、Execを使って起動したプログラムでは、WshScriptExecオブジェクトのProcessIDプロパティから取得できる。