WSH(・∀・)スレッド! at TECH
WSH(・∀・)スレッド! - 暇つぶし2ch782:デフォルトの名無しさん
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プロパティから取得できる。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch