[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 16:53 / Filesize : 191 KB / Number-of Response : 882
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2008/04/23(水) 20:00:50 ]
( ´ゝ`) 誰か詳しい情報キボンヌ

●過去スレ
WSH(・∀・)スレッド!
pc11.2ch.net/test/read.cgi/tech/1055075469/
WSH(・∀・)スレッド! Part 2
pc11.2ch.net/test/read.cgi/tech/1176698934/

●関連スレ
お前ら、wsh使ってますか? Part7
pc11.2ch.net/test/read.cgi/win/1190548945/
HTAをもっと流行らせる計画
pc11.2ch.net/test/read.cgi/tech/1124559962/
★WSHでCGI★JScriptVBScript
pc11.2ch.net/test/read.cgi/php/1059745064/

●公式サイト
Windows Script
www.microsoft.com/japan/msdn/scripting/

●個人サイト
Windows Scripting Host
homepage3.nifty.com/aya_js/wsh/index.htm
Windows Scripting Host Laboratory
www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
winscript.s41.xrea.com/wiki/index.php

263 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:45:18 ]
System.Collections.ArrayList
はJoinできない?
xJoin(ArrayList)
xArrayList.Join


264 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:24:01 ]
.NET Framework使うならMSDNライブラリくらい参照しようよ。

265 名前:デフォルトの名無しさん [2008/08/09(土) 22:48:07 ]
※MSDNライビュラリは有償です

266 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:50:57 ]
>>265
 |
 |
 |
 し


267 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:32:36 ]
>>263
Join出来るよ

268 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 14:01:35 ]
出来た!

269 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:34:48 ]
System.Collections.ArrayList
のソートで比較関数をVBScriptで作れない?
ArrayList.Sort GetRef("compare")
はダメだった

270 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 05:34:14 ]
vbsの変数名の最後につける型を指定するやつ(&H20&の末尾の&とか)の種類の一覧がどこにあるか知りませんか?
どういう単語で検索すればいいのか漠然としすぎて分かりません

あとこのURLの「[地域のプロパティ] の設定値」ってなんですか?
msdn.microsoft.com/ja-jp/library/cc392243.aspx


271 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:58:31 ]
>vbsの変数名の最後につける型を指定するやつ
vbsにはない。すれっち



272 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:06:32 ]
>型を指定するやつ
型を指定する文字

273 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 20:55:23 ]
最後じゃなくって最初じゃないの?

274 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:25:08 ]
>>270
前者は271も言ってる通りVBSには明示的な型というもの自体が存在しないが
VBやVBAに関してなら「型宣言文字」でググれ

後者は、例えば数値の表示形式で、3桁カンマ区切りをするか否かというオプションの場合
vbTrue→地域のプロパティの設定値に関係なく区切る(123,456,789.00)
vbFalse→地域のプロパティの設定値に関係なく区切らない(123456789.00)
vbUseDefault→地域のプロパティの設定値が「区切り有り」なら区切る、「区切り無し」なら区切らない

>>273
最初に付けるのは型を「指定」しているのではなく、型を「任意に明示」してるだけ
「指定」ではなく、しかも「任意」なので
Dim intHOGE As String
なんてことも出来る
これは「プレフィックス」で、上記intはハンガリアン記法での一般的なInteger型のプレフィックス
つまりInteger型のプレフィックスを付けておきながらString型を指定することが出来るわけだ

275 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:41:43 ]
>>274
ごめ ちゃんと読んでなかったわ

276 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 18:29:26 ]
CIM_DataFileクラスを用いて、ファイルの各種情報を取得したいのですが、
「説明」のプロパティを取得するときに指定するプロパティ名が分かりません。

具体的には、例えばソリティア(C:\WINDOWS\system32\sol.exe)を
右クリックして表示されるプロパティの「バージョン情報」タブの2行目に
「説明:Solitaire Game Applet」と表示されますが、この値を取得したいのです。

ファイルバージョンなどは、「Version」プロパティで取得できております。
ご存知の方、ご教示お願い致します。

277 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 02:40:13 ]
プレフィクスだったらMSDNにのってるよ
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vbcon98.chm::/Html/vbconconstantvariablenamingconventions.htm


278 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 04:43:23 ]
>>277
そんな話は誰もしてないw

279 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 10:27:49 ]
>>278
>>270
よく読め文盲

280 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 13:34:45 ]
.NETのコンストラクタやスタティックメソッドは呼べないのか

281 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 13:57:47 ]
ActiveXPosh使えばー?



282 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 19:25:16 ]
>>276
確かにMSDNとかにはプロパティ名書いて無いね。
どうりでこのスレの住人でも即答できない訳だ。

283 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 22:01:03 ]
ggle VersionInfo Description

284 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 22:03:50 ]
つfilever.exe

285 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 22:09:36 ]
shell.applicationのextendedpropertyで取れるお

286 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:37:01 ]
割り算をして小数点が出てきたときに
繰り上げるにはどうしたらいいんでしょうか?
x = 100/3
だとxが33.33333となってなるところを
繰上げて34になるようにしたいのですが

287 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 20:50:45 ]
>>286
xと、xを切り捨てた値を比較して、xが小さければ1を足す

288 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 21:06:25 ]
JScript で言うと、xと xを繰り上げた値を比較して、xが小さければ繰り上げる。

289 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 21:34:16 ]
-Int(-x)

290 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 23:05:35 ]
Math.ceil

291 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 11:54:53 ]
>>286
0.9を足して切り捨て。



292 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 11:55:54 ]
ああ、四捨五入と違って33.01も切り上げするならダメか。

293 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:16:41 ]
VBScriptでウェブページを取得したいのですが
mixiのような感じで、ユーザー名やパスワードが必要な場合はどうすればいいんでしょうか?
いろいろググってみたのですが、検索ワードが悪いの見つける事が出来ませんでした・・・

294 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 13:42:12 ]
無理

295 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 18:06:49 ]
もともと無理だったんですか・・・・
一番簡単なものだと何で出来ますか?jscriptでもやっぱり無理なんでしょうか?

296 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 18:53:35 ]
Dim mixi, email, password
Dim ie, document, form

mixi = "mixi.jp/"
email = "null@po.com"
password = "nullpo"

Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate(mixi)
Do While ie.Busy
    WScript.Sleep(1000)
Loop

Set document = ie.Document
Set form = document.forms("login_form")
If TypeName(form) = "Nothing" Then WScript.Quit()
form("email").value = email
form("password").value = password
form.submit()

297 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 19:16:58 ]
---------------------------
Windows Script Host
---------------------------
スクリプト: C:\296.vbs
行: 15
文字: 1
エラー: エラーを特定できません
コード: 80004005
ソース: (null)

---------------------------
OK
---------------------------

さすがVistaだ。なんともないぜ!

298 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 19:43:47 ]
Do While ie.Busy Or ie.ReadyState<>4

299 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 20:11:00 ]
なんか忘れてた気がしたけどReadyStateか
あとNothingの扱いをちゃんと調べたことないしIsNothingとかないからNothingの判定がよくわからんかった
If form Is Nothing Then WScript.Quit()
でいいんだな

300 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:08:51 ]
>Quit() とか
VBScriptなのに

301 名前:293 mailto:sage [2008/08/28(木) 10:44:50 ]
レスありがとうございます

>>296
IEを使えば出来るんですね!
使わないではやっぱり無理なんでしょうか?




302 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:09:26 ]
無理じゃないよ
スレ違い(WSHではなくActiveX汎用コンポーネントの話)になるので詳しくは伏せるけど

303 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:56:19 ]
CreateObject使うのはスレ違いだって?

304 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:21:52 ]
>>296はIEスレてなもんだな

305 名前:デフォルトの名無しさん [2008/08/31(日) 18:04:45 ]
unix系のシステムでもWSH使えたら良いのにネ。
bashよか使い勝手が良い。

306 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:20:08 ]
UNIXならrubyあたりでいいじゃん。なんでそこでbashが出てくるの?
bashと比較するんならcmdとかPowerShellとかだろ。

307 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:35:38 ]
わざわざインストールが必要な ruby なんか全然
お呼びでないので、巣から出て来るなよ。

308 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:41:27 ]
>>305
なんでbashの替わりがWSHなの???意味が分からん

309 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:15:54 ]
代わりにならないからぼやいてるんだろ。
意味わからんのならレスしなきゃいいのに。

310 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:28:22 ]
bashは主にUNIX系OSで使われているシェルのひとつ。
WindowsではコマンドプロンプトやPowerShellに相当。

代わりになるわけがないのに、ぼやく意味がわからん

311 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:37:31 ]
とりあえず>>305がunix系システムをろくに使いこなせていないことは解った。




312 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:29:37 ]
>>310
> 意味わからんのならレスしなきゃいいのに。

# cmd.exe と bash を比較してる時点でアホ丸出しだし。

313 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 10:37:33 ]
よくわからんけど、>>305はシェルスクリプトって言いたかったのかも

314 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 12:14:55 ]
Sendkeysを並べてWindows Vistaを自動的に操作するスクリプトを書いてるんですが、
UACのダイアログが出るとそこで終わっちゃうんです。
「実行するにはあなたの許可が必要です」ってダイアログに対して {LEFT}{ENTER} とか %c って書いても
ボタンを押してくれません。
どうすればいいのか、だれか教えてください。

315 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 12:59:22 ]
>>314
UACを無効にしておく

316 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 13:18:31 ]
>>315
UACを切らずに済む方法はないでしょうか?

317 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 13:36:29 ]
スクリプトを動かし始める前に昇格しておく。

318 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 20:00:51 ]
>>314 .sendkeys "{space}"

319 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 22:21:54 ]
>>317-318
ありがとうございます。明日、出社したら調べてみます。


320 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:27:42 ]
やってみましたが {SPACE} はエラーになりました。そういうキーワードはなさそうです。
昇格は勉強中です。難しいです。

321 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 17:26:59 ]
>>320
これが参考になると思う。
technet.microsoft.com/ja-jp/magazine/cc510320.aspx
ttp://face-products.com/modules/wordpress/index.php?p=163



322 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 18:15:21 ]
.sendkeys " "

323 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 19:26:28 ]
スクリプトってこれ最悪だな。
使ってないけどたぶん.NETも同じなんだろうな

324 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 19:34:41 ]
発端はJavascriptなんだからしょうがない。

325 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 20:57:03 ]
>>323
いやいや.NETを一緒にするな。
あれのダメさはまた別物。

326 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 10:08:29 ]
WSH使いの視点で見るとIronPythonとかIronRubyってどうなん?

327 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 10:47:28 ]
ActivePythonではなくIronPythonならWSHとは全く関係ないものなので
「WSH使い」の視点からは視野外だ

もちろん「WSH使い」でもWSH以外を使う人はいっぱい居るから
個々の視点ではいろんな意見があるだろうが、それは「WSH使い」の視点ではないからな

328 名前:デフォルトの名無しさん [2008/09/28(日) 02:16:01 ]
すいませんWSHの質問です。
IEのテキストボックスに値を入力したいんですが、
そのテキストボックスはたくさんあってtbox[0].priceからtbox[100].priceまであるんです。
IE.Document.form.tbox[0].price.value = "100"とやると、オブジェクトがありませんという実行時エラーになってしまいます。
普通のテキストボックス名(tbox1)とかなら大丈夫でした。
テキストボックス名がピリオドで区切られているのですが、そういう場合なにか工夫がいるのでしょうか?
こういう場合どうすればできるでしょうか?
よろしくお願いします。

329 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 14:00:19 ]
言ってることがいまいちピンとこない。
エラーになる最小のソースを晒せ。

330 名前:328 [2008/09/28(日) 17:19:12 ]
>>329
すいません。お願いします。
HTML
<html>
<body>
<input name="tbox[0].price" type="text" value=""/>
<input name="tbox[1].price" type="text" value=""/>
<input name="aaa" type="text" value=""/>
</body>
</html>

WSH
IE.document.form.tbox[1].price.value = "100"
とやると実行時エラーで "1"というオブジェクトがありませんというようなエラーが出ました。
IE.document.form.aaa.value = "100"
とやるとaaaのテキストボックスに正しく100が入力されます。

最終的にやりたいのはテキストボックスがいっぱいあるのでFOR文でまわして全部に入力したいです。
ちょっと今ソースがみれないのでわかりづらいかも知れないですが、よろしくお願いします。

331 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:15:25 ]
今朝のことです。

ブラウザを操作するスクリプトが暴走して、
IEとWScript.exeが無限起動してたwwww
ブラクラwwwwwwww



332 名前:デフォルトの名無しさん [2008/09/28(日) 19:31:24 ]
>>329
<input name="tbox[0].price" type="text" value=""/>
<input name="tbox[1].price" type="text" value=""/>
↑のname要素の書き方の場合、"tbox[0].price"という名前の要素を定義していることになる。
"tbox[0].price"というname要素と"tbox[1].price"というname要素の間にはまったく関連性はない。
そもそも"tbox[0].price"という書き方をしたところで勝手に配列オブジェクトになりはしない。

× IE.document.form.tbox[1].price.value = "100"
○ IE.document.form.["tbox[1].price"].value = "100" ←つまりこういうアクセスの仕方をしなければならない。

いまのままで何とかループをまわしたいなら、↓みたいなやり方になる。
for ( var i = 0; i < 100; i++ ) {
IE.document.form.["tbox[" + i + "].price"].value = "100";
}

333 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 19:43:02 ]
この糞スレがはじめて世の中の役に立った瞬間に立ち会えたww

334 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 02:29:31 ]
全部同じnameをふってgetElementsByNameで配列を得てから回すんだ!

335 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 02:32:11 ]
>>333
このスレがグルジアでの米ロ軍事衝突を食い止めてたの知らないなんて
どんだけにわかなんだよ

336 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 20:22:48 ]
>>335
米ロが衝突とかどうでもイイからさ、
インストール済のWindowsコンポーネントの一覧をテキストファイルに落とす方法を教えてくれよ。

いや教えてください。お願いします。この通りです。

337 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 21:54:22 ]
Windowsコンポーネント?
その中でWSHから使えるのなんて極一部(ActiveXコンポ)だぞ

ActiveXコンポのみなら、各種オブジェクトブラウザで一覧出来るので
リスト取得ツールでも使ってテキストに落とせば良い
WSHから使えないものも含めて、Windowsコンポ全てを網羅したいならスレ違い

スクリプトで取得したいなら、レジストリを嫁
レジストリの内容取得は、WshShell使う方法はWSHヘルプに載ってるし
WMI使う方法なら、そこら辺にサンプルがごろごろ転がってる
レジストリの内容解釈に付いてはスレ違いなので伏せる

338 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:06:02 ]
ちっがああああぅw

コンパネの[プログラムの追加と削除]から[Windowsコンポーネントの追加と削除]って
選べるでしょ。あれの一覧。IISとかインストールするのに使うでしょ。

あの中から、どんなコンポーネントが選べるのか、
実際にインストールされているのはどれなのか?を
テキストファイルに吐き出したい。それだけ。

米ロが衝突する前に教えてほしい。君の1レスが世界を救うんだ、頼む!

339 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 00:01:49 ]
質問とは関係ないけどVistaだとこんなのもできた。

Set sh = WScript.CreateObject("Shell.Application")
Set cpl = sh.NameSpace(3)
For Each i in cpl.Items
If i.Name = "プログラムと機能" Then
For Each j in i.GetFolder.Items
s = s & j.Name & vbNewLine
Next
End If
Next
MsgBox s


340 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 17:49:44 ]
If i.Name = "プログラムと機能" Then msgbox i.path
してみて、次からsh.NameSpace()に指定すればいいんじゃない?

341 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:05:19 ]
Wscript.CreateObject("WindowsInstaller.Installer")




342 名前:デフォルトの名無しさん [2008/09/30(火) 21:15:48 ]
おい、おまえらXPでも動くようなのを書けよ
小出しにするなまとめろ

343 名前:デフォルトの名無しさん [2008/09/30(火) 22:19:33 ]
ていうかコンパネの一覧表か
要らんわ

344 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:29:48 ]
ほう助33世

345 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:49:30 ]
>>340
なるほろ!Pathか。
ParseName("プログラムと機能") しても引っ掛からなかったんで廻してしまったよ。

Set cpl = WScript.CreateObject("Shell.Application").NameSpace("::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7B81BE6A-CE2B-4676-A29E-EB907A5126C5}")
For Each i in cpl.Items
s = s & i.Name & vbNewLine
Next
MsgBox s

346 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:59:55 ]
うしろだけでもよいかも
"::{7B81BE6A-CE2B-4676-A29E-EB907A5126C5}"

347 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 00:11:47 ]
>>346
うん、それはダメだった。理屈は良く分からんが。

348 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:58:58 ]
数字はないか?一覧してみ
On Error Resume Next
Set Shell=CreateObject("Shell.Application")
For k=0 To 100
Set Folder=Shell.NameSpace(k)
WScript.StdOut.WriteLine Join(Array(k,Folder.Self.Name,Folder.Self.Path),vbTab)
Next


349 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:22:19 ]
゚         (_ヽ      +
 ' *  /⌒ヽ.| |  +
   . ( ^ω^ / /       。
  +  y'_    イ    *
   〈_,)l   | *      。
ガタン lll./ /l | lll    +
VBScriptで、こんな感じでドライブの取り出しはOKですが、逆の「閉じる」は出来ませんか?
2chに集う墓でも無理?
Set objShell = CreateObject("Shell.Application")
set objDrive = objShell.NameSpace("D:\")
Set objItem = objDrive.Items.Item
objItem.InvokeVerb "取り出し(&J)"

350 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:32:14 ]
hard to close

351 名前:349 mailto:sage [2008/10/07(火) 03:20:31 ]
自己解決しました。
検索したら、そういう動作をするサンプルプログラムがありました。
でもハード側もそれに対応してないと動かない、ということでした。

結論は:開く「閉じる」をするVBscriptのプログラムはあるが、すべてのハードでは出来ない

゚         (_ヽ      +
 ' *  /⌒ヽ.| |  +     対応してないハードでそれを使っても
   . ( ^ω^ / /       。 ←ガタン!と出たままになると
  +  y'_    イ    *
   〈_,)l   | *      。
ガタン lll./ /l | lll 



352 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 08:57:42 ]
原理的にはコードを逆に書けば逆の動作をするはず。

)"noitacilppA.llehS"(tcejbOetaerC = llehSjbo teS
)"\:D"(ecapSemaN.llehSjbo = evirDjbo tes
metI.smetI.evirDjbo = metIjbo teS
")J&(し出り取" breVekovnI.metIjbo

353 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:17:44 ]
objShell.Run """C:\\ProgramData\\Microsoft\\Windows\Start Menu\\Programs\\Fantasy Earth Zero\\Fantasy Earth Zero.lnk""",1,1
Do
Set ProcessSet = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_Process where Name='FEzero_Client.exe')
WScript.Sleep 1000 '1秒間待機
Loop While ProcessSet.Count > 0
’処理

FEzero_Client.exeが終了したら、適当なプログラムを実行させたいのだが、FEzero_Client.exeがnprotectによって隠蔽されているせいでうまくいかない。
そこでウィンドウが存在するかどうかを判定することによってFEzero_Client.exeが起動しているかどうかを調べる方法をとりたい。
でも、いくら探しても、見つからない。
ウィンドウ名が存在しているかどうかを調べる方法があったら教えてほしい。

354 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:46:10 ]
>>353
AppActivate

355 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:14:56 ]
>>354
それだと、まずいんだ・・・
FEZero_Client.exeを起動している間にも、ブラウザーで作業したりするから。


356 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 22:25:24 ]
>>338
亀&自己レスだが、「Windowsコンポーネントの一覧&インストール状態」の取得デキタ。
レスはあまり参考にならなかった(すまん!)が、一応此処で聞いたって事でフィードバックしておく。
ちなみにXPSP2な。2003でもいけると思う。

・コンパネから起動する「Windowsコンポーネントの追加と削除」は以下のコマンドで起動されてる。
「c:\windows\system32\sysocmgr.exe /y /i:c:\windows\inf\sysoc.inf」

・上のコマンドの引数の「sysoc.inf」ファイルの「Components」セクションで他の*.infファイルへの参照が列挙されてる。
*.infファイルが明記してなかったり「hide」に設定されてる行は無視される。

・具体的なコンポーネントの名称、説明、「Windowsコンポーネントの追加と削除」画面での階層構造とかは
個々の*.infファイルの方を見る。

・Windowsコンポーネントのインストール状態については以下のレジストリに格納されてる。
「HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OC Manager\Subcomponents」

・個々の*.infファイルの「Optional Components」に列挙されているコンポーネント名が、
上のレジストリキー配下のプロパティに対応してる。

以上。プログラムはinfファイルやレジストリを読むだけのダルいものなのであえて載せないw
え?WSH関係ない?そうだよちきしょう。

357 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 22:40:11 ]
>>339以降は関係ない話だから役に立つはずがない。

358 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 01:16:11 ]
>>353 tasklist.exe

359 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 07:57:28 ]
>>358
nprotectによってFEZero_clinet.exeがごっそり消えてる。
タスクマネージャーを使っても、WMIをつかっても、Tasklistをつかっても、結果は同じだった。

360 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 03:01:54 ]
Windows 2000 SP4、IE6.0 SP1、WindowsUpdateは一通り入れた状態でcscript
> C:\Documents and Settings\Administrator>cscript
> Microsoft (R) Windows Script Host Version 5.6
> Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

WSH5.6を入れた記憶は無いんだけど
SP4は5.6がデフォ?それともIE6.0 SP1入れたから?うーん。

www1.u-netsurf.ne.jp/~tomo_c/tips/R23_002.html
> Windows98 SecondEdition は 5.1
> Windows 2000 SP3 は 5.1
> WindowsXP は 5.6

361 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 11:53:54 ]
> それともIE6.0 SP1入れたから?

多分それだと思う。

www.microsoft.com/japan/technet/security/bulletin/MS02-009.mspx

+よく寄せられる質問

使用中の VBScript のバージョンはどのように分かるのですか?

VBScript.dll ファイルは 2 つのソフトウェア製品 (Internet Explorer および
Microsoft Windows Script) に同梱されています。

・Internet Explorer 6.0 : Internet Explorer 6.0 を実行しているお客様については、
 使用しているプラットフォームに関係なく、Windows Script 5.6 が既定でインストー
 ルされています。Windows Script 5.6は Internet Explorer 6.0 に同梱されています。

・Internet Explorer 5.5 : Internet Explorer 5.5 を実行しているお客様については、
 使用しているプラットフォームに関係なく、Windows Script 5.5 が既定でインストー
 ルされています。Windows Script 5.5 は Internet Explorer 5.5 に同梱されています。

・Internet Explorer 5.01 : Internet Explorer 5.01 を実行しているお客様については、
 使用しているプラットフォームに関係なく、Windows Script 5.1 が既定でインストール
 されています。

Internet Explorer のバージョンを 6.0 または 5.5 にアップグレードしていないお客様は、
次のバージョンの Windows Script を実行している高い可能性があります。

・Windows 2000 : Windows Script 5.1
・Win ME : Windows Script 5.5

# ちなみに、Windows Script 5.1 は、元々 Windows Script 2.0 と呼ばれていた。



362 名前:デフォルトの名無しさん [2008/10/11(土) 14:46:39 ]
Version 5.6 だった
で、それがなんなの
「うーん」なんて書くほどのことかよアホ

363 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 14:55:49 ]
わざわざ3行もレスするような事かよアホ

364 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:20:47 ]
>>362
違いがわからない奴が無理してレスする必要は無い

365 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 17:49:09 ]
ダバダ〜

366 名前:デフォルトの名無しさん [2008/10/11(土) 18:34:16 ]
         ___
        /       ヽ    「うーん」
    , -‐ (_).⌒ l ̄| ⌒ |     __o
     l_j_j_j と) ノ─|  ノ        | 二|二''  _
    /   /       ヽ       ノ   |  ヤ   ッ
    〈  ノ         |

367 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 19:02:31 ]
マンダム

368 名前:デフォルトの名無しさん [2008/10/11(土) 19:08:46 ]
この3人は40代(以上)の中年プログラマー
  ↓↓↓
>>364>>365>>367

369 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 19:44:07 ]
ネタ元の分かるお前もなw

370 名前:デフォルトの名無しさん [2008/10/11(土) 20:59:36 ]
この3人はN88BASICで育った世代
  ↓↓↓
>>364>>365>>367

371 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:41:26 ]
初体験はTK-80だったわ(ポッ



372 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 23:06:40 ]
>>361
丁寧にコピペまでサンクスです
お陰でWSHのバージョンに関係しそうな要素が掴めました
こんなところかな。ちゃんと管理していこうと思ってます。それでは失礼
・導入OS
・IEバージョンうp
・WSHバージョンうp

373 名前:デフォルトの名無しさん [2008/10/11(土) 23:16:01 ]
TKとはトレーニングキットの意味じゃなく小室哲哉のことね。これ常識中の常識。

374 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 14:48:58 ]
ドラッグアンドドロップした画像をペイントで開くにはどうすればいいですか?

375 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 15:34:24 ]
WScript.Shellでmspaint.exeをRun

376 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 22:33:22 ]
Windows Script Host の実行の失敗しました。(この操作を完了するのに十分な記憶域がありません。)
ってエラーが出るのですがなんでしょうか?ある程度調べてみたのですが改善されませんでした。
どなたかご教授お願いします。

377 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:18:54 ]
>>376
ファイル名を変えろ or フルパスで指定しろ

378 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:27:59 ]
>フルパスで指定しろ
だめ

379 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 20:05:31 ]
>>377,378
ありがとうございました


380 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 18:40:50 ]
すみません。
プログラムの追加と削除やスタートメニューを見てインスコされているアプリの一覧を作りたいです。
教えて下さい。

381 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 19:54:34 ]
ttp://www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx#EABAE



382 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 19:57:47 ]
dir /s /b c:\*.exe

383 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 20:51:11 ]
format c:

384 名前:380 mailto:sage [2008/10/30(木) 22:30:06 ]
すみません。真面目に訊いてるんですけど。。。
アプリの件は皆さんがふざけている間にPCViewっていうフリーソフトで事故怪傑しました。
その他にインスコされてるフォント名の一覧が欲しいです。
これが最後☆チャンスです。皆さんの役に立つとこ見せて下さい。

385 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:36:55 ]
>>384
おれは真面目に>>381って返したつもりなんだけどな。無視ですかそうですか。ちょっと泣けちゃう。フォント名の一覧?知るかばーか。

386 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:00:21 ]
>>382 >>383 すれ違い
>>384 フリーソフトさがせ

387 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:40:02 ]
appwiz.cpl中のhtaで使ってるobjectは利用できないのかね?

388 名前:380 mailto:sage [2008/10/31(金) 13:12:23 ]
>>385
こっちは教えてくれって頭下げてんですよ。>>381の一覧見てどうしろってんですか。
もったい付けてないでちゃちゃっとスプリクト教えてくれさえすれば良いだけなのに、
どうしてプログラムの人ってまともにコミュニケーション取れないのばかりなんだろう。

389 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 13:17:54 ]
>>387
cplってhtaなん?

390 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 13:55:55 ]
>>388
お前馬鹿?
ソース書いてあるじゃん。

> >>381の一覧

一覧って書いてるところからして、もしかして手打ちでURL入れて最後の#以降を入れなかった
せいでページの目次部分を見てるとか?
もしそうなら超バカかつ超失礼な奴だな。381にちゃんと謝っとけ!

391 名前:380 mailto:sage [2008/10/31(金) 14:42:27 ]
はいはいw結局こんな簡単なスプリクトも組めないんですねお前らw言い訳乙



392 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 16:25:16 ]
>>391
>>381の意味するところが分からないようなら自力では無理。
素直にコンパネ開いて手作業で写しなさい。あんたの場合それが一番早いやり方。

393 名前:380 mailto:sage [2008/10/31(金) 17:32:26 ]
もしも〜し?
自力で何とかなるなら最初からこんなキモスレで質問なんかしませんよ〜
日本語通じてますかぁ〜
私は、どうせ暇なあんた達にたまには人の役に立てるチャンスを与えてやっただけ

394 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:24:46 ]
悪いが人間の定義から手取り足取り教えてやるほど親切じゃないw

395 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:28:56 ]
"ヒント貰っても"自力で出来ないならってことなんだが
日本語通じてないのはどっちかな( ̄ー ̄)ニヤリ

それにオマエは与える側ではなく物乞う側だ
答えそのものを与えるも、ヒントだけ与えるも、こちらの自由
俺等の掌の上で哀れに乞い踊り、弄られ怒り狂う様を
ニヤニヤ眺められるだけのピエロでしかない

もちろんこれを否定するのは勝手だが
オマエは目的のことを教えて貰えず困っており
こちらはなんら困ってないという事実が全てを物語ってしまっている

396 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:39:18 ]
res://appwiz.cpl/default.hta

397 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:53:55 ]
>>384
dir c:\windows\fonts

398 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 19:01:11 ]
ヒント
createobject("shell.application").namespace("shell:fonts")


399 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:03:18 ]
スプリクト(笑)

400 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:09:53 ]
まぁ正直わからんでもないな
聞いてる方の態度もアレだがそれを抜きにしても
ちょっとなんだかなぁってのが多いのはなんなんだろうな

401 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:14:06 ]
即答されてるんだから、後はどうでもいいだろ。



402 名前:デフォルトの名無しさん [2008/10/31(金) 21:44:38 ]
新しいスプリ ク ト言語が開発された噂のスレはこちらですか?

403 名前:380 mailto:sage [2008/10/31(金) 22:07:04 ]
なに必死になっちゃってんの?顔真っ赤ですよぅwキモオタどもダサ過ぎw
あ〜はいはい困ってまちゅよぅ大変だぁこれで満足ですかwww


404 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:23:14 ]
満足だから、もうどっかに逝け。

405 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:23:59 ]
スクリプトだろw
大人なら、もうちょっとストリクトに書けよな
と思ったら、なんだ幼児でちたか

406 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:30:24 ]
>>380
>なに必死になっちゃってんの?顔真っ赤ですよぅw

光沢モニタってのはなかなか便利なものだな。

407 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:47:42 ]
はいはいでもして事故怪傑してくださいな

408 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 00:08:19 ]
はいはいスプリクトスプリクト

409 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:23:04 ]
>>406
だな

光沢液晶眺めながらヒゲ剃りも出来そうだ

410 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 23:21:13 ]
予告 GetAsyncKeyState

411 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 07:43:01 ]
OS:Win XP Pro SP3
WSH:v5.7

var s1 = "C:\\bin";
var s2 = "C:\\bin\\hoge";
if (s2.search(new RegExp(s1)) != -1)
WScript.echo("一致");
else
WScript.echo("不一致");

s1 = s1.replace("\\","");s2 = s2.replace("\\","")にしてやれば一致するのですが
上記のコードはなぜ不一致になるのでしょうか?
またvar s1 = "C:\\\\bin";var s2 = "C:\\\\bin\\\\hoge";にもしてみましたが結果は不一致のまま変わりませんでした




412 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:47:59 ]
>>411
var s1 = "C:\\\\bin"; 
var s2 = "C:\\bin\\hoge"; 

s1に正規表現のためのエスケープが必要。

413 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:38:09 ]
えんえんとえんをつづけるのかw

414 名前:デフォルトの名無しさん [2008/11/15(土) 17:59:30 ]
各国の通貨暴落なのに円だけが上がってるからな

415 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 21:10:43 ]
>>412
なるほど検索文字列だけエスケープしなきゃならなかったんですね
やったと思ったらs2も\を足してから一致しなかったんですね
ありがとうございました

416 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 03:12:34 ]
各Windowsコンポーネントのインストール状態の一覧を取得する方法ってありますか?

417 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 04:09:12 ]
はい、ありますよ

418 名前:デフォルトの名無しさん [2008/11/16(日) 10:22:21 ]
>>416
俺が前したのと同じ質問かい!…ログ見てください、おながいします。

419 名前:デフォルトの名無しさん [2008/11/16(日) 20:18:07 ]
類似品でこんなやつならマイクロソフトのサイトにあった
そのものズバリも探せばあると思うよ
これ以上は興味ないから知らん(キッパリ)

strHost = "."
Const HKLM = &H80000002
Set objReg = GetObject("winmgmts://" & strHost & _
"/root/default:StdRegProv")
Const strBaseKey = _
"Software\Microsoft\Windows\CurrentVersion\"
objReg.EnumKey HKLM, strBaseKey, arrSubKeys
strLine=Array()
For Each strSubKey In arrSubKeys
intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
"DisplayName", strValue)
If intRet <> 0 Then
intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
"QuietDisplayName", strValue)
End If
If (strValue <> "") and (intRet = 0) Then
Push strLine,strValue
End If
Next
Wscript.Echo Join(strLine,vbLf)
'scripting.cocolog-nifty.com/blog/2006/09/vbscriptarraypu_e6e8.html
Sub Push(Items,Item)
ReDim Preserve Items(UBound(Items)+1)
Items(UBound(Items))=Item
End Sub

420 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:23:37 ]
コピペ間違ったw正しいのはこれ
上のは動かないよ
'www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx
strHost = "."
Const HKLM = &H80000002
Set objReg = GetObject("winmgmts://" & strHost & _
"/root/default:StdRegProv")
Const strBaseKey = _
"Software\Microsoft\Windows\CurrentVersion\Uninstall\"
objReg.EnumKey HKLM, strBaseKey, arrSubKeys
strLine=Array()
For Each strSubKey In arrSubKeys
intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
"DisplayName", strValue)
If intRet <> 0 Then
intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
"QuietDisplayName", strValue)
End If
If (strValue <> "") and (intRet = 0) Then
Push strLine,strValue
End If
Next
Wscript.Echo Join(strLine,vbLf)
Sub Push(Items,Item)
ReDim Preserve Items(UBound(Items)+1)
Items(UBound(Items))=Item
End Sub

421 名前:デフォルトの名無しさん [2008/11/16(日) 21:14:46 ]
それは「アプリケーションの一覧」でしょうが。
>>380-381のと同じじゃない?つうか私が貼った奴だけど。

「Windowsコンポーネントの一覧」はこっち>>356な。つうか私が貼った奴だけど。
インストール状態だけ知りたいなら↓

>・Windowsコンポーネントのインストール状態については以下のレジストリに格納されてる。
>「HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OC Manager\Subcomponents」

「アプリケーション」と「Windowsコンポーネント」ってそんなに間違いやすい?
まあ>>416からして間違えてる可能性もあるけどさ。



422 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:38:36 ]
>>421
おいおい日本語読めねえのはお前の方じゃないのか
これはそのものじゃない類似品にしか過ぎない
そのものは自分で探してくれと明確に断わってるぞ

家庭で嫌なことがあったら2chで赤の他人に突っかかるのは悪い習慣だ

423 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:48:37 ]
>>420を類似品というのは酷すぎるだろ常考…あえて言うならミスディレクション。

424 名前:デフォルトの名無しさん [2008/11/16(日) 21:57:33 ]
いやいやお前がよく読まずに突っかかってきたのは事実だ
まずそれを謝罪しろアホ

これだけ明確に書いてるのに
これが質問のものを貼ったと誤解したのは地球上でアホ=>>421=>>423ひとり
「類似品でこんなやつならマイクロソフトのサイトにあった
そのものズバリも探せばあると思うよ
これ以上は興味ないから知らん(キッパリ)」

425 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:21:31 ]
そもそも大して役にたたない類似品貼ったぐらいでガタガタ騒ぐなよ。
バカじゃねーのか?

426 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:29:56 ]
こいつは>>421=>>423
以前に登場したとき>>338>>356からキモイやつだったんだな
文章のキモさから警戒されて前も誰もレスつけなかったww

427 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:32:56 ]
>>425
スレ検索したらどないでっかあんさん
そのものずばりを貼った人は過去に1人もいませんよ

バカじゃねーのか?

428 名前:デフォルトの名無しさん [2008/11/16(日) 22:34:01 ]
>>421はこのスレにミスディレクションということで

429 名前:デフォルトの名無しさん [2008/11/16(日) 22:37:59 ]
>>425
たいそうに演説するんだったらお前が貼れww

430 名前:デフォルトの名無しさん [2008/11/16(日) 22:40:13 ]
ミスディレクションwwwwwwwwwアホです

431 名前:デフォルトの名無しさん [2008/11/16(日) 22:42:56 ]

       ☆ チン       マチクタビレタ〜
                     マチクタビレタ〜
 ☆ チン  〃 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ ___\(\・∀・)< ミスディレクションさんの反撃まだ?
      \_/⊂ ⊂_)_ \____________
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
   |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:|  |
   |Winコンポーネント .|/
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄



432 名前:デフォルトの名無しさん [2008/11/16(日) 22:47:46 ]
なんすかこの流れw

433 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:12:26 ]
俺が見ても>>419-420が役立たずのアホ

434 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:32:24 ]
慈円

435 名前:デフォルトの名無しさん [2008/11/17(月) 00:43:23 ]
       ☆ チン       マチクタビレタ〜
                     マチクタビレタ〜
 ☆ チン  〃 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ ___\(\・∀・)< ミスディレクションさんの登場まだ?
      \_/⊂ ⊂_)_ \____________
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
   |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:|  |
   |Winコンポーネント .|/
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

436 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:45:28 ]
>>427
 大 し て 役 に た た な い 類似品
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

理解できたか?

437 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:45:44 ]
珍しく伸びてると思ったら・・・

438 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 05:44:19 ]
フルパスからフォルダ作成(存在しない親フォルダも作成)をできるだけにスマートにvbsで書くとどうなりますか?

439 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 07:01:33 ]
こいつはスレ出入り禁止
>>421=>>423=>>338=>356

こいつの文章は特徴があるからすぐわかる

440 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 07:09:42 ]
>>438
フォルダが作成される。

441 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 09:00:37 ]
書くだけじゃ作成されねーし


パス区切り文字でsplitして親から順に存在チェック
有ったら次へ、無かったら作る



442 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 12:04:13 ]
CreateObject("WScript.Shell").Run "CMD /CMKDIR \a\b\c\d"

443 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 18:59:29 ]
やっぱ再帰だろ

444 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:33:00 ]
sub sub_CreateFolder(strFolderPath) 'フォルダの作成
 strParentFolderPath = objFileSystem.GetParentFolderName(strFolderPath)
 if objFileSystem.FolderExists(strParentFolderPath) then
 else
  call sub_CreateFolder(strParentFolderPath) '親フォルダが無ければ再帰的に呼び出し
 end if
 call objFileSystem.CreateFolder(strFolderPath)
end sub

445 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:50:02 ]
>>442
cmd使っちゃう方法もありますねw

>>444
なるほど。シンプルですね。
大変参考になりました。
みなさんありがとうございます。


446 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:13:43 ]
call sub_CreateFolder("x:\folder")
無限ループ

447 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:51:22 ]
>>444
then 側の実行文が空のコードってすごくバカっぽく見えるのは俺だけか?

448 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:59:16 ]
どっちでもいいじゃん
いちいちめんどくせぇな

449 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:16:58 ]
>>446
・ドライブレターが存在するか
・フォルダパスとして成立するテキストが入っているか
この2つは本来はこのサブルーチンに入る前にチェックするべきだあね。

>>447
then側はtrue、else側はfalseに統一しておくと、
可読性が高くなって個人的にはいいと思ってる。
"not 〜" とか "〜 = false" は後々で見直すときに、
ぱっと見てどっちかわかりにくいんだよね。

450 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 04:19:42 ]
>>446
あーそうかそうか。
ドライブの直下にフォルダ作らせようとすると無限ループにはいるね。
今までそういう使い方してなかったから気づかなかった。
objFileSystem.DriveExistsでif文一個追加すればいいやって思ったけど
このメソッド、"x:\"だと必ずFalseだね。"x:"ならTrueがかえってくるけど。 

451 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 04:31:03 ]
ちゃんと作るとこうかな?

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strBuf = inputbox(" ")
if objFileSystem.DriveExists(objFileSystem.GetDriveName(strBuf)) then
 call sub_CreateFolder(strBuf, objFileSystem.GetDriveName(strBuf) & "\")
else
 WScript.Quit
end if

sub sub_CreateFolder(strFolderPath, strDrivePath) 'フォルダの作成
 strParentFolderPath = objFileSystem.GetParentFolderName(strFolderPath)
 if objFileSystem.FolderExists(strParentFolderPath) then
 elseif strParentFolderPath = strDrivePath then
 else
  call sub_CreateFolder(strParentFolderPath, strDrivePath)
 end if
 call objFileSystem.CreateFolder(strFolderPath)
end sub



452 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:01:41 ]
call objFileSystem.CreateFolder(strFolderPath)をする前に
objFileSystem.FolderExists(strFolderPath)しないと
ファイルが既に存在してるかどうか確認するのがめんどくさいからとりあえず実行しちゃえ
ってなった時に既に存在してたらエラーになる


453 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:03:23 ]
ファイルじゃなくてフォルダだった(´・ω・`)

454 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 08:36:27 ]
つーかさ、初心者って「スマートに」とか「シンプルに」とか好きだよな
そんで例外処理すら省いた短いだけの不適合コードに満足する
良いコードとは、短いコードではなく正しく動作するコードだってことを解ってない

455 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:14:52 ]
作ろうとするフォルダ名と同じファイルがあっても困るからそのときは中断処理しないといけないなぁ

456 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:58:50 ]
>>454
所詮スクリプトなんだからあんまり例外処理を作り込む必要はないんちゃう?と最近は思う。
自分の環境で動けばそれでいいし、動かなければ適宜手直しするし・・・。

457 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 17:32:08 ]
>>450
>このメソッド、"x:\"だと必ずFalseだね。
このメソッド、"c:\"だとFalseかね?

458 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 19:54:41 ]
>>457
"c"とか"c:"ならTrueなのに、"c:\"はFalse。
で、ofs.GetParentFolderName("c:\hogehoge\")の戻り値は"c:\"
設計思想としてはわからんでもないけどなぁ。

459 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:40:06 ]
>>447
バカっぽくは見えないけど、個人的にはあまり好きな書き方じゃないな。
ちなみに↓だと「「許容できない」が一番多いけど、「許容できる」もそれなりに多い。

空のIF文を書きますか? - Insider.NET
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47060&forum=7

460 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:42:28 ]
"c:\"はTrueだけど?


461 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:43:55 ]
>>454
そんな初心者見たことねぇ。



462 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 22:48:51 ]
>>460
本当だ。どうも寝ぼけてなんか間違えたらしい。>>458は忘れてくれ。

>>459
そこでも出てるけど、後々のメンテとか考えると統一したいんだよね。
if not 〜 thenで作ってて、後からTrueの場合の条件分岐追加したくなるときとか。
特に理由がない限りは愚直に馬鹿でも読めるように書けと教育されたので。

463 名前:462 mailto:sage [2008/11/18(火) 23:00:13 ]
あ、でも確かにCode Completeでは「稚拙に見えるから止めろ」って書いてある。
だから本来はNot使うのがいいのかもね。

464 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:26:22 ]
jsのif (!...) { ... }なら認識しやすいんだけど
vbsのif not ... thenは色分けできるエディタ使ってても
なんか視界のなかで他の単語にうもれてときたま見逃してしまうから
>>449みたいにif ... thenでやっちゃうことが多いな


465 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 06:34:51 ]
JScriptでADODB.Streamを使用してみてるんですが
Readで読んだバイナリ値をStringオブジェクトに格納できないでしょうか?

var oAD = new ActiveXObject("ADODB.Stream");
oAD.Type = 1;
oAD.Open();
oAD.LoadFromFile("C:\\hoge.bin");
var Str = oAD.Read(1);

WScript.echo(Str);//エラーは出ないが文字列に変換されて出力される
s1 = String(Str);//文字列ではありません
WScript.echo(Str.constractor);//null、またはオブジェクトではありません

466 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 10:30:27 ]
>>248をみてもしかしたらと思って.NETのクラスつかったらできたよ
var asciienc = new ActiveXObject("System.Text.ASCIIEncoding");
var s1 = asciienc.GetString(Str);
WScript.Echo(typeof(s1));

467 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 10:33:13 ]
あとレジストリみたらSystem.Text.ASCIIEncodingのほかに
System.Text.UnicodeEncoding
System.Text.UTF7Encoding
System.Text.UTF8Encoding
があったからここらへんも使えると思う

468 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 11:45:55 ]
constractor???


469 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 11:52:58 ]
var Str = oAD.ReadText(1);

470 名前:465 mailto:sage [2008/11/19(水) 12:03:56 ]
constructorですね。間違えました

>>466-467
出来ました!ありがとうございます

が、0x80以降を格納すると変なことになりますね…

WScript.echo(s1.charCodeAt(),toString(16));//ASCIIだと3f、それ以外はfffdがずっと続く

>>469
テキストモードで開くのなら、iso-8859-1で開いて0x80〜0x9fは置換するって方法があるみたいですね


とりあえず置換する方向で行きたいと思います。ありがとうございました



471 名前:465 mailto:sage [2008/11/19(水) 12:04:51 ]
誤:WScript.echo(s1.charCodeAt(),toString(16));//ASCIIだと3f、それ以外はfffdがずっと続く
正:WScript.echo(s1.charCodeAt().toString(16));//ASCIIだと3f、それ以外はfffdがずっと続く



472 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 12:08:52 ]
なにがしたいんだか

473 名前:デフォルトの名無しさん [2008/11/19(水) 12:17:37 ]
自分のマシンのローカルエリア接続に設定されている
デフォルトゲートウエイIPアドレスをWSHで取得する方法で頭打ってます。
どなたか知りませんか?

474 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 12:21:20 ]
JScriptからバイナリの暗号化とか復号とかいろいろできたら便利だなぁ、とか思ってました

475 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 12:24:28 ]
JScriptじゃ無理
VBScriptつかえよ

476 名前:デフォルトの名無しさん [2008/11/19(水) 12:34:53 ]
VBSで取得する方法でもいいです。
Google先生でもなかなか見つからない紋で。

477 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 12:38:55 ]
Str = oAD.Read(-1)
For k=1 To LenB(Str)
WScript.Echo AscB(MidB(Str,k,1))
Next



478 名前:デフォルトの名無しさん [2008/11/19(水) 12:44:52 ]
早速ありがとう!
oADこのオブジェクトはどこから取得するのですか?

479 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 22:09:25 ]
>>473
ちゃんとググッたのか?

default gateway wsh でググッたら、"Need to get default gateway via VBScript" って
言うほぼどんぴしゃのページがヒットするんだが...。

www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_23706347.html

480 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 01:07:04 ]
>>479
おれのプニル1.66が固まった(´;ω;`)ウッ…

481 名前:デフォルトの名無しさん [2008/11/20(木) 02:34:44 ]
>>454
> そんで例外処理すら省いた短いだけの不適合コードに満足する
僕は初心者ですが、どれぐらいがちがちに例外処理すべきなのかよくわからないんです。
普通は成功しそうな処理でもいちいちチェック、例えばこんな感じで↓
Set obj = Nothing
On Error Resume Next
Set obj = GetObject("winmgmts:\\.\root\cimv2")
'他にはSet obj = CreateObject("WScript.Shell")とか…
On Error Goto 0
If Not obj Is Nothing Then
'続き!
Else
WScript.Quit(1)
End If
してたらしてたらうっとうしいんじゃないかとか思ったり。



482 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 14:14:40 ]
>ttp://okwave.jp/qa4465143.html?ans_count_asc=20
>CScriptのコンソール画面のクリア方法
できないって?
clsすりゃいいだけなのに

483 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 16:15:30 ]
>>481
意味ないからやめろよ
必要なときだけやれ

484 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 16:16:36 ]
理由
テストできないだろ?
テストできないコードを書くな

485 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:27:17 ]
意味があるかどうかは状況次第。
>>481 の例だと、俺もわざわざエラーチェックはしないけど、ファイルを
開いたりする時はエラーチェックする。

テストしたいなら GetObject(), CreateObject() の文字列変えてテスト
するとかすればいいだけのこと。

あと、どうせエラーチェックするなら...

If obj Is Nothing Then
 WScript.Echo("GetObject(""winmgmts:\\.\root\cimv2"") Failed")
 WScript.Quit(1)
End If
'続き!

のようにした方がインデントも深くならないし、いきなり WScript.Quit()
されてもわけわからんので、なんかメッセージを出した方がいいと思う。

486 名前:481 mailto:sage [2008/11/21(金) 00:45:17 ]
>>483, 485
アドバイスありがとうございます。

必要かどうか、状況を判断するのが難しいです。
修行がいるのだろうなぁ。

VBScriptって例外が発生して落ちたときに
終了コードをセットしないから外部からわからないんですよね。
今作ってるのは他のスクリプト内から実行される可能性があるので、
うっとうしいと思いながらも何が何でも例外は自分で拾って
WScript.Quit(1)するという方針で書いてます。

487 名前:デフォルトの名無しさん [2008/11/21(金) 01:08:05 ]
>479
ありがとうございます!

英語が読めないので日本語ページオンリーです。
恥ずかしっ!!


488 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:45:34 ]
>>481
その方針は間違い

>VBScriptって例外が発生して落ちたときに
>終了コードをセットしないから外部からわからないんですよね。
→ QuitWithErrNumber.VBS

>今作ってるのは他のスクリプト内から実行される可能性があるので、
>うっとうしいと思いながらも何が何でも例外は自分で拾って
>WScript.Quit(1)するという方針で書いてます。
だけなら、
sub main()
end sub
on error ...
call main
if ... quit(1)
するだけ


489 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 00:27:15 ]
>>481
そのやり方だと、どうしても漏れるよ
漏れたときに困るよ
正常時だけQuit(1)にすれば確実だよ

490 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 14:06:49 ]
.urlファイルを書き換えても、プロパティで見ると書き換わってない
F5しても同じ
どうすれば反映される?

491 名前:481 mailto:sage [2008/11/27(木) 00:12:55 ]
レス遅くてすいません。

>>488
> → QuitWithErrNumber.VBS
なるほど!スクリプト終了時のオブジェクトの解放時に
明示的にセットするという方法があるのですね。
自分では全く思いつきませんでした。ありがとうございます。

>>489
確かに仰る通りです。逆転の発想をするわけですね。
正常終了は%ERRORLEVEL%==0という固定観念がありました。
大変参考になりました。ありがとうございます。

結局、Main()全体にOn Error Resume Nextすることにしました。





492 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:12:29 ]
>>491
> 結局、Main()全体にOn Error Resume Nextすることにしました。

なんでそんな結論に...

493 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:54:38 ]
坊やだからさ

494 名前:481 mailto:sage [2008/11/30(日) 01:33:16 ]
>>492
>>493
もしかして一番ダメな方法なのかな…
忠告ありがとうございます。もうちょっと考えてみます。

495 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 14:13:54 ]
ttp://oshiete.nikkeibp.co.jp/qa4474443.html
ぷっ

496 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 10:53:01 ]
/MIN

497 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 10:54:55 ]
start /MIN hoge.bat

498 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 17:19:09 ]
JS教えたりして意地悪じゃないの
\\で嵌まるの目に見えてる

499 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:44:37 ]


500 名前:デフォルトの名無しさん [2009/01/03(土) 07:09:06 ]
500

501 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 06:09:19 ]
wshから(出来ればVBSで)エクスプローラを再起動させたいんですが
起動はいいのですが、プログラムを終了させる事って出来ないんでしょうか?



502 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 13:46:54 ]
>>501
WMIつかえば出来るよ
使い方はググればサンプル含めて転がってる
又はコマンドライン型のプロセス終了ツールを使う手もある

503 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:29:03 ]
>>501
XP 以降なら taskkill ってコマンドがある
プロセスIDや実行ファイル名でプロセスを殺せる

ex) taskkill /IM notepad.exe


504 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:46:47 ]
>>503
home editionにはない

505 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:54:44 ]
好きなの使えよ。
ttp://www.vector.co.jp/vpack/filearea/win/util/task/


506 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:07:11 ]
PsKill - ローカルまたはリモートのプロセスを停止します。
technet.microsoft.com/ja-jp/sysinternals/bb896683(en-us).aspx

507 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:46:38 ]
taskkill、PsKillってのが>>502の言ってるコマンドライン型のプロセス終了ツールでしょ。

508 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 04:04:31 ]
tskillつかえよ

509 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:50:20 ]


510 名前:デフォルトの名無しさん [2009/01/12(月) 22:44:18 ]
vbseditみたいに補完&デバッグできるフリーな奴無い?

511 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 07:17:05 ]




512 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 07:47:10 ]


513 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:37:18 ]


514 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 21:26:39 ]
www.atmarkit.co.jp/fwin2k/tutor/cformwsh01/cformwsh01_03.html
上記のURLで紹介されている「SystemScripter」を使用されている方はいらっしゃいますか?

試しにインストールしてみたのですが、IMEで日本語を入力すると入力が重複してしまう
のですが...回避方法はないでしょうか?

515 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 12:55:06 ]
Vistaやっと買ったら、自作のスクリプトが落ちます・・・

*******************************
'ファイル操作の宣言
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'ファイルのオープン
Set objFile1 = objFSO.OpenTextFile(name1)

******************************
上の命令付近で、どうしても落ちます。
Vistaに何か入れれば、動くとか情報有りますか?



516 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:10:29 ]
何が落ちるんだ?

517 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:15:02 ]
> Vistaやっと買ったら、自作のスクリプトが落ちます・・・


518 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:27:40 ]
反ウイルスソフトじゃないの?

519 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:28:43 ]
どこに落ちるんだ?

520 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:20:36 ]
>515
Vistaは知らんが、CreateObject("Scripting.FileSystemObject") に
"WScript"を付ける奴は初めて見た。   WinXP&WSH5.6ユーザーより

521 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 23:54:00 ]
そうか?
視野が狭いだけだろ?



522 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 09:11:37 ]
付近とかまたアバウトな・・・

523 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 10:10:43 ]
>>520
WSHのWScript.CreateObject
> object.CreateObject(strProgID[,strPrefix])
と、VBSのCreateObject
> CreateObject(servername.typename [, location])
は一応別物だよ

つまり>>515は「CreateObjectにWScriptを付けている」のではなく
「VBSではなくWSHのCreateObjectを使っている」という表現が正しい

まあ基本的には同じ様なものなので、必要性を感じなければ使い分けなくても良いだろう
必要性を感じたら、自分で細かい仕様を調べて使い分ければ良い

524 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 22:44:44 ]
大量の文書の置換をしたいのですが、どのような形で組めばいいのでしょうか?
置換対象文書はすべて一つのフォルダのサブフォルダに入っているのでサブフォルダ内から抽出するなり再帰的に実行するなりすればよいでしょうが…

置換自体のスクリプトは以下のITPROの記事を参考に作りました。
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/308strrpl/strrpl.html

後はこのスクリプトを起動するスクリプトを作成するか、読み込むファイルを抽出する部分を工夫すればいいのですが、
何か手はないでしょうか?

525 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 22:48:01 ]
>>524
for

526 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 23:04:00 ]
>>524
自分がフォルダ階層を辿るときはディレクトリの再帰処理を書くのが
面倒なんでこんな感じのをよく使う
以下の foo() でファイル毎の処理を書く
実際には dir の '*' はコマンドラインからパラメタで与えたりもう少しは
工夫するけど

var objShell = WScript.CreateObject ("WScript.Shell");
var objFS = WScript.CreateObject ("Scripting.FileSystemObject");
function foo(filename)
{
 WScript.Echo(filename);
}
var execDir = objShell.Exec("cmd /c dir /b /s /a-d *");
while (! execDir.StdOut.AtEndOfStream) {
 var file = execDir.StdOut.ReadLine();
 if (! objFS.FileExists(file)) {
  continue;
  }
  foo(file.replace(objShell.CurrentDirectory, "").replace(/^\\/, ""));
}


527 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:23:05 ]
>>526
遅くなりましたが、参考にさせていただきました。
ありがとうございました。

528 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 11:56:09 ]
ho

529 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:15:34 ]
レジストリキーが存在するかを確認したい

ttp://www.atmarkit.co.jp/fwin2k/tutor/cformwsh13/cformwsh13_01.html
のサンプルCheckReg.vbsを参考にした
キーの既定に空白でもなんでも値が入っていれば正常に判断できるが、
既定が(値の設定なし)だとキーが存在していても無いと判断されてしまう。

ttp://okwave.jp/qa2469915.html
で同様の状態についてやりとりがあり、解決済みだと言うサンプルが置いてある(IsNullを使ったもの)
…けれど、やはり同様に(値の設定なし)だとキーが存在していても判断に失敗する

既定が値の設定なしで、他にエントリもないレジストリキーの存在を
確実に確認する手段はございませんでしょうか

530 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:49:44 ]
>>529
このあたりはどう?
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1029.mspx


531 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:00:13 ]
スクリプト センター > スクリプト一覧 > オペレーティング システム
レジストリ
www.microsoft.com/japan/technet/scriptcenter/scripts/os/registry/default.mspx



532 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 02:21:17 ]
>>530
そこのスクリプトでも結果が同じで
  エントリ名が入る変数strValueNameを空白にすると
 strKeyPathで設定した場所(キー)の既定エントリを覗くようですが
既定エントリの値を (値の設定なし)→空白にするとexistになります
(値の設定なし)に戻すとやはりnot existになります

>>531
学習します

533 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:15:30 ]
もっと他のやり方がありそうなんだけど一応

const KEY_QUERY_VALUE = &H0001
const HKEY_CURRENT_USER = &H80000001
const HKEY_LOCAL_MACHINE = &H80000002
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "SOFTWARE\developer\app\key"
Result = objReg.CheckAccess(HKEY_CURRENT_USER, strKeyPath, KEY_QUERY_VALUE, bHasAccessRight)
If Result = 0 Then
Wscript.Echo "key found."
ElseIf Result = 2 Then ' WBEM_E_NOT_FOUND
Wscript.Echo "key not found."
Else
Wscript.Echo "other error."
End If


534 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:43:06 ]
>>533
これは(値の設定なし)でもキーの存在を的確に判断してくれます
大変有難いことです。感謝

535 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:50:11 ]
WSHでOutlookの予定や仕事の本文のフォントを一括で変更できる方法ってありますか?

536 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 19:28:41 ]
もしOutlookVBAでできるなら、WSHでもできるよ

537 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:50:15 ]
WSH(使用言語はjscript)でWin32apiのLoadLibrary()ってどうやって使うんですか!?


538 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:55:37 ]
無理

539 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:03:58 ]
そういうCOM使えばええがな

540 名前:デフォルトの名無しさん [2009/02/06(金) 23:01:41 ]
糞スレ晒し上げ

541 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 01:55:39 ]
なるほど
ありがとうございました



542 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 05:31:22 ]
サービスのスタートアップの種類(自動・手動・無効など)を調べるスクリプトを書いており、
Vistaの自動と自動(遅延開始)を識別する方法を探しています。
WMIのWin32_ServiceクラスのStartModeプロパティには、両方ともAutoが設定されています。
MSDNでは他にそれらしいプロパティは見付かりませんでした。
レジストリ値を直接読んで識別するしかないのでしょうか?

543 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 05:42:58 ]
ここはWSHスレです。

VB6でもRubyでもC#でもDelphiでもVBAでも使える
汎用コンポーネント(WMIなど)の話はお控え下さい。

544 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 05:55:18 ]
あれま。そういう棲み分けでしたか。失礼しました。

545 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 07:05:52 ]
自動(遅延開始)は依存関係で他のサービスが立ち上がってから立ち上がるもの
つまり依存するサービスを所有していればそれで判別可能

546 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 07:11:45 ]
>>543 >>539
COMもVB6でもRubyでもC#でもDelphiでもVBAでも使えるから
ここで話題振るのは禁止なんですよね

547 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:17:16 ]
複雑だと思うならつかわなきゃいいんじゃねーの?
なんでアホはあるもの全部使わなきゃ気がすまねーの?

548 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:36:14 ]
がんばれよ

549 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:22:53 ]
がんばりまっちゅ

550 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:31:19 ]
WSHもCOMだろ?

551 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:43:36 ]
いいえ、WSHはCOMじゃありませんよ
WMIはCOMですけど



552 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:54:14 ]
>>545
どうしてそんなすぐ分かる嘘を付くのですか?

553 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:55:36 ]
WSH.Echo TypeName(WSH)

554 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:07:58 ]
>>553
いきなりどうしたの?

555 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:59:10 ]
なるほどね

556 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:18:45 ]
もしかしてObject=COMだと思ってるんじゃないの?

557 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:24:41 ]
やめときゃいいのに

558 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:37:35 ]
だよね
あんなの書かなきゃ恥かかなかったのに

559 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:57:24 ]
ぷっ

560 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 02:59:09 ]
MsgBox "Object"="COM"

561 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 03:13:19 ]
たしかにちがうな



562 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 03:14:34 ]
MsgBox "WMI"="COM"

563 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:06:41 ]
WSHとPowerShellはどういう関係なのでしょうか?
PowerShellが使えたらWSHはもう要らないものでしょうか?

564 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:19:11 ]
>>563
大雑把に言うと、WSHはいわゆる「スクリプト言語」からオートメーションコンポーネントをいじるためのホスト環境で
VBScript, JScript, PerlScriptなど各種インタープリタが存在する。
PowerShellはPowerShellスクリプトで.NETコンポーネントをいじるためのインタープリタそのもので、オートメーションコンポーネントをいじるための機能も備えている。

WSHとPowerShelllは主な使用用途が似ているから比較されるだけで、直接な関係はない。
WSHで使えるスクリプト言語になるためにはActiveScriptというルールにのっとったインタープリタを作らなきゃダメで、
PowerShellインタープリタがもしもActiveScriptとしても実装されたら、WSHでPowerShellが使えたりもするようになるし、
逆に.NETでActiveScript相当のルールができてVBScriptやJScriptのインタープリタができたら、.NET用のWSHみたいな物ができるかもしれない。

WSHの使用用途については、PowerShellが大部分を食っていくと思われ。
しかしPowerShellはWindows XP以降でしか使えないが、WSHは9x系でも使える。
VBScriptなどPowerShell以外のスクリプト言語が使いたい場合まだWSHでないと無理。
そのあたりWSHの用途をカバーするものが別途出てきたらいらなくなると思う。

565 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:38:23 ]
スルーしような

566 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:38:28 ]
JRubyとかIronRubyとかIronPythonとかあって訳若芽です><

567 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:50:36 ]
ここはWSHスレです。

IEでもHTAでもSCでも使える
汎用スクリプト言語(VBScript,JScriptなど)の話はお控え下さい。


568 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:03:29 ]
あれま。そういう棲み分けでしたか。失礼しました。

569 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:10:00 ]
WSH.Echoも、VB6でもRubyでもC#でもDelphiでもVBAでも使えるんですがどうしましょ?

570 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:10:59 ]
COMは専用スレあるからスレ違いでいいけど
アクティブスクリプトは専用スレあったっけ?

571 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:18:22 ]
>>569
WSH.Echoも、IEでもHTAでもSCでも使えるけど、いいんじゃね



572 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:27:32 ]
>>569
VBAかVB6でWSH.Echoを使うサンプルコード書いて

あ、もちろんWrapper的なのを噛ますのは無しね
dllやらwscやら噛ませるのは、そのホスト上でWSHオブジェクトが使えてるわけではなく
そのやdllやらwsc上でWSHオブジェクトが使えてるだけだから

573 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:34:44 ]
WSCでWSHオブジェクトが使えてるのか?

574 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:55:24 ]
。。。

575 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:18:48 ]
ぷっ

576 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:19:24 ]
ぽっ

577 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:21:25 ]
WSHはCOMだからオブジェクト参照さえ渡せばWSCだろうとIEだろうと使えるよ

578 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:27:30 ]
ぷっ

579 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:35:32 ]
ActiveほにゃららってWindows版の各スクリプト言語処理系の頭に付くのは何故なんだろうって最初は不思議でした

580 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:02:07 ]
>>572
>VBAかVB6で
スレ違いだろ?

581 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:05:35 ]
ぷっ



582 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:11:19 ]
>>577
いいえ、WSHはCOMじゃありませんよ
WMIはCOMですけど

583 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:30:05 ]
結局具体的には書けないんだね

584 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:15:05 ]
具体的に書いてやらないとわからないんだね

585 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:23:58 ]
うん、わからないからちゃんと書いて

586 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:31:26 ]
いやだよ

587 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:54:22 ]
WSHは外部からCreateInstanceはできないだけで、COMじゃないわけはないだろ。

588 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:09:22 ]
いいえ、WSHはCOMじゃありませんよ
WSHはEXEですけど


589 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:12:17 ]
ヒントだよ
Set hoge=WSH
hoge.Echo TypeName(hoge)
これでわからないならあきらめるんだな

590 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:22:29 ]
実はヒントにもなってない件と
実は本人も解ってない件w

591 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:28:49 ]
htaでWScript.Sleep使いたいんだが・・・ いや、まじで。



592 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:53:34 ]
つかってるけど?

593 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:04:56 ]
>>590
もそっとCOMを勉強したほうがよくないか?

594 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:05:48 ]
fso = win32com.client.Dispatch('Scripting.FileSystemObject')
folder = fso.GetFolder('C:\\')
for file in folder.Files:
print file.Name


595 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:12:18 ]
>>592
どうやるの? さっさと吐け!

596 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:18:49 ]
Set w = WScript.CreateObject("WScript.Shell")
w.Popup "Ready",3,"1,2,3"
w.LogEvent 1, "DaahhhHHH!"

597 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:21:13 ]
>>596
それWScript.Sleep 3のつもり?
WScript.CreateObjectでエラーになるけど?

598 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:24:13 ]
それに
WScript.ShellのPopupはGUIアプリで使うと待ちが解けないみたいよ?

599 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:32:57 ]
>>591
>htaでWScript.Sleep使いたいんだが・・・ いや、まじで。
つかえるけど、画面が凍るのでやめとけ・・・ いや、まじで。

600 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:54:02 ]
VBとかC#から
WScriptのインスタンスを生成するにはどうすればよいですか?


601 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:13:39 ]
outprocessserverの場合と似たようなことをやればよい
ShellやProcess.Startで起こして、
そのスクリプトからWScriptオブジェクトを外部から見えるところに設定



602 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 01:40:52 ]
Windows Script Host(WSH)の機能全体の話とWScriptオブジェクトと
Windows Script Host Object Modelの各オブジェクトと、
WScript/CScriptコマンドが錯綜してる気がする

まず、Windows Script Host Object Modelで説明されるオブジェクトは
あくまで WSHの構成要素であって、WSHそのものではない。

なので、外部からWSHの構成要素の一部のオブジェクトをインスタンス化
できる、という説明は正しいが、
WSH自体を操作できる、という説明は正しくない

次に、COMをIUnknown、IDispatchのインタフェースを持ち、GUIDで
識別されるもと定義するなら、Windows Script Host Object Model
に含まれるオブジェクトはすべてCOMであり、これにはWScriptも含まれる。

ただし、WScriptを除く各オブジェクトは単体で外部からインスタンス化
できるのに対して、WScriptオブジェクトは外部からインスタンス化することは
できないという違いがある。

で、結局WScriptオブジェクトはWSHの環境内でのみ使用できるオブジェクトなので、
外部からは使えません。

>>601は具体的なコードを示してほしい

603 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 02:27:18 ]
.NET についてもひとことおねがいします

604 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 03:02:48 ]
コード? 技術者だったらヒントから考えろ
WSHからVBAの関数を呼べるだろ?
VBAでsub hoge(wsh)作ってWSHから呼べ
そしたらVBAからWSH使い放題
IEも同じ 関数作って呼ぶか、プロパティにセットするか
HTAはWSHから呼べないから、間にIEをはさむなりしろ

605 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 03:59:15 ]
姫様ズーム・イン

606 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 04:01:26 ]
ヒントだと思い込んで出してる情報が実は間違いでしたとさ

607 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 04:55:18 ]
おやすみ

608 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 07:53:52 ]
あるあるw

609 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 08:34:58 ]
ごめん、自分には素のWindows環境で
WSHからVBAを呼ぶという時点でかなりの難易度
IEからHTAを呼び出すのもできません
ぜひ、具体例をお願いします

610 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 08:58:20 ]
やり方を知らない人に聞いても無駄です。
無意味なヒント出されたり、自分で調べろとか
言われたりして誤魔化されるだけです。

611 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:20:04 ]
あれでわからないならあきらめろってw無理すんなw



612 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:55:43 ]
予想通りの反応w

613 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 19:28:27 ]
度し難いなぁ
って意味わかるかなぁ

614 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 19:46:05 ]
解るよ
どういう雰囲気を作りたがってるかは

上から目線で、呆れてる様を表現し
やり方を知らないから具体的な情報を出せないのではなく
もう何も言う気になれないのだよという雰囲気を作りたいのですね

でも、実際に知らないのはもうバレバレで
今更雰囲気作りに拘っても無意味っす

615 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 19:52:31 ]
ごめんね
WSHはCOMじゃないよ
これでいい?

616 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:01:09 ]
今度は「仕方ないから大人な俺が折れてあげるよ」という雰囲気作りですか
しかも論点間違ってるし

折れなくていいからさ、件の具体例出して俺等を打ちのめしてよ
打ちのめす実力が本当に有るのなら

617 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:18:16 ]
ないよ
これでいい?

618 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:23:24 ]
まぁ「これでいい?」を付け加えることで
本当はあるけど無いことにしておくって雰囲気を作りたいんだろうけど
それが負け惜しみなのは誰の目から見ても明らかだし
負け惜しみを吐くくらいのことは許してあげますかな

ただ、これ以上負け惜しみ吐いて醜態は晒さないようにね

619 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:41:25 ]
結局出来ないのかorz
wktkして待ってたのに。

620 名前:デフォルトの名無しさん [2009/02/09(月) 21:08:53 ]
なんでここIDないの

621 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 21:16:42 ]
そういう設定の板だから。

運営に申請することで変更は可能なので
変更を希望するならまず自治スレで議論し可決を取ること。
pc11.2ch.net/test/read.cgi/tech/1051039126/
運営では可決された経緯まで吟味した上で変更が検討されるから
勝手に申請だけしてもダメ。

以後、IDに関する質問や議論は自治スレで。



622 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 23:33:58 ]
>>619
ttp://pc11.2ch.net/test/read.cgi/tech/1206835319/619

623 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 23:46:52 ]
どうしたの?

624 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 02:13:22 ]
結局向こうでも出来なかったみたいだね。

625 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 03:01:25 ]
失敬なやつだな

626 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 03:17:54 ]
>>591
ttp://pc11.2ch.net/test/read.cgi/*/*/*
教えてやろうと思ったがやめた

627 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 08:08:59 ]
無理すんな

628 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 12:41:12 ]
教えてくれたら神だ仏だと崇め奉った上に、とっておきのエロ画像をプレゼントしようと思っていたのになあ・・・・

629 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 16:04:32 ]
ふーん、そういうことがうれしいひとがいるんだ

630 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 16:11:56 ]
弄られてるだけって事に気付けないのか?

631 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 17:46:36 ]
>>591
ほれ
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/mar06/hey0330.mspx
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct05/hey1031.mspx
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1120220141
oshiete1.goo.ne.jp/qa2010297.html




632 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 18:06:22 ]
>>631
期待せずに一応見てみたが、予想通り的外れのことしか書いてなかった。
そんなんではzipはやれんぞ。

出来ない人は黙っててくれないかなぁ〜

633 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 19:23:03 ]
処理を一時的に止めたいという実用上の話ではなく
WScriptオブジェクトをインスタンス化出来るかという
技術上の話だってことも理解できないのか?

634 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 20:03:34 ]
いいえ、WSHはCOMじゃありませんよ

635 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 21:03:07 ]
どうしたの?

636 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:01:50 ]
Set hoge=WSH
hoge.Echo TypeName(hoge)
インスタンス化できてるだろ

637 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:12:11 ]
マジレスしとくとそれは元々あるインスタンスを別名で参照してるだけ

638 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 17:23:37 ]
マジっすか?
インスタンすか?

JScriptのArrayオブジェクトはCOMっすか?
JScriptのArrayオブジェクトは外部からインスタンス化できっすか?
JScriptのArrayオブジェクトはJScript内でのみ使用できるオブジェクトなので、
VBScriptからは使えませんすか?

639 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 17:32:30 ]
"WScript" の代わりに "WSH" が使えるなんて初めて知ったよw

640 名前:デフォルトの名無しさん [2009/02/11(水) 18:23:35 ]
ちょっと他のスレッドで発見したのですが
     ↓
ラーメンタイマーでも作ってみれ。
カップヌードル用(3分)とどんべい用(5分)に分ける。
できればタスクバーに駐在する奴。

こういうのってサクっと作れますか?

641 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 19:07:33 ]
タスクトレイ常駐以外は、HTAにすればサックリできる気が。



642 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 19:14:16 ]
タスクバーのツールバーにいれるとか

643 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 20:06:20 ]
作ってみた。

<html><head>
<title>らーめんたいまー</title>
<HTA:Application ApplicationName="らーめんたいまー"
SingleInstance="yes" WindowState="Normal" ShowInTaskbar="no"
MaximizeButton="no" MinimizeButton="no" Border="thin" Scroll="no">
<script>
function timeup(name)
{
alert( name + "できたよー");
}
function setup(obj,t)
{
setTimeout("timeup('"+obj.value+"')",t*60*1000);
}
window.onload = function()
{
window.resizeTo(190,80);
document.f.t3.onclick=function(){setup(this,3);};
document.f.t5.onclick=function(){setup(this,5);};
}
</script>
</head><body><form name="f">
<input type="button" value ="カップヌーj" name="t3"/>
<input type="button" value ="どんべい" name="t5"/>
</form></body></html>

644 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:29:07 ]
IEの操作をWSHで自動化しようとしたのですが、iframeの中の要素がどう頑張っても触れません。
なんかXSS対策でそういう仕様みたいですが、なんとか回避方法は無いのでしょうか?
あるアプライアンスのGUI操作を自動化したいんです。

645 名前:644 mailto:sage [2009/02/11(水) 22:22:38 ]
とりあえずnetshのportproxyを使ってlocalhost宛のアクセスで操作できるようにして誤魔化せました。
もしもっとスマートな方法が有れば御教授をお願い致します。

646 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 01:35:46 ]
iframeの中の要素も触れたと思う

647 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 18:27:32 ]
>>644
mshta.exeで開けばよい

648 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 04:00:13 ]
>>639
ほんまや。どこに書いてあるんだこれ

649 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 15:43:46 ]
for(var p in this) WScript.Echo(p);

650 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 17:49:12 ]
いきなりどうしたの?

651 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 17:50:35 ]
すみません。
jscriptでwshを学ぶ本ってないですか?



652 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 17:55:27 ]
ぐぐれば?

653 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:08:17 ]
なるほど
ありがとうございました

654 名前:デフォルトの名無しさん [2009/02/13(金) 21:02:00 ]
あるシミュレーションソフトの稼働率を出すことを考えています。
稼動していると判定したい条件は下記のOR判定としたいです。
(1)コンピュータを操作中(アイドル状態でない)
(2)当該ソフトが起動していて、かつCPU使用率が一定値以上(無人で計算実行中)
上記の時間をカウントするWSHを作れないか考えていますが、
WSHで実現可能ですか?
とくに(1)を拾える関数etcはあるのでしょうか?

655 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 21:41:06 ]
これとか?
ttp://ja.wikipedia.org/wiki/Windows_Management_Instrumentation

656 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:08:46 ]
WMIはCOMですけど

657 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 01:03:53 ]
COMだからWSHで使えるでしょ。

658 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 02:15:52 ]
COMだからWSH以外でも使える

659 名前:648 mailto:sage [2009/02/14(土) 03:49:44 ]
>>649
ウホッthx

660 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 01:37:00 ]
画面をキャプチャしてjpg保存したいのですが、良い方法は無いでしょうか。
imagemagickを使えば可能だと思いますが、できるだけ汎用的に使える方法でやりたいです。
wia.scriptを使えばなんとかならないだろうかと思いつつ、よく分からず悩んでいます。

661 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 02:12:28 ]
>660
ttp://www.vector.co.jp/soft/winnt/art/se434911.html がコメント・評価欄ともども
参考になる気が・・・と思ったが、"imagemagick"のようにバッチファイルで使えるツールで
いいのなら"IrfanView"をオススメ。画像表示だけのツールじゃないからね。



662 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 03:05:54 ]
ttp://www.vector.co.jp/soft/winnt/prog/se219120.html

663 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 06:08:23 ]
doodleとか以前はテンプレに入ってたと思うんだけどな

664 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 06:53:05 ]
それはWindows板のスレだ

665 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 07:28:45 ]
ああそうか、勘違いしたスマヌ

666 名前:デフォルトの名無しさん [2009/02/15(日) 18:00:24 ]
666

667 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 16:56:49 ]
VBSをはじめて使うのですが
RunメソッドやExecメソッドで起動したソフトをSendKeysではない方法で
制御(入力フォーラムに書き込んだり)することは可能でしょうか?

668 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:01:38 ]
可能

669 名前:667 mailto:sage [2009/02/16(月) 17:21:54 ]
>>668
早速の回答どうもです。
ググッたりして探してみます

670 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 02:21:16 ]
ほんまかいな

671 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 15:16:14 ]
不可能?



672 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 15:52:25 ]
そんなこと無いけど

673 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 16:16:38 ]
可能?

674 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:10:50 ]
どっち?

675 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 23:48:06 ]
可能

676 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 00:14:10 ]
なるほど
ありがとうございました

677 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 05:44:37 ]
そんな事できるならSendKeysいらなくね?

678 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 07:05:54 ]
そんなことない

679 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 13:10:10 ]
なるほど
ありがとうございました

680 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 13:42:14 ]
SendKeysできるならそんな事いらなくね?


681 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 18:58:24 ]
そんなことない



682 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:26:17 ]
なるほど
ありがとうございました

683 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:10:57 ]
SendKeys "日本語だめだし"

684 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:58:29 ]
ABC.vbs(←自作)の二重起動を防止したいのですが、
後から起動したVBSを無効にする(起動してもすぐに終了させる)方法は見つけたのですが、
二重起動した場合、初めに起動しているvbsを強制終了させて、後から起動したvbsを有効にする方法はありませんか?


もう一つ。

vbsを実行して、vbsが待機中であれ、何かの処理中であれ、
実行して(約)10秒後に、強制終了する方法ってありますか?

685 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:40:39 ]
> vbsを実行して、vbsが待機中であれ、何かの処理中であれ、
> 実行して(約)10秒後に、強制終了する方法ってありますか?

使ったことないけど、cscript //T: オプションではだめか?

686 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:17:17 ]
WScript.Timeout

687 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:00:11 ]
>>684
前者はWMI使って、Win32_ProcessのName='Wscript.exe'の中で
CommandLineにWScript.ScriptFullNameを含む物が2つ有ったら
CreationDateが古い(小さい)方をTerminateすれば良い

688 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 03:48:29 ]
外からWScript.QuitやWScript.Timeoutできればいいのに

689 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 06:43:11 ]
WSHがCOM(ActiveX.exe)だったら、それも出来たんだろうけどな

690 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 15:50:48 ]
WSHはCOMだから出来るよ

691 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 17:02:52 ]
知らないものは存在しない



692 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:13:47 ]
出来ないことでも、出来ると言い張ってゴネるだけなら簡単

693 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:21:22 ]
ぐぐれば?

694 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:55:19 ]
ぐぐればわかることでも、出来ないと言い張ってゴネるだけなら簡単


695 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:11:36 ]
ググってみたら解った
やはり出来ないようだ

696 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:17:03 ]
>>695には無理だってw

697 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 02:19:01 ]
不毛だ

698 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 02:26:15 ]
出来ると言ってる奴は、出来るという証拠を出すだけで
簡単にで出来ないと言ってる奴を有無を言わさず論破出来るのに
そんな簡単なことすらしないということは・・・・・( ̄ー ̄)ニヤリッ

699 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 03:28:49 ]
できないと思っているなら放置すればよいのにw

700 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 03:35:57 ]
負け惜しみ?

701 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 04:37:10 ]
一度出来ると言ってしまった手前、引っ込みが付かなくなってしまったんですね。わかります。




702 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 15:10:44 ]
一度出来ないと言ってしまった手前、引っ込みが付かなくなってしまったんですね。わかります。


703 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 15:11:30 ]
勝ち惜しみ?

704 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 16:46:17 ]
で、どっち?

705 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 18:46:34 ]
不可能?

706 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 18:54:22 ]
そんなこと無いけど

707 名前:デフォルトの名無しさん [2009/02/24(火) 19:13:57 ]
ハッカー師兄の人たち教えてください。
あるサイトに動画ファイルを置いて、自分のブログからリンクした時に
動画が開かずに、ファイルに直接リンクするなと警告ページが表示されます。
ブラウザ(IE6)のRefererがリンク先ではなく私のブログサイトになって
いるのが原因ですが、リンク開く前にプログラムからRefererを変更することは
できないでしょうか?

1.今までの調べでは単純にJavaScriptで
  document.referer="www.aaa.com/";
と書き換えるのは無理でした。(document.refererは参照のみ可)

2.createobjectからxml2requestのoleを使ってrefererを書き換えて
バイナリデータを取得できましたが、この方法だと取得したバイナリを
どのようにwindow.documentオブジェクトで表示させれば良いかが
分かりません。

もう少しで出来そうな気がするのですがググっても解決方法が
見つかりません。アドバイスをお願いします。


708 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 19:22:41 ]
>>706
さんくす
ではやふって探してみます
ぐぐっても見つからないようなので

709 名前:デフォルトの名無しさん [2009/02/24(火) 19:28:14 ]
>>687
やったことないし思いつきですが非同期でプロセス起動する方法を
調べたら良いのでは?子プロセス起動10秒後に親が子を消すように
すればできる気がします。


710 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 21:55:13 ]
強制終了はよくないって聞くけど本当なの?

711 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 22:41:07 ]
強制終了が何故良くないのか解ってない人にとっては良くないね。
解ってればある程度の事前対処も出来るのだが。

まぁWSHに限らずの話でスレ違いになるから詳細は伏せる。



712 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 22:48:50 ]
>>707
Document.Refererはドキュメント取得時のRefererが記録された、言わばログなので書き換えても無意味。
書き換えるならHttpRequestHeaderの送信情報を書き換えないといけない。
HttpRequestHeaderを指定できるJavascriptライブラリなど探せば幾らでもあるだろ。
例えばこれとかな↓

www.s2factory.co.jp/tech/prototype/prototype.js.html#Ajax.Request


713 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 23:13:27 ]
>>707
window.navigate2 によるページ遷移ならパラメタにリクエストヘッダ指定できる
ただし、セキュリティの問題とかのからみがあるので正常動作するかは知らん


714 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:41:18 ]
>>705
肯定

715 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:53:39 ]
強制終了するとCOM参照の解放が行われないから、
アウトプロセスサーバが終了しないで残ったりするから、
やめといたほうがいいよ。

716 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 03:10:57 ]
Timeoutの終了だとCOM参照の解放が行われるようだから
>>688方式がお勧めだよ

717 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 03:22:07 ]
出来ない方法がオススメって・・・・・
あっ、「もし出来るのなら」ってことか

718 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 03:34:30 ]
COMがどういうものか解ってない人にとっては出来ないかもね。


719 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 03:39:08 ]

出来ると言い張る奴は居るが
出来ることを事実として示せる奴は居ない件について

自分だけは解ってるようなことを言う奴は居るが
具体的な理論を述べられる奴は居ない件について


720 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 03:46:40 ]
>>718
まぁWSHに限らずの話でスレ違いになるから詳細は伏せる。

721 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 07:08:03 ]
本当は自分でも間違ったことを言ってることに気付いてるが
引き下がれず必死に誤魔化そうとする姿は滑稽だな。



722 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 08:10:36 ]
初心者なんだから許してやれよw


723 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 08:59:36 ]
>>720
残念、WSHに限った話だ

724 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:09:09 ]
WSHスレってどういうことを語り合うの?

WSHを利用するのはスクリプト言語で、****scriptの話をしちゃいけないっていうじゃない。

じゃ何を話すの?

725 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:15:35 ]
話題転換?

726 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:32:58 ]
>>724
WSHで実行したスクリプトから、WSHで実行されてる別のスクリプトを
WScript.Quitする話とか。

これは言語の話ではなく、純粋なWSHの話だ。

727 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 11:21:59 ]
話題転換失敗
出来る厨、涙目w

728 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 19:16:06 ]
WScript.QuitはWScript.Sleep中は効くけど、MsgBox中などは効かない。
WScript.TimeoutならMsgBox中も効くので、使い分けてね。

729 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 13:37:29 ]
なるほど
ありがとうございました

730 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 10:47:05 ]
Windows XP SP3、WSH 5.7、Access 2003 VBA

フォームにCommandButtonとListBox(値リスト)を貼り付けて、

Private Sub コマンド0_Click()
Dim objShell As Object
リスト1.AddItem "AAA"
Set objShell = CreateObject("WScript.Shell")
Call objShell.Run("%ComSpec% /C SYSTEMINFO", , True)
Set objShell = Nothing
MsgBox "おわり"
End Sub

リスト1.AddItem "AAA" を

・コメントアウトするとRunが実行完了まで待機する
・コメントアウトしないとRunが実行完了まで待機しない

みんな、この現象が起きる?

731 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:39:35 ]
すれ地外が出てきませんように



732 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:39:16 ]
Excel2007では起きない
.Popup "aaa",5 はだめだけど

733 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:50:09 ]
VBSを使って、親ディレクトリ配下のサブディレクトリの中身の表示方法を「縮小版」に変更しようと思う。
ディレクトリの表示を変更するため、Windowsを制御する「 Windows API関数」を使えばいいというのは
分かったんだけど、肝心の「フォルダの表示方法を変更する関数」が見つかりません。
そこで以下の質問。

Q1.そもそもVBSで実現することは可能か?
Q2.「 Windows API関数」で縮小版の制御はできるのか?

調べてはいるんですが、何の成果もあがりません。
質問スレで聞いたらここに誘導されたので・・・。
お願いします。

734 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:59:49 ]
>>733
よく分からん
既存のエクスプローラの挙動を変えたいのか、
縮小表示のエクスプローラを起動したいのか、
自前のアプリに縮小表示の機能を作りこみたいのか
まず、何をしたいのかをはっきりさせてくれ

735 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:06:42 ]
>>733
A1.WSHとVBSの機能では不可能
A2.そもそもWSHやVBSはWinAPIを呼べない

COMと呼ばれる汎用コンポーネントを介すことで
実現自体は不可能じゃないけどね
どうしてもやりたければ、WSHやVBSではなくそっち方面を調べること

736 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:08:53 ]
WSHはCOMですけど?

737 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:09:54 ]
WindowsAPIじゃなくてExplorerAPI使わないとね!

そんなんあるのか?

738 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:12:32 ]
ActivePerlからWin32API呼べますけろ?

739 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:14:13 ]
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31949&forum=7

740 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:14:58 ]
>>736
知ってますよ
幾人かの妄想上ではWSHがCOMだってことくらい

現実世界ではそれを証明できずに論破されましたが

741 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:21:48 ]
「知る」と「分かる」の違い?



742 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:28:03 ]
ttp://ja.wikipedia.org/wiki/Windows_Script_Host
正確にはWSH=ActiveScripting(COMを利用してる)のホスト。

広義ではCOM(COMに関係する)だけど、狭義ではCOMそのものではない。

743 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:33:47 ]
関連する、と、広義に当てはまる、は違う件について。

というか、外からWScript.QuitやWScript.Timeout出来るって話はどうなったの?
これの具体例出せれば、WSHがCOMだという現在敗色濃厚な主張も一発逆転じゃん。

744 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:42:10 ]
COMの話はどうでもいいが、本当にそれが出来るなら俺も知りたいね

745 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:24:06 ]
エクスプローラはCreateObjectできないけれど、
COMだからオブジェクト参照は別途入手して、
その内部オブジェクトのShellFolderViewのオブジェクト参照を
WSHの変数に設定すれば、
objFolderView.CurrentViewMode = viewMode
のように使えるのだ。わかるか?

746 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:41:43 ]
知ってるけどそれがどうかしたの?

747 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:44:01 ]
知っててわからんとは
まっ多少なりとも応用力がないと役に立たんみたいやね


748 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:46:34 ]
ttp://ja.wikipedia.org/wiki/Component_Object_Model#.E6.8A.80.E8.A1.93.E7.9A.84.E8.A9.B3.E7.B4.B0

749 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:48:20 ]
>>747
何勘違いしてるの?

750 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:52:04 ]
>>743
ScriptContorlでWScriptを渡すのはいいのかな?
元々の要望通りになるとは思えないけど。

751 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:02:19 ]
>>748のCOMの定義にあるインターフェイスを介す方法でよろしく
それ以外の方法で参照を取って操作したところでCOMとは言えないし



752 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:12:07 ]
え〜と、IUnknownを実装していてoleview.exeやExcelの参照設定からでもオブジェクトの内容を見れたとしても、それでもCOMではないと言い張るんだ?
Windows Script Hostの略称「WSH」とスクリプトからグローバルに参照できるインスタンス「WSH」を混同してるわけ?

753 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:15:32 ]
はぁ?

754 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:18:40 ]
ふわぁ〜眠

755 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:28:40 ]
COM serverはCOMだけど、COM ClientはCOMじゃない、みたいな言い方だな。

748をじっくり読めば分かるけど、COMってのはインターフェース等の通信規格の事で、
COM ClientがCOMじゃないって言うなら、COM ServerもCOMじゃないんだが。

756 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 03:24:39 ]
何見当違いなこと言ってキレてるんだ?

757 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 19:14:29 ]
>>735が恥ずかしさのあまり誤魔化そうと暴れまわってるんじゃなかろうか

758 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 19:17:14 ]
WScript.Quitと言えばこんなことも
ttp://blog.livedoor.jp/sage_p/archives/51376139.html

759 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 21:02:59 ]
>>757
残念ハズレ

760 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 22:00:56 ]
          . '   _ 二二 _ .、
          /    /´ -‐…‐- .`\
        /     /´    i   !`ヽト、
.    ,ヘ  ,'   i    !  !  | |i  |ハ i ヽ キリッ
   /  ゝ!  ノ|  ! !::__!::ノ ´  ̄  i::.i |!
   \  .| .:i i :i i |´   \  / `!、ハ:!
      `ヽi  从 i i | ニニミ    .ニニ !:::::|
.       |  YハiハN  {r::リ`  ´{r::リ '::::N    < 残念ハズレ
.       |  ヽゝ   ´´     ``ハ!`      
.       |∧   Y!        ′ ,':::|
       j/∧  _!::} 、   ⊂' ..イ:::::|
      ///∧´ ∨  `  ,.... ィ´゙Y:::::|
.     /////∧ ヽ    {ト、∧ |::::::!
     ,< ̄ ̄∧  } `ヽ  >''} { ̄`ヽ
.    /   `ヽ:::::::::Y´ヽ      i´`∨::::∧
   /      ∨:::::| .:: !       i .:.: !::::/ i
           _ ___
        ,. :'´: :,. -―‐-ミ:ヽ、
      /: : : :厶ィ': ´ ̄ ̄ヾ : :\
      /: : : : : :.!: :M: : : : : }、: ヽト、:.\   <じゃっておwww
     i: : :.!: : : レ‐' ` ̄⌒ ⌒" トヘ:ハ!
   ト--|: : :.!: : 、|  ー‐'' ´ `'ー  }: :.ト
  ミ ミ ミ : :!: : : :! z=≡   ≡z.{: :.ハ    ミ ミ ミ
 /⌒)⌒)⌒.ハ :_Nとつ \\\ C VVリ   /⌒)⌒)⌒)
 | / / /:弋こ \ヽ __,.   } (⌒)/ / / //
 | :::::::::::(⌒) : :}\  /   1  /  ゝ  :::::::::::/
 |     ノくf⌒Y ` {_  _,ノイ|    /  )  /
 ヽ    /  ヽ ヘ,、  _「 |::!:::::}   /    /     バ
  |    |   l||l 从人 l||l.!::|イ:::ヽ_./ l||l 从人 l||l  バ  ン
  ヽ    -一''''''"~~``'ー--、/:::::イ;  -一'''''''ー-、    ン

761 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 22:32:15 ]
必死になってAA探してくるほど悔しかったの?



762 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 23:00:23 ]
>>761
かわいそうだからそっとしておけ。

763 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 23:24:22 ]
A1.WSHとVBSの機能では不可能
A2.そもそもWSHやVBSはWinAPIを呼べない

COMと呼ばれる汎用コンポーネントを介すことで
実現自体は不可能じゃないけどね
どうしてもやりたければ、WSHやVBSではなくそっち方面を調べること

764 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 23:54:32 ]
そんなに怖い顔してモニターを睨まないでください

765 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 00:49:54 ]
反撃したいなら、間違ったこと書いてるレスをコピペしないと反撃にならないぞ

766 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 01:37:17 ]
VBSもCOMですけど

767 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 01:39:21 ]
JScriptもCOMですけど

768 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 03:01:44 ]
┐(´ー`)┌

769 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 03:09:20 ]
COMMAND.COM も COM ですけど

770 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 03:40:59 ]
完全に論破されて壊れちゃったんだね

771 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 12:55:13 ]
>733
 AppActivate() で目的のウィンドウを手前に持って来る
 → SendKeys()
 
 …で十分みたいな気がするのは俺だけか?



772 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 14:00:02 ]
COMで確実に操作できるのにわざわざタイミングのむずかしいSendKeysを使うものか

773 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 14:14:26 ]
WScript.Echo('JScriptはCOM',typeof(new Object()),'ですけど');

774 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 14:30:12 ]
sub sub1()
end sub
msgbox "VBScriptはCOM " & typename(getref("sub1")) & "ですけど"


775 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 14:57:00 ]
MORE.COMはEXEですけど

776 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 19:23:16 ]
結局勘違いして大法螺吹いてるだけだったわけだ。
何か俺等の知らない高いスキルでも持ってるのかと少しは期待したが
出てきた物は糞の足しにもならない言い訳がましい勘違い屁理屈ばかり。
格下と解りゃ煽っても踊らせても何も得る物は無いわけだから
あとは玩具として楽しめれば上等って話だな。

777 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:52:55 ]
「ググレカス」は
大見得切ってみせたものの出す物出せない忍者ハッタリくんの
隠れ身の術の呪文なんだよ^^

778 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 20:32:59 ]
真珠を投げないでください

779 名前:771 mailto:sage [2009/03/05(木) 20:53:21 ]
>772
 
 ホントだ、試してみたら >>745 の CurrentViewMode を使う方が
 便利だわ。収穫だった、thx

780 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 23:21:47 ]
>>778
"真珠"は投げられてない

781 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 02:31:06 ]
>>745の中にキラッと光るものが、、、あっ真珠だ!



782 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 02:45:52 ]
自分で垂れ流した糞を褒め称えてりゃ世話無いぜw

783 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 02:57:38 ]
ヒントを与えすぎたかと思ったがわからんかったようやね?よかったよかった

784 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 03:10:25 ]
ヒントどころかズバリ書いちゃってるじゃん
アレでわかんない奴なんて居ないよ

785 名前:ショートカット mailto:sage [2009/03/17(火) 22:58:26 ]
ショートカットの指してる先のファイルをNTFSパーティーション上で
移動したりすると
元のショートカットそのものも次にダブルクリックしたときに
自動的に更新するよね?
(知らなかった人は試してみ?)

そんでこの自動更新を一個一個ダブルクリック等せずに
WSHでやる方法ないですか?

画像のショートカットが大量にあって
リンクが外れてサムネイルがみれなくなってしまって困ってるんだ
(もちろんダブルクリックすれば見れるようになるんだけど、数がおおくてめどい)

これじゃおちおち画像の整理もできやしないよ!

786 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 23:03:03 ]
WshShotcut Resolve

787 名前:ショートカット mailto:sage [2009/03/18(水) 00:03:00 ]
Resolveてなに?

788 名前:ショートカト mailto:sage [2009/03/18(水) 00:48:35 ]
WshShortcutオブジェクトでResolve試してみたけど

オブジェクトでサポートされていないプロパティまたはメソッドです XXX.Resolve

てなっちゃったよ
XXX.Resolve 4
XXX.Resolve = 4
両方同じ

具体的にどうやってResovlveすんの?
一応WSHは5.7でVBScript

789 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 00:56:33 ]
shell.application
folderitem.getlink.resolve

790 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 01:00:56 ]
元ファイルのフォルダごとリンク先を変えたのなら、
Shortcut Director というツールで一括変更できる。

WshShortcut の Resolve はリファレンスにあるけど、存在しない。

791 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 01:03:08 ]
saveし直せばいいんじゃね



792 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 01:55:45 ]
ショートカットファイルを複数D&D。
でも当方Vistaで削除しますか?っていわれちゃう。
-----------------------------
Option Explicit

Dim shellapp
Dim fso
Dim fc
Dim fcItem
Dim lnkFile
Dim objlnk
Dim e

Set shellapp = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")

For Each lnkFile In WScript.Arguments
Set fc = shellapp.NameSpace(fso.GetParentFolderName(lnkFile))
Set fcItem = fc.Items
For Each e In fcItem
If e.Path = lnkFile And e.IsLink Then
Set objlnk = e.GetLink
objlnk.Resolve(4)
objlnk.Save
End If
Next
Next

WScript.Echo "Done."
Set fso = Nothing
Set shellapp = Nothing


793 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 03:41:20 ]
set e=fcItem.item(fso.GetfileName(lnkFile))


794 名前:ショートカット mailto:sage [2009/03/18(水) 07:36:45 ]
みんなありがとう
今日帰ったら早速試してみるよ
>>789-793

795 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 15:29:21 ]
自宅のXPマシンだと出来た。
OSの追跡機能をOFFってるとそもそもだめなのね。
>>793反映版。

Set shellapp = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")

For Each lnkFile In WScript.Arguments
Set fc = shellapp.NameSpace(fso.GetParentFolderName(lnkFile))
Set fcItem = fc.Items
Set e = fcItem.Item(fso.GetFileName(lnkFile))
Set objlnk = e.GetLink
objlnk.Resolve(4)
objlnk.Save
Next

WScript.Echo "Done."

796 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 14:26:34 ]
俺は追跡はウザイだけなので切ってるよ。

797 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 14:54:30 ]
そもそもショートカットっていらなくね?

798 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 16:28:11 ]
つかえないやつにかぎってそういうんじゃね?

799 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 17:58:52 ]
データに対するショートカットって使わないな。
ハードリンク使うし。

800 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 18:10:22 ]
うん。ランチャとジャンクション使うよ普通は

801 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 18:52:59 ]
.wshのショートカットって使わないな。
.lnkのショートカット使うし。




802 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 18:54:51 ]
WSHって使わないな。
PowerShell使うし。

803 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 19:37:41 ]
PowerShellって使わないな。
AppleScript使うし。

804 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 19:56:04 ]
> AppleScript
どこら辺を笑えばいいの?

805 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 20:21:43 ]
あまりの滑りっぷりの寒さ

806 名前:デフォルトの名無しさん [2009/03/21(土) 11:46:27 ]
#!/bin/bash
hostname
who is god
hostname | sed 's/^[^\.]*\.//'

# VBSでやるとしたら
#Option Explicit
#
#Dim WSHNetwork
#Set WSHNetwork = WScript.Createobject("WScript.Network")
#
#WScript.Echo "ドメイン名  :" & WSHNetwork.UserDomain
#WScript.Echo "ユーザー名  :" & WSHNetwork.Username
#WScript.Echo "コンピューター:" & WSHNetwork.ComputerName


807 名前:デフォルトの名無しさん [2009/03/21(土) 11:47:47 ]
#!/bin/bash
sed 's/ようこそ/Welcome/g' youkoso.txt > welcome.txt

# VBSでやるとしたら
#Set fso = CreateObject("Scripting.FileSystemObject")
#Set regEx = New RegExp
#Set inFile = fso.OpenTextFile("C:\TechEzo\Round23.txt")
#Set outFile = fso.CreateTextFile("C:\TechEzo\Round23_2.txt")
#
#regEx.Pattern = "ようこそ"
#repStr = "Welcome"
#Do Until inFile.AtEndOfStream
# tempLine = inFile.ReadLine
# repLine = regEx.Replace(tempLine, repStr)
# outFile.WriteLine repLine
#Loop
#
#inFile.Close
#outFile.Close

808 名前:デフォルトの名無しさん [2009/03/21(土) 11:52:56 ]
MSがWSHを半ば見限ってPowerShellを開発したのは当然のこと。
上記二例からわかる通り、WSHでは
非開発者の管理者やエンドユーザには負担が大きくなるからだ。

809 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 13:13:07 ]
わかってないなぁ
M$は普通の人にPCを便利に使ってもらう必要はない
直感的に操作できるようにして便利だと錯覚させればOKだから

それに、一般人に簡便なスクリプト言語与えたら、簡単なツールで金取ってるような無能が失業するだろ
色んな意味で、馬鹿にはコンビューティングに目覚めないでもらったほうが都合がいいのさ

810 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 14:12:53 ]
PowerShellなら
(cat youkoso.txt) -replace "ようこそ","Welcome">welcome.txt
でいいんだもんな。リダイレクションだとUnicodeになっちゃうからOut-Fileを使う方がいいんだろけど。
WSHはエディタの補完機能がないと全く書く気になれない。

811 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 14:24:17 ]
> 上記二例からわかる通り
そんな不適切な例で、何が解るって言うつもりだ?

君がやってるのは、「四則演算は電卓の方が手軽だからPCはこの世に必要ないものです」と同じ事。
電卓側が手軽になる例だけ挙げて、その逆やましてや電卓で不可能なことには触れていない。

本気で書いてるなら「視野が狭い」と言うべきだが、きっと故意にやってるので「頭が悪い」と言った方が正しいな。



812 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 15:41:01 ]
> 上記二例からわかる通り
「頭が悪い」

813 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 15:47:49 ]
実にくだらない争いを見た。

814 名前:デフォルトの名無しさん [2009/03/21(土) 16:57:26 ]
PowerShellやbashより簡単になる例ってどんなのがあるの?

815 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 17:01:31 ]
すれ違い

816 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 17:02:57 ]
しつこい

817 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 19:00:47 ]
>>807
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile("C:\TechEzo\Round23_2.txt").Write Replace(fso.OpenTextFile("C:\TechEzo\Round23.txt").ReadAll,"ようこそ","Welcome")


818 名前:デフォルトの名無しさん [2009/03/21(土) 21:19:05 ]
>>817
それでもbashより面倒なのがイタいな

819 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 21:25:09 ]
そんなに行数、文字数減らしたかったら、
sed win32版を使えばいいだけ。あとはcygwinでも使え。
比較すること自体が嫌がらせ。荒らすなよ。

820 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 22:00:41 ]
>>818はsedをbashだと思ってるのかな?

821 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 22:05:54 ]
というか >>807 の「VBSでやるとしたら」のコードが面倒過ぎなだけだろうもん。

Set oShell = CreateObject("WScript.Shell")
oShell.Exec("cmd /c more > C:\TechEzo\Round23_2.txt").StdIn.Write _
sText = Replace(oShell.Exec("cmd /c type C:\TechEzo\Round23.txt").StdOut.ReadAll, "ようこそ", "Welcome")



822 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 22:06:54 ]
間違った・・・・。

Set oShell = CreateObject("WScript.Shell")
oShell.Exec("cmd /c more > C:\TechEzo\Round23_2.txt").StdIn.Write _
Replace(oShell.Exec("cmd /c type C:\TechEzo\Round23.txt").StdOut.ReadAll, "ようこそ", "Welcome")

823 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:11:20 ]
perl(Active) や PHPから使えばいいじゃん。

824 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:18:30 ]
@if(0)==(0) CScript.exe //NoLogo //E:JScript "%~f0" <youkoso.txt > welcome.txt & GOTO :EOF & @end
WScript.StdOut.Write(WScript.StdIn.ReadAll().replace(/ようこそ/g,"Welcome"));

825 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 03:22:35 ]
WSHでの正規表現の扱いは、確かに面倒ではある

826 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 03:45:23 ]
その代わりに柔軟だけどね

827 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 04:26:12 ]
> 上記二例からわかる通り
ほんとよく分かった。もっと勉強してから出直せよ

828 名前:ショートカット mailto:sage [2009/03/22(日) 14:16:58 ]
>>799
>>799

おーハードリンクいいですね

早速ショートカットをハードリンクに置き換えるスクリプトでも、、

と思ったんだけどひとつ素朴な疑問。

同じ内容の2ファイルが
ハードリンクなのか別コピーなのか識別する方法って
どうやるの?
(内容がFC /bとかで一致してるのがわかってるとして

829 名前:ショートカット mailto:sage [2009/03/22(日) 14:17:56 ]
さすがに
試しに片方のファイルに追記してみるとかはなしで

830 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:43:41 ]
ハードリンクの意味わかってるか?

831 名前:ショートカット mailto:sage [2009/03/22(日) 17:27:38 ]
>>830
その質問は本人に聞いても意味ないでしょ



832 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:28:07 ]
>>830
質問の意味わかってるか?


833 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:35:55 ]
fsutil objectid query ファイル名
の結果が一致したら実体が同一ってことのはず。

834 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:45:30 ]
リンクカウントは?

835 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:50:50 ]
カウントだけじゃ
・AとBが同一内容で実体が別
・それぞれA=A'とB=B'のハードリンクが存在する
というケースで誤認するはず

836 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:54:17 ]
そうじゃなくてリンクカウント調べるには?


837 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 18:14:17 ]
objectidが一致するファイル名を数える

838 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 18:15:18 ]
だからリンクカウントじゃハードリンクの存在しかわからないから
誤認する可能性があると言ってる。厳密にやる必要性については知らん。

839 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 00:11:43 ]
GetFileInformationByHandle()つかうみたいね

840 名前:618 mailto:sage [2009/03/23(月) 00:52:03 ]
>>836
「リンクカウント調べる の は?」
と空目してた。正直すまんかった

841 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 21:34:37 ]
IE8 入れたけど、htmlfile から window オブジェクト取得して
userAgent 調べると MSIE 7.0 のままなんだけど、何故に?

IE から調べるとちゃんと MSIE 8.0 が表示される。



842 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 23:39:00 ]
IE8、正式版と言うわりには色々おかしいような
WSH関係無いけど、SSLのクライアント証明書が使えなくなった

843 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 20:59:43 ]
>>841
べつのdllなんじゃろうて
その理由はきっとこぴぺ開発
もっともらしく言えば既存環境に影響を与えないように環境を二重にしたとか

844 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 03:05:21 ]
確かに htmlfile と IE の window オブジェクトは色々違いあるね。
前者は特にクリップボードに書き込みできないのが勿体無い。

845 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 10:17:45 ]
それは単にセキュリティゾーンの設定

846 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 11:10:30 ]
prompt()がだめとか

847 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 00:10:40 ]
wsfの拡張子を他のに変えてWSHに渡すと
「ファイル拡張子 ".xxx" を持つスクリプト エンジンはありません。」
って言われるんだが、内容はwsfの様式で、拡張子が.wsfではないファイルを
wsfとして実行させるにはどうしたら良い?

.wsfはwscript.exeの通常実行のままで、他を拡張子毎にcscript.exe実行やデバッガ実行などを
既定動作にしたいんだが、.wsf時には正常に実行できるファイルでも、拡張子を変えた途端にエラーとなる。
デバッグの有無(//D)なら、<?job debug="true" ?>で済むが
デバッガ実行(//X)とかcscript.exe実行とかはxml要素での指定が出来ないし。

スクリプトで自身を実行し直したり、ラッパー噛ませたりと妥協策は有るには有るが
そういう姑息な方法ではなく、別拡張子を直接渡して問題なく実行できる方法が有ったら教えて欲しい。

848 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 00:15:15 ]
ない

849 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 00:17:29 ]
?script.exeの名前を変えてバイナリ書き換え

850 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 02:48:41 ]
短いファイル名を使えばできるかも

851 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 03:47:59 ]
拡張子を偽装するほうが、”姑息な方法” だと思うが。姉歯か?おまいは・・・

バッチで
CD /D %~dp1
IF %~x1==.wsf wscript.exe %1
IF %~x1==.vbs cscript.exe %1
IF %~x1==.unko cscript.exe //X %1
みたいなのを作って、ドラッグ&ドロップするのが簡単




852 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 03:54:39 ]
知らないのに無理にレスすんな

853 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 16:51:02 ]
ショートカットで我慢しろ

854 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 19:24:03 ]
なるほど
ありがとうございました

855 名前:847 mailto:sage [2009/03/30(月) 19:50:17 ]
>>848
ご存じありませんか。

>>849
それが出来るならそれでも良いんですが、バイナリをいくつかの文字コードで検索してみたところ、
使用方法説明の「//Job:xxxx Execute a 【WSF】 job」や、無関係な「Windo【wsF】older」しかヒットしません。

「もしかしたらこれで出来るかも」という思いつきなら、残念ながら出来ないようですということになりますが
間違いなく出来ると言うなら、書き換えるバイナリアドレスを教えてください。

>>851
取り違えられているようなので、今一度説明します。
問題は、拡張子によって実行コマンドを変える方法ではなく、
.wsfの拡張子を変更した物を渡して実行させる方法です。

他人の目を欺く偽装ではなく、自分の環境での話なので、
拡張子によって実行コマンドを変える部分は関連付けの変更により既に解決しています。
847でも書いた通り、問題は関連付けで既定動作(つまりダブルクリックやEnterキー押下で
wscript.exeやcscript.exeに渡るよう)にした上で、渡されたファイルが実行されないことです。

そのバッチも無意味で、.vbsを.unkoとしたものなら
IF %~x1==.unko cscript.exe //X //E:VBScript %1
で実行されますが、.wsfを.unkoとしたものでは>>847の2行目で書いたエラーが出るだけです。

>>853
妥協策としてはショートカットよりはラッパーを選びます。



今のところ、可能であるなら>>849が最有力候補です。
他人のPCで実行させる話ではなく自分のPCでの話なので、システムフォルダ内や関連付けは
自由に弄れますから、>>849が可能なら解決です。

856 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 19:57:32 ]
なんでそんなことしたいん?

857 名前:847 mailto:sage [2009/03/30(月) 20:10:23 ]
>>856
最初にも書いた通り、
> 拡張子毎にcscript.exe実行やデバッガ実行などを既定動作にしたい
からです。

vbsの拡張子をvbcに変えた物を既定でcscript.exe実行に定義する「VBCFile」と同じです。
ttp://www.vector.co.jp/soft/winnt/util/se304538.html
> .VBS、.JSファイルはWScript.EXEか、CScript.EXEのいずれか既定値で起動されます。
> 既定値は変更できますが、すべてのスクリプトファイル起動方法が一律に変わります。
> 例えば、大部分のスクリプトファイルはWScript.EXEで起動し、一部のスクリプトファイルだけを
> CScript.EXEで起動したい、というような使い分けが出来ません。
> そこで、CScript.EXEで起動する専用の拡張子を別に作ります。
> 「.VBS」に対して「.VBC」、「.JS」に対して「.JSC」です。

これを.vbsや.jsではなく.wsfでやりたいというだけの話です。

858 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:13:00 ]
前スレか他スレで昔やってたやついたよ。

859 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:15:14 ]
未解決の前例なんて無いのと同じ

860 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:25:38 ]
wshext.dll内に.wsfがあるけど

861 名前:847 mailto:sage [2009/03/30(月) 20:42:51 ]
>>858
確認してみましたが、>>859さんの言う通り、未解決のまま立ち消えのようです。

>>860
?script.exe以外だと、別拡張子が実行できるようになったとしても
今度は.wsfが実行できなくなって、本来の目的である使い分けが出来ないということになりませんか?



862 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:48:16 ]
VectorにWSFFileがあるだろ

863 名前:847 mailto:sage [2009/03/30(月) 21:26:06 ]
>>862
ありがとうございます。おかげさまで解決しました。
VBCFileと同じ作者のものなのに見逃してました。

864 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 00:57:39 ]
吉岡さんは神

865 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 01:39:03 ]
MVP落ち

866 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 23:43:58 ]
バイナリ書き替えなくても>>850でできるのでは?

867 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 18:39:59 ]
うん

868 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 18:55:59 ]
無理

869 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 19:06:06 ]
有理

870 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:03:54 ]
実際に試してから書いた方がいいぜ

871 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 00:27:23 ]
遅レスだけど、レジストリエディタで↓を参照。>847

HKEY_CLASSES_ROOT\.WSF
HKEY_CLASSES_ROOT\WSFFile\Shell\Open\Command



872 名前:871 mailto:sage [2009/04/02(木) 00:30:51 ]
ちなみにVistaだとコンテキストメニューに「コマンドプロンプトで開く」ってのが
標準装備されてますな。

873 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 00:32:25 ]
>>847を読み直したほうがいいぜ

874 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 14:37:34 ]
なるほど

875 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 15:48:38 ]
なるほど っていいたいだけだろ

876 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 15:56:29 ]
なるほど

877 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 14:45:01 ]
すみません、以前どこかで見たことがあるような気がするんですが
けっきょく捜しきれなかったので質問させていただきます

LAN内のほかのマシンで実行中のアプリ(MSAccess)をリモートから強制終了
させるVBSってのが知りたいのです

878 名前:デフォルトの名無しさん [2009/04/06(月) 14:47:07 ]
あれれ、質問なのにSageちゃった
ごめんなさい
あげさせてもらいますね

879 名前:877 [2009/04/06(月) 16:50:49 ]
自己解決しました。

880 名前:877 [2009/04/06(月) 17:23:52 ]
877です。
879は、私ではありません。

881 名前: ◆877pupbpBk mailto:sage [2009/04/06(月) 17:33:07 ]
本物の877です。
879は、私ではありません。
880も、私ではありません。

とは言え自己解決はしてますのでもう消えます。
この状況ではこの後も私の偽物が出てくるかも知れませんが
以後放置してくださって結構です。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<191KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef