お前ら、wsh使ってますか? Part7at WIN
お前ら、wsh使ってますか? Part7 - 暇つぶし2ch300:名無し~3.EXE
08/09/12 06:57:04 DXz7uta5
>>299
startで最小化あるんですね
ありがとう試してみます

301:名無し~3.EXE
08/09/16 21:31:25 OqBWXUZ3
301

302:名無し~3.EXE
08/09/19 11:28:54 9tqS9cEB
atでサーバをリモートでキャプ取るのできた
キャプソフトはccap.exe スクリーンセーバキャンセルできてPNG保存可能で197KB
exeやvbsをアクセス権フリーな状態のsambaに置いて後は普通にATコマンドのスクリプト書くだけだった


303:名無し~3.EXE
08/10/17 19:19:30 XaGw/LzA
職場でノートパソコンの更新があったが
ひきづつきwshは使えるようだ、よかった。

304:名無し~3.EXE
08/10/31 22:10:39 pltrwarm
webでツールバーとかアドレスバーとか戻るボタンがないブラウザ画面がポップアップすることがありますが、vbsであの状態のIEを呼び出せないでしょうか?

305:名無し~3.EXE
08/10/31 22:25:34 hqP79kIz
MenuBarとかToolBarとか
URLリンク(msdn.microsoft.com)(VS.85).aspx

306:名無し~3.EXE
08/10/31 22:37:56 pltrwarm
おおこんな便利なページがあるんですか!ありがとうございますいろいろ遊んでみます

307:名無し~3.EXE
08/10/31 22:48:15 pltrwarm
あははは楽しいです。
美しくないコードかもしれないけど結果は良好です。

Set IE = CreateObject("InternetExplorer.Application")
ie.menubar=false
ie.AddressBar=false
ie.toolBar=false
ie.visible = true
ie.navigate2 "URLリンク(www.google.co.jp)"

308:名無し~3.EXE
08/11/08 16:14:45 CSQUIZij
そういう書き方しかないべさ

309:名無し~3.EXE
08/11/16 12:13:26 jsDDDVhU
IEで動くVBSを書いていますが、
Setinterval で Subプロシージャを呼び出すときに
引数をSubプロシージャに渡したいのですが、エラーになります。
Googleも調べてみたのですが、解決できていません。

今書いている(エラーになる)コードは

Sub First
ID = window.setInterval("chk(" & a & ")", Time, "vbScript")
End Sub

Sub chk(b)
処理
End Sub

です。引数にはIPアドレスが入っています。

エラーは ')'がありません です。
エラーダイアログの"ライン"は 1 ですが、ソースの1行目はまったく関係ない内容(Dim定義)です。
おそらく、Setintervalの書き方の問題だと思うのですが、どなたかお解かりになりますか?


310:名無し~3.EXE
08/11/16 14:52:18 frYs1RTI
"chk(""" & a & """)"

311:名無し~3.EXE
08/11/30 11:30:40 42N27sG3


312:名無し~3.EXE
08/12/01 02:28:06 tUazuBOQ
質問させてください。
vbsからbatファイルを起動させて、当該batファイルの戻り値を取得したいです。

Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("return.bat")

return.batは正常時0、異常時1を返します。
このbatをvbsから起動させた場合、戻り値はどのように取得できるのでしょうか。
よろいしくお願いいたします。

313:名無し~3.EXE
08/12/01 18:29:13 YhZLL2V/
ExitCode

314:名無し~3.EXE
08/12/01 18:32:18 SxqUT20G
>>312
URLリンク(msdn.microsoft.com)

315:名無し~3.EXE
08/12/03 15:22:38 ZqYgpyCA
Runを使えよ

316:名無し~3.EXE
08/12/04 23:56:02 mdmbOzTn
そんなのしRun

317:名無し~3.EXE
08/12/14 13:59:58 vsQqgwYe
今日初めてVBSを触りました。

IEのコンテキストメニューからパスワード生成を行えるように
したいのですが(ググったらコードでてきたのでそのまま利用)
実行するとInputBoxに書けませんというエラーが出ます。どうしてでしょうか?
メニューに登録したファイルの内容は↓
<SCRIPT LANGUAGE="VBScript">
<拾ったコード>
</SCRIPT>
拡張子はhtmにしてあります。
このファイルを直接ダブルクリックした場合は実行されますが、
右クリックからの起動はうまくいきません。


318:名無し~3.EXE
08/12/14 14:09:33 Pv8LMZtA
>>317
<SCRIPT LANGUAGE="VBScript">
<修正済みコード>
</SCRIPT>

319:名無し~3.EXE
08/12/14 15:36:33 pZTS1TIH
InputBoxは使えんよ
promptに変えろ

320:名無し~3.EXE
08/12/14 17:05:33 vsQqgwYe
むぅ・・・そうなのですか。
やってみます。

321:名無し~3.EXE
08/12/31 13:16:01 rgPn1704


322:名無し~3.EXE
09/01/06 18:31:56 /SR1ia3E
WScript.Echo("あけおめ");

323:名無し~3.EXE
09/01/09 06:16:49 QF8xGOdd
そんなに言うなら・・・ほら、開けましたよ

    \     毛       /
  腿  \_  |   _/
          彡彡彡
          ミミミミ クリトリス
         ミミミミ / ̄ ̄ ̄ ̄
         ノ σ ヽ 尿道
       / / ゚ヽ ̄ ̄ ̄ ̄
大陰唇 / //\\ \
 ̄ ̄ ̄ ̄  ( (   ) ─ 錠前
      \ \\// /
         `   \/  '
\         *─肛門
  \_____/\_____/

324:名無し~3.EXE
09/01/09 16:03:23 Mg2wGxpw
ドメインに参加しているクライアントPC側で、パスワードの変更をすることはできるのでしょうか?
Ctrl+Alt+Del で出てくる「パスワードの変更」と同等の処理をしたい。

325:名無し~3.EXE
09/01/09 17:01:35 Mg2wGxpw
>>324 です。
自己解決しました。
URLリンク(www.vector.co.jp)
これで、やりたいことはできました。

326:名無し~3.EXE
09/01/09 22:38:41 xLY5sfUA
あげ。

>>215
念のために言うと、213は標準出力も標準エラー出力も/dev/nullに落ちるぞ。

327:名無し~3.EXE
09/01/09 23:17:31 lsbTOzQV
うしゅ

328:名無し~3.EXE
09/01/10 01:18:20 NcbVfhx+
>>326
>>217

329:名無し~3.EXE
09/01/15 12:48:53 j2IRk/B4


330:名無し~3.EXE
09/01/21 13:20:20 ngdCDsJZ


331:名無し~3.EXE
09/02/02 11:51:14 g/gk+65f
ho

332:名無し~3.EXE
09/02/06 01:53:11 QaTxAdVH
抽選プログラムを作るのだが、さっぱりです。
配列作って、名前格納して、ランダム数を返してとやろうと思うが、
プログラミング知識がないからどの関数、オブジェクト等使ったらいいかわからない。
わかる人みてたら教えてください。

333:名無し~3.EXE
09/02/06 02:08:13 RtieZEZ2
>>プログラムを作るのだが、

まず、ここが間違ってね?

334:名無し~3.EXE
09/02/06 05:19:21 P6lp/+Jv
>>332
Array、Randomize、Int、Rnd、UBound
変数を宣言するならDim、結果をダイアログ表示するならMsgbox

とりあえずこれで事足りるはず
ここはコード作成依頼所ではないのであとは自分で頑張りましょう

まぁ頑張るのが嫌だから諦めるってなら構わないが
頑張るのが嫌だから全部教えてってのは無しの方向で

335:名無し~3.EXE
09/02/06 14:14:09 92cdMgwW
>>334
ちゃんと教えてやれや

336:名無し~3.EXE
09/02/06 22:17:43 +iF1QBvo
ちゃんとやれよ。
以上。

337:名無し~3.EXE
09/02/06 23:00:35 92cdMgwW








んこ

338:名無し~3.EXE
09/02/07 14:45:14 TgO/tMu7
はいよ。
けっぱれ、VBScript!

Dim arrRes: arrRes = Array("大吉", "中吉", "小吉", "凶", "豚")
Dim iMax: iMax = UBound(arrRes) + 1
Randomize(Second(Time))

Do
If MsgBox(arrRes(Int(iMax * Rnd)), vbOKCancel) = vbCancel Then Exit Do
Loop

339:名無し~3.EXE
09/02/07 15:11:11 3rhOouhW
ありがとうございました

340:名無し~3.EXE
09/02/09 23:20:19 +sxPMNu/
WSHってバッチのGOTOみたいに処理って飛べない?

341:名無し~3.EXE
09/02/09 23:43:05 zHc9nJdI
使う言語次第だな
まあ大抵の言語はサポートしてるんじゃないか

342:名無し~3.EXE
09/02/10 12:32:38 K3mAHF4Y
↓この辺に、アンチ後藤

343:名無し~3.EXE
09/02/10 23:03:08 s6VWMy5j
URLエンコードをJscriptでやろうと思っているのですが
スレリンク(win板:156番)
のスクリプトを拝借したところURL全部がエンコードされてしまいます

URLリンク(www.tagindex.com)でURLを変換した時のような
「://」や「/」だけをエンコードすることはできないでしょうか↓
http%3a%2f%2fpc11%2e2ch%2enet%2ftest%2fread%2ecgi%2fwin%2f1190548945%2f

344:名無し~3.EXE
09/02/10 23:59:22 e11qerpL
URLエンコードをなんだと思(ry
目的がはっきりしているなら置換すりゃいいだけでしょ。

345:名無し~3.EXE
09/02/11 12:41:23 ooGgBaiE
フォルダを指定してコマンドプロンプトを開きたいのですがどのように記述すればよいのでしょうか?

346:名無し~3.EXE
09/02/11 13:08:59 tgWaCZf2
>>345
WshShell のカレント・ディレクトリを指定してから cmd を Run 。

347:名無し~3.EXE
09/02/11 15:49:08 ooGgBaiE
ありがとうございます。
一発のコマンドではできないんですね

348:名無し~3.EXE
09/02/11 16:35:20 CvOFcaSe
1行でってこと?

349:名無し~3.EXE
09/02/11 18:10:18 rw23u0Y9
WScript.CreateObject("WScript.Shell").Run "cmd /C start /D ""C:\Program Files"""
・・・なんかアホっぽい

350:名無し~3.EXE
09/02/11 21:41:53 18BMTdnd
cmd.exe "/K pushd {ディレクトリ}"

351:名無し~3.EXE
09/02/11 22:47:23 bH/mfyuf
入力された値が全角と半角の区別と、数値と文字の判定はどうやってするんだ?
文字で入力された場合にエラーとなるように表示したいんだが、判定がわからないからIf文で制御できないでいる…


352:名無し~3.EXE
09/02/11 23:21:04 ooGgBaiE
>>346-350
ありがとうございました
DOSの奥深さを知りました

353:名無し~3.EXE
09/02/12 00:14:53 nInNR6uz
AscB(MidB(文字, 2, 1))で2バイト目をチェックすれば分かる。
0なら半角
255なら、
 1バイト目を判定して、ある範囲なら半角カナ、それ以外は全角英数。
それ以外は全角

数値判定はIsNumeric使えば?

354:名無し~3.EXE
09/02/12 18:46:38 BS0CoEcR
プロポーショナルフォントのときはどするんだよ

355:名無し~3.EXE
09/02/12 19:00:14 s5GtsH1h
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

356:名無し~3.EXE
09/02/12 19:13:16 Qshlqz+a
どうせなら、シフトJIS以外の文字はどうするの?とか聞きゃいいのにw

357:名無し~3.EXE
09/02/12 19:53:58 6AmfxfN0
ADODB.Stream とかつかって、
Shift-JISに変換してバイトをチェック。

358:名無し~3.EXE
09/02/12 20:11:14 Qshlqz+a
だめだめシフトJIS以外の文字が?に化けちゃう

359:名無し~3.EXE
09/02/12 20:17:06 6AmfxfN0
?は全角としてよいのでなくて?

360:名無し~3.EXE
09/02/12 20:58:32 Qshlqz+a
?が全角でよいのか?

361:名無し~3.EXE
09/02/12 22:15:21 yGo0O3rT
日中韓以外には半角文字しかないよ。全角なんて概念ない。
本格的に考えだしたら、ギリシャ文字やキリル文字はどっち
(現地では半角相当なわけだ)という問題にぶち当たるが。

362:名無し~3.EXE
09/02/12 22:17:16 14FRFwWR
残念!ここは日本でした!

363:名無し~3.EXE
09/02/12 22:38:23 6AmfxfN0
>>357の方法での変換は、確かにShift_JISで当てはまらない文字は?になってしまう。

そもそもシフトJIS以外の文字の全角半角というのがいまいち微妙なのだが。
例えばどういう文字がどう判定されればいいの?

364:名無し~3.EXE
09/02/12 22:43:48 Qshlqz+a
シフトJIS以外の文字と判定されればいいんじゃない?

365:名無し~3.EXE
09/02/13 00:46:46 GyB/HYmf
文字集合と文字符号化形式の区別から始めるのか

366:名無し~3.EXE
09/02/13 01:01:42 em1rkTtF
静聴、静聴、パチパチ

367:名無し~3.EXE
09/02/13 15:27:59 em1rkTtF
どうぞ?
せいぜい蘊蓄を傾けてくだされ

368:名無し~3.EXE
09/02/13 16:27:27 TOy+BjMd
薀蓄は続けるんじゃないの?
耳を傾けるってこと?

369:名無し~3.EXE
09/02/13 16:35:27 em1rkTtF
ぐぐれば?

370:名無し~3.EXE
09/02/15 00:08:45 Kr0N6mCn
InputBox等でOKやキャンセルボタンを表示させないやり方ってありますか?
OKだけ表示とか。
PopUpメソッドだといろいろ表示ボタンがあるみたいですが、
非表示についてはなかったので。

371:名無し~3.EXE
09/02/15 06:05:49 N0kUIzB/
windowのソフトAを画面上半分、ソフトBを画面半分に並べるというこ
とはできますか? たとえばエクセルとワードのときを例にプログラム例を
教えてもらえませんか?


372:名無し~3.EXE
09/02/15 06:08:32 s0W7pGqf
無いよ
欲しければ作るしかない

ScriptFormなどのGUIが作れるCOMでWSHから作るか
お望みのGUIダイアログを持つCOM自体を自作するかはお好みで

そもそもWSHは、目的ドンピシャのことをやるものではなく、
とりあえず結果的に目的が果たせれば良いって時に使う簡易言語なので
足りないならまだしも余分だというのは許容するのが筋ですよ

GUIにも拘って開発したいなら、まともな開発言語使うがよろし

373:名無し~3.EXE
09/02/15 16:32:00 G5QYYO1i
>>371
タスクバーを右クリック→上下に並べて表示

374:名無し~3.EXE
09/02/26 13:40:21 74qHNQ1Q
なるほど
ありがとうございました

375:名無し~3.EXE
09/03/01 21:51:18 gOSlt3Kv
メモ帳がCOMとして扱えるようになると地味に便利なのではなかろうか、とふと思う

376:名無し~3.EXE
09/03/01 23:44:20 3NzW+Snc
ActiveX.exeのテキストエディタなら既にあるが
Win標準のメモ帳でないとダメか?

377:名無し~3.EXE
09/03/02 22:26:34 arqPendI
>>376
メモ帳だとなんかロマン感じるやん?みたいな

378:名無し~3.EXE
09/03/03 13:12:03 BcrRQftY
>375
 禿同、カーソル位置とかだけでも取得できればね~

379:名無し~3.EXE
09/03/03 13:32:14 f8ZUsgB3
WSHから、他のアプリケーションを起動して、キー入力を送るときに
Sleep 100 のようにアバウトな方法で立ち上がるのを待つのではなく、
目的のアプリケーションがしっかり立ち上がった上でキーを送りたいんですが
そういうのを確認?というか通知してくれる機能とかはないですか?

380:名無し~3.EXE
09/03/03 19:29:47 8wLn83/t
>379
ie以外はプロセス監視でcpu使用率みるとかかな

381:名無し~3.EXE
09/03/03 19:36:09 L/JNpHyI
とりあえずAppActivateでウィンドウが立ち上がってることだけは確認できるが
入力を受け付ける段階に達してるかまで調べる手段は無い

CPU使用率も、アテになるものもあれば、アテにならないものも数多く存在する

そもそも、立ち上がり方ってのはアプリによって千差万別なんだから
汎用的な確認方法が有ると思う方が間違いだ

まともなプログラム言語使う場合でも、確認方法は対象に合わせて変えるものだ

382:379
09/03/04 09:37:02 cFHD5IR4
>>380-381
レスありがとうございます。
自分が対象とするアプリケーションでは、
ウィンドウが立ち上がって、且つCPU使用率が0になったら大丈夫そうなので、
その組み合わせでやってみます。

383:名無し~3.EXE
09/03/04 21:31:08 Pr9L9Uwr
WSHではSub以外に呼び出すコマンドある?
Runだと引数渡せないから処理を任せれないんだよね。

384:名無し~3.EXE
09/03/04 22:09:46 mhRd9Fi7
ShellExecute

385:名無し~3.EXE
09/03/04 22:40:02 Pr9L9Uwr
For文で繰り返しの中にIf文で条件付けて、Subを呼び出すと、
Subの処理が終わるとFor文の続きからになるから、自分の思うようにできない。
For文の初期化や、抜けるコマンドってありますか?

386:名無し~3.EXE
09/03/04 22:41:17 Pr9L9Uwr
ShellExecuteですか、調べてみます。
ありがとうございます。

387:名無し~3.EXE
09/03/04 22:52:03 KsZ3PBdL
>>385
Exit For

388:名無し~3.EXE
09/03/04 23:46:37 Pr9L9Uwr
Subの中でExit forつかえない!?

389:名無し~3.EXE
09/03/05 00:02:44 kdsQQi4S
Subの中で使うのではない
Subが終わってからForの中で使うのだよ

Subの中の条件によってExit Forする場合は
SubではなくFunctionにして、返した値によって
Exit Forするようにすれば良いだけの話

390:名無し~3.EXE
09/03/05 01:07:30 kiioCP+g
同じプログラム内で、SubとFunctionの併用は可?

391:名無し~3.EXE
09/03/05 01:30:26 lTIYg1zm
出来ないわけないじゃん

392:名無し~3.EXE
09/03/05 01:39:45 kiioCP+g
単純に構文ミスじゃね?

393:名無し~3.EXE
09/03/05 01:45:47 lTIYg1zm
もしかして、
> 同じプログラム内で、SubとFunctionの併用
ではなく
> 同名のプロシージャを、SubとFunctionの併用
なんてバカげたことしてるのでは?

394:名無し~3.EXE
09/03/05 20:57:05 KZRYQf4w
>379
 AutoItX の ControlSend を試してみるテもあるかな?

395:名無し~3.EXE
09/03/10 01:05:58 xAIJZTrp
var CN = WScript.CreateObject("ADODB.Connection");
CN.Open("DRIVER=SQLite3 ODBC Driver;Database=C:\\test.db");
CN.Execute("CREATE TABLE table1 (id, value);");
CN.Execute(".mode tabs table1;");
CN.Execute(".import import.txt table1");
CN.Close; CN = null;

SQLITEを使ってtest.db・table1を作成してタブ区切りのデータの入ったimport.txtから
データをインポートしようとしていますのですが、上記コードでは4行目で
near".":syntax error(1)のエラーが出てしまいます
コマンドプロンプトから3行目以下のSQL文と同じことをしてもエラーは出ません
どなたか助言をお願いします

396:名無し~3.EXE
09/03/10 08:43:22 j332ggtn
こういうソース見るたびにPowerShellにいけばいいのに、って思ったり

397:名無し~3.EXE
09/03/10 16:54:27 ihqAJi46
>>395
それならコマンドプロンプトを叩いたほうが早くないか?

398:名無し~3.EXE
09/03/10 17:11:24 fEB3/UWG
名前付きオブジェクトのオブジェクト名を省略してるからでねえの?

399:名無し~3.EXE
09/03/11 12:05:01 vW724bJL
>>396
そのソースに関してどのへんがPowerShellのほうに優位性があるのかkwsk

400:名無し~3.EXE
09/03/11 19:40:59 twyHq6vM
400

401:名無し~3.EXE
09/03/11 19:54:07 1yMJqijd
>>398
すみませんちょっと詳しくお願いします・・・
>>397
この先にだらだら他のこともするつもりなので・・・

402:名無し~3.EXE
09/03/12 00:01:37 SOq4v93w
>>401
コマンドプロンプトを叩くというのは、exec/runするってこと
対話的に実行したいならstdin/outを使えばいいし、シンプルでかまわないならコマンドに入出力(入力に関してはあらかじめスクリプトから出力)を指定してもいい
URLリンク(itpro.nikkeibp.co.jp)


403:名無し~3.EXE
09/03/18 18:29:56 1TDARhEw
Set objWSHShell = CreateObject("WScript.Shell")
objWSHShell.Run "notepad.exe まいでーた.txt"

↑を実行するとファイルが無い旨表示され新たにファイルを作るかどうか聞かれます。
これを、聞かれないようにする方法を教えてください


404:名無し~3.EXE
09/03/18 18:32:32 lUi0VL8q
中身は空でいいから先にファイルを作っておけばいい。

405:名無し~3.EXE
09/03/18 18:34:05 1TDARhEw
>>404
ありがとうございました。

406:名無し~3.EXE
09/03/18 19:10:54 mFXZ2vvQ
>>404
objWSHShell.CurrentDirectory =を実行しておく必要がないか?

407:名無し~3.EXE
09/03/18 22:26:49 8Qf0t6c/
別に無いけど

408:名無し~3.EXE
09/04/02 14:38:26 QbNgX8wt
なるほど

409:名無し~3.EXE
09/04/02 16:55:40 +fKY4eWZ
なるほど っていいたいだけだろ

410:名無し~3.EXE
09/04/02 18:58:56 QbNgX8wt
なるほど

411:名無し~3.EXE
09/04/02 23:43:54 qVgeHPAh
ファイル書き込みテストをしたいのですが、
タイムスタンプと書き込み成功、失敗をログに書き出したいのですが、
よいサンプル教えていただけませんか?

412:名無し~3.EXE
09/04/02 23:56:44 gu6GB/nX
>>411
最初からサンプルソースクレクレではなく
自分で書いて、解らないところを質問しろ

413:名無し~3.EXE
09/04/03 00:44:12 APA4RBWO
>>411
Hey, Scripting Guy! - アーカイブ
URLリンク(www.microsoft.com)

414:名無し~3.EXE
09/04/03 10:38:18 NpKi9nyK
VBSで引数で受け取った文字列にユニコードが含まれていた場合に
その部分を削除するにはどうしたらいいんでしょうか?

♠スペード ♣クラブ ♥ハート ♦ダイヤ

スペード クラブ ハート ダイヤ

415:名無し~3.EXE
09/04/03 19:38:06 1ttVetc2
VBSって正規表現なかったけ?まさかね

416:名無し~3.EXE
09/04/03 19:45:37 mozVT+aj
yes

417:名無し~3.EXE
09/04/03 21:00:30 OSCytWtJ
>>414
ユニコード文字を削除したら
「♠スペード ♣クラブ ♥ハート ♦ダイヤ」

「」
になるよ

「ス」はUnicode:0x30B9だし、「ペ」はUnicode:0x30DAと、どちらもユニコードの文字。
はっきり言えば「♠スペード ♣クラブ ♥ハート ♦ダイヤ」全体がユニコードの文字列。

おそらく、君がやりたいのは
「文字列にユニコードが含まれていた場合にその部分を削除する」
ではなく
「文字列にShift_JISに存在しない文字が有ったらその部分を削除する」
なんじゃないの?

後者の場合は、Shift_JISには存在しない
「♠♣♥♦」が削除され、
Unicode文字ではあるが、Shift_JISにも存在する
「スペード クラブ ハート ダイヤ」が残ることになる。

418:名無し~3.EXE
09/04/03 21:11:23 lHKXNTuI
>>417
それぐらいエスパーしろよ・・・。

419:名無し~3.EXE
09/04/03 21:32:00 mozVT+aj
>>418
>それぐらいエスパーしろよ・・・。
それおかしいだろ?
スキーヤしろって言うか?スキーしろって言うだろ?

420:名無し~3.EXE
09/04/03 21:51:46 n9mseU0m
アナルレイパーします。

421:名無し~3.EXE
09/04/03 23:55:00 qJkg0oeA
>>418
エスパー(意図の酌み取り)は後半でしてるじゃん。
単に前半で要求仕様通りだとこうなるって説明を入れてるだけで。

422:名無し~3.EXE
09/04/04 01:24:53 I1MEWlLr
なるほど

423:名無し~3.EXE
09/04/04 16:44:40 iSitawJj
>>422
アナルレイパーって何?

424:名無し~3.EXE
09/04/09 04:20:14 GTF3L2c8
分からないならレスしないでください

425:名無し~3.EXE
09/04/09 07:35:35 oUfTSnN8
このスレ開くと脳内にジャッカー電撃隊のOPが流れる・・・

426:名無し~3.EXE
09/04/09 20:30:56 GA22GXlP
WScript.ShellのPopupで第二引数を指定すると、n秒後に閉じることが出来ますよね?
これと同じようなことをInputBoxでやりたいんですが、どうすれば良いですか?
OKが押された場合、キャンセルが押された場合、どちらも押されずに指定秒数が経過した場合
の3通りでその後の処理を分岐したいです。

WinXP/WSH5.6で、dllなどの新規インストールは出来ない環境です。

427:名無し~3.EXE
09/04/09 20:33:03 awHYC9DT
ほかの方法を考える。

428:名無し~3.EXE
09/04/09 21:46:13 GA22GXlP
他の方法って何でしょうか?

WinXP標準環境のVBSで使えるGUI入力
表示位置、初期入力値指定可能
OK、キャンセル、指定秒数が経過、の分岐が可能

の条件を満たしていれば、InputBoxじゃなくてもいいんですけど
他の方法でこれらを満たす物がありますか?

429:名無し~3.EXE
09/04/09 22:30:28 GTF3L2c8
WScript.ShellのExecで子を起こしてそっちでInputBox出しな

430:名無し~3.EXE
09/04/09 23:52:12 Q72d+ivs
ClassとTimeOut使えば出来るな
TimeOutしてもClassのデストラクタは実行されるから

431:426
09/04/10 00:45:11 jnrC655t
>>429
ありがとうございます。
その方法でも目的は達っせそうですが、処理を書くファイルが分散するのは
好ましくないので、今回は>>430の方法でやることにします。


>>430
出来ました。
こんな方法があったなんて目から鱗です。
ありがとうございました。

432:名無し~3.EXE
09/04/10 08:36:09 wD95lKKk
w

433:名無し~3.EXE
09/04/10 20:31:43 cPEXIVrz
vbscriptの
Property Let
について、できるかぎり調べたんですが
複数の引数を渡す方法がわかりません
どうしたらいいですか?

434:名無し~3.EXE
09/04/10 20:53:40 YxXQFkOF
>>433Script56.CHMに思いっきり書いてあるわけだけど・・・
本当にできるかぎり調べたの?

>arglist
>Property Let プロシージャを呼び出すときに、Property Let プロシージャに渡される引数を表す変数のリストを指定します。
>複数の変数を指定する場合はカンマ (,) で区切ります。(ry

435:名無し~3.EXE
09/04/10 20:53:46 1fjQi+ry
>>433
' 定義
Property Let PropertyName(arg1, arg2, value)
WScript.Echo arg1
WScript.Echo arg2
WScript.Echo value
End Property

' 代入
.PropertyName("引数1", "引数2") = "値"

436:名無し~3.EXE
09/04/10 21:30:34 cPEXIVrz
>>434
もちろんモニターぶち破るほど凝視しました

> ' 定義
> Property Let PropertyName(arg1, arg2, value)
>   WScript.Echo arg1
>   WScript.Echo arg2
>   WScript.Echo value
> End Property
>
> ' 代入
> .PropertyName("引数1", "引数2") = "値"

単一引数では
.PropertyName = "値"
ですよね?
引数が増えるたびに左辺側が増えていくんですか?

個人的感覚では

.PropertyName = "値1", "値2", "値3"

なんじゃないかと思ったんですが。

437:名無し~3.EXE
09/04/10 22:10:23 1fjQi+ry
> 引数が増えるたびに左辺側が増えていくんですか?
そうだよ
ヘルプの定義も [Public | Private] Property Let name ([arglist,] value) ってなってるでしょ?
先に省略可能不定数のarglistが来て、最後に単一必須のvalue

> 個人的感覚では
> .PropertyName = "値1", "値2", "値3"
> なんじゃないかと思ったんですが。
プロパティってのはそもそも単一の値(value)を渡す概念だよ。
それ以外の引数(arglist)は値というよりは値の代入先への条件的なもの

例えばグリッド(升目)の3行6列目に"test"を入力する場合に
Property Let GridValue(row, column, value)
と定義して
.GridValue(3, 6) = "test"
って感じ

2chへの書き込みを行う場合で、名前、メール、本文を渡すみたいに、同列の値を複数渡すなら
Sub Write2ch(name, mail, text)
と定義して
Write2ch "名無しさん", "sage", "テスト"
だな

君の先入観とは食い違うのかも知れないが、そういうものだと納得して貰うしかない
どうしても
.PropertyName = "値1", "値2", "値3"
的なことがやりたいなら
Property Let PropertyName(values())
WScript.Echo values(0), vbCrLf, values(1), vbCrLf, values(2) ' Join(values, vbCrLf)
End Property
と定義して
.PropertyName = Array("値1", "値2", "値3")

438:名無し~3.EXE
09/04/10 22:42:09 cPEXIVrz
>>437
わかりました
Property Letをメンバ変数群へのセッターとして使おうとしてましたが
SubかFunctionを使うようにします。

439:名無し~3.EXE
09/04/14 20:30:33 xC/x9gm6
wshからPCをサスペンド(スタンバイ)状態にしたいんですけど、
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
を使った方法では休止状態が有効な場合休止状態(ハイバネ―ション)になってしまい、どちらか選べなくて困っています

確実にサスペンド(スタンバイ)に移行できる方法はありませんか?ご教授願います。

440:名無し~3.EXE
09/04/15 03:37:35 HDTq4yYe
URLリンク(scripting.cocolog-nifty.com)

441:439
09/04/15 18:45:22 WeeZsX7B
>>440
ありがとうございます
でもこれだとエクセルの無い環境では使えませんよね・・・

そちらのタスクマネージャを使う方法も見ましたがこちらのOSがVistaなので利用できませんでした。
他の方法はないのでしょうか・・・

442:名無し~3.EXE
09/04/15 19:16:40 kP3+rv1F
>>441
Vistaならshutdown.exeコマンドを呼べばいいと思う。

443:439
09/04/15 20:55:52 WeeZsX7B
>>442
なるほど!そういう方法があったのですね。
よろしければスタンバイに移行するコマンドを教えていただけないでしょうか?

444:名無し~3.EXE
09/04/16 00:17:56 NLAwaM+Q
shutdown/?

445:名無し~3.EXE
09/04/16 00:33:25 uDkOsXWB
タグがバラバラな複数のログを集計したいと思います。
最初の一行目がタグ情報となっており、2行目以降にデータがあります。
区切り文字は「,」です。
指定したタグの情報を取得出来るスクリプトを探していますがサンプルとか
ないですか?

私自身、全くプログラミングの経験がなくて途方に暮れてます。
何していいかさっぱり分かりません・・
自力でなんとかしたいものですが、おすすめのサイトとか
書籍があれば教えてください。

446:名無し~3.EXE
09/04/16 00:50:04 CA45KrUU
いきなりタグとかログとか汎用的な言葉出されても困る
区切り文字ってことはCSVなのか? タグ情報って列名のこと?

447:名無し~3.EXE
09/04/16 01:34:22 jAc01HJm
> 指定したタグの情報を取得出来るスクリプトを探していますがサンプルとか
> ないですか?
スクリプトは基本的に探すものではなく書くものだぞ
何処かにあることを知ってるなら、それを使うのもいいが
人に聞いてまで探すような物じゃない

> 私自身、全くプログラミングの経験がなくて途方に暮れてます。
誰だって最初はそうですよ

> おすすめのサイトとか
何のためにテンプレがあるんだかちょっとは考えよう>>2-5

あとは勉強して実際に書いてみて、どうしても行き詰まったら
具体的にどういう処理をしたくて、どういうコードを書いて、どういう不都合があるのか
また質問においで

ここはスクリプト作成依頼所じゃないので、丸投げでそういうの書いてとかは無しでよろしく

448:名無し~3.EXE
09/04/16 01:55:33 P+x7Pij7
カンマ区切りテキスト(CSV)形式なら、MS-Access/Excel とか OpenOffice.org Base/Calc で集計すりゃいいんじゃないの
まぁしょっちゅうやるならモジュール作ったりした方がいいかもしれない

職場で運用するとかで、どうしてもWin標準添付のモノでしかやっちゃいけないとか、
運転中のシステムのログの集計結果を1時間毎に出す必要があるとか、
ってな制約があるならしょうがないけど、無理にスクリプトを使う必要は無いんじゃないかな
(それならなおさら素人がやるもんじゃないとは思うが)

個人的にはスクリプトでそういうのやるなら perl が楽だと思う

449:名無し~3.EXE
09/04/16 14:47:47 a1NQuIWX
wshで何か一から書こうとするといっさいプログラム言語触ったことがない香具師にとってはハードル高い
(使うだけならともかく)
少なくても素のVisualBasicよりは確実に難しい
ファイル入出力はfso使うとか構造つかむまでそれなりに時間がかかった覚えがある

450:439
09/04/16 19:06:52 sZceJi2u
>>444
ハイバネートのコマンドはあったんですがサスペンドのコマンドが見つからないんですが・・・
やっぱり不可能なんですか・・・?

451:名無し~3.EXE
09/04/16 21:13:09 NLAwaM+Q
vbc/?

452:名無し~3.EXE
09/04/16 23:37:17 gd9zV5VO
おお本当だsuspendにはサスペンドの選択肢がないね。

まあググってみるとこんな感じのコードがいっぱい見付かる。
Set sh = CreateObject("Shell.Application")
sh.Suspend

肝心のMSは実装してねえぞと主張しているのが気掛かりではあるが。
URLリンク(msdn.microsoft.com)

453:名無し~3.EXE
09/04/16 23:57:29 Xx+Mg3lY
っていうか>>440をExcel無しで実行する方法で良いのでは?

454:439
09/04/17 00:19:26 ykM6yz16
>>452
ありがとうございます
試してみましたが反応なしでした・・・

>>453
Excelを使わない方法とはタスクマネージャを使う方法のことですか?
Vistaではメニューにシャットダウンの項目がないんで使えませんでした・・・

455:名無し~3.EXE
09/04/17 01:29:48 qPzkE+HH
> Excelを使わない方法とはタスクマネージャを使う方法のことですか?
違う

456:名無し~3.EXE
09/04/17 02:19:42 eS4a/KzE
CreateObject("Shell.Application").shutdownwindows


457:439
09/04/17 17:41:05 ykM6yz16
>>455
具体的にどういった方法のことですか・・・?

>>456
こっちは反応がありましたが、終了のダイアログが出るだけですね・・・


458:名無し~3.EXE
09/04/17 19:55:59 eS4a/KzE
sendkeys

459:名無し~3.EXE
09/04/21 01:04:56 sxyqTq+t
suspend.exe

460:名無し~3.EXE
09/04/26 12:57:52 hN24fcsP
    Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem") 
    For Each objOperatingSystem in colOperatingSystems 
        ObjOperatingSystem.Win32Shutdown(1) 
    Next
    Wscript.Echo "シャットダウン処理を実行しています。"


これを実行して"シャットダウン処理を実行しています。"と表示されるのに、
実際にはシャットダウンされない場合があります。
何が原因と考えられますか?
OSはXPSP2です。

461:名無し~3.EXE
09/04/26 20:36:12 JZHCdzJZ
>>460
引数がまずい。それだと未保存のメモ帳があるだけで止まる。
あとはWScript.EchoじゃなくてWScript.Shellのpopupメソッドで
時間経過したら閉じるようにすべきかも知れない。

しかし仮にスクリプトが正しかったとしても、そもそもWindowsの
シャットダウンがスクリプトからそんなに確実に実行できるもんなのか
という疑問もあるけどね。

462:名無し~3.EXE
09/04/26 21:11:02 6hbGqw4a
>>460
単純シャットダウンごときにわざわざWMI使う香具師初めて見た
いくつか他の方法あるのに

463:名無し~3.EXE
09/04/26 21:24:18 YxEmjG2Q
>>462
> 単純シャットダウンごときにわざわざWMI使う香具師初めて見た
なんてわざわざ言う香具師初めて見た

464:名無し~3.EXE
09/04/26 22:54:07 lJ+cDE8H
いくつかあるんならひとつくらい挙げる心遣いが欲しいぜ

465:名無し~3.EXE
09/04/26 23:00:40 YxEmjG2Q
代替法でなく、理由を知りたいんだろ

466:名無し~3.EXE
09/04/27 01:10:28 nVE9eCMf
なるほど

467:460
09/04/27 08:22:11 RCPGHJ3a
>>461
ありがとうございます
調べてみます

>>462
文法の意味を理解せず
スクリプト丸写しでやってるからです

参考にしたURL
URLリンク(www.microsoft.com)

468:名無し~3.EXE
09/04/28 00:42:11 xpBMK336
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)

469:名無し~3.EXE
09/05/03 00:30:35 nT+UO9ic
なるほど

470:名無し~3.EXE
09/05/04 19:08:31 pB9NsdJr
お前ら、PowerShell使ってますか?

471:名無し~3.EXE
09/05/06 01:12:29 IVrMxyMV
じぇーんじぇーん

472:名無し~3.EXE
09/05/06 01:19:38 i9i6Zpew
わしゃ今や PowerShell 9割、WSH 1割

473:名無し~3.EXE
09/05/06 18:53:58 aMrhoeJz
そんな便利なんか。使ってみるか

474:名無し~3.EXE
09/05/06 23:45:14 z83QDpCi
ほとんどのPCにまともにインストールもされていないものを覚えるのはどうも気が進まない。

475:名無し~3.EXE
09/05/07 00:28:08 iycG5mAd
先月からXPとVistaのビジネス系エディション向けには自動更新配布始まったな

476:名無し~3.EXE
09/05/07 00:38:47 zrBTZ2eF
WSHが自動削除されたら考えるよ。

477:名無し~3.EXE
09/05/07 00:44:44 xlSN69wH
GnuWin32を置き換えるために暇な時に勉強中。
grep -r hoge *
イコール
Get-ChildItem -recurse * | Select-String hoge
だけは覚えた。

478:名無し~3.EXE
09/05/07 00:52:15 zrBTZ2eF
スレあるよ。

Windows PowerShell 2.0
スレリンク(win板)

479:名無し~3.EXE
09/05/07 01:20:52 9lIDUGpx
WSHでDynaWrap使わんでもいいようにさえしてくれれば
それでよかったんだがなぁ。GUIはHTAで我慢できるし。
MSにはいまあるものをもっと大事に育ててほしいもんだ。

480:名無し~3.EXE
09/05/07 01:28:17 iycG5mAd
俺はScriptoMatic使わんでもいいようにさえしてくれればそれで

481:名無し~3.EXE
09/05/07 04:33:33 5VRTlytH
○Scriptomatic
×ScriptoMatic


482:名無し~3.EXE
09/05/07 23:11:01 m087N9RP
PowerShellはWSHを完全に置き換えるものじゃない。
PowerShellからWSHを利用するのもありだし
それに

483:なんだ?オレに振られたのか?
09/05/07 23:40:21 D2qIMiSw
PowerShellはWSHと違って、保存済みスクリプトファイルを実行することが既定ではできない。
ポリシー(=どーせレジストリ)で解除できるが。

484:名無し~3.EXE
09/05/07 23:46:00 cF08cEzM
まあ名前自体シェルとしか名乗ってないわけだしな

485:名無し~3.EXE
09/05/08 15:04:23 XEPp6UuS
なるほど

486:名無し~3.EXE
09/05/08 19:04:02 JrXQqf3G
で、PowerSHELLのデメリットは
・ほとんどのWindowsPCでインストールされていない。
・使える人も少ない。
・資料も少ない。
・保存済みスクリプトを実行できない・・・なんたらかんたら
ということですね。
それでは、PowerSHELLにはどんなメリットがあるのか?
CM明け、>>483さんに説明してもらいます。
じゃあCM!

487:名無し~3.EXE
09/05/08 19:59:26 52AvfZLw
まあ、.NET の機能をまるまる使えるんだから強力だわな

488:名無し~3.EXE
09/05/08 20:27:29 XEPp6UuS
なるほど

489:名無し~3.EXE
09/05/08 20:46:52 htxwcXFB
Windows7にPowerShell V2が標準搭載されるから
Windows7が普及してからだな

490:名無し~3.EXE
09/05/12 17:49:17 IqMqd3mw
なるほど

491:名無し~3.EXE
09/05/16 21:31:26 Rz66M/nY
プリンタのドライバインストール、設定ってWSHでできる?

492:名無し~3.EXE
09/05/16 21:52:22 /SzwN6cr
ドライバ関係なんて具体的には知らないが
C:\WINDOWS\system32\driversにファイルコピーして
ドライバ登録と設定情報をレジストリに書き込みするだけだよな?
そのくらいなら出来るけど素直にinfとかbat+reg使えよって言いたくなるな

493:名無し~3.EXE
09/05/18 16:41:43 1yzJEIC7
なるほど

494:名無し~3.EXE
09/05/23 13:49:22 b8XZakyb
WSHに管理者権限で実行するコマンドってありますか?


495:名無し~3.EXE
09/05/23 16:15:09 aVsYeng2
WSHにはないけど、COMを使うことでWSHで実現することは可能
ググれば情報有るから頑張って勉強しな

496:名無し~3.EXE
09/05/24 15:48:57 qyvwJUMs
WSHで、Volume control かWave のミュートを操作するサンプルってどっか落ちてない?

勤務先PCで User権限のみのXPSP3でつ。

497:名無し~3.EXE
09/05/24 16:45:02 QYLRzYcY
落ちてるものを拾うな

498:名無し~3.EXE
09/05/24 17:14:06 pl1xOw8Z
DirectXが入っていれば

' VBS
CreateObject("MSWebDVD.MSWebDVD").Mute = True 'でミュート、Falseでミュート解除

//JS
new ActiveXObject("MSWebDVD.MSWebDVD").Mute = false;//でミュート解除、trueでミュート

で出来るようだが。

499:名無し~3.EXE
09/05/24 23:27:39 qyvwJUMs
>>498
とりあえず、自PCのwin2kSP4 Power User権限では逝けました。
目的は達成させられそうです。ありがとうございました。


Part4からこのスレにいるのに調べれれないヘタレな俺。

500:名無し~3.EXE
09/05/26 20:08:44 YWv8ag1/
500

501:名無し~3.EXE
09/05/28 18:55:09 0aB6alpl
VBScript と JScript を交配させるたったひとつの方法
URLリンク(d.hatena.ne.jp)

502:名無し~3.EXE
09/05/28 19:47:35 HudDQAtG
で?
使い道は?

503:名無し~3.EXE
09/05/28 23:59:16 6LvlcjwU
そこに山があるからさ

504:名無し~3.EXE
09/06/04 15:20:12 U2shAX9E
OutlookにコマンドラインからTODOなタスクを追加したいんだけど
どこかにサンプルないですか?

addtasktooutlook /high 腹筋1000回!

みたいなかんじで

505:名無し~3.EXE
09/06/04 15:35:37 jKnWPmzV
なんで解説ではなくサンプルを探すの?
そういう思考は浅はかな初心者の悪い癖だよ

サンプル探してその場を凌ぐのではなく
解説探して理解を深めようね

で、OutlookならコマンドラインではなくCOMとしてアクセスな

506:名無し~3.EXE
09/06/07 17:53:10 WTeLPH6o
VBSを使ってhtmlのソースから文字列を抜き出して使いたいのですが
文字参照で書かれた部分をちゃんと変換した後の形にする方法がわかりません
Replace関数で変換ということも考えたのですが、さすがに対応しなくてはいけないパターンが多すぎるので
何かいい方法ってないでしょうか?

507:名無し~3.EXE
09/06/07 18:09:02 nV3JrBhv
いったんDOMオブジェクトにするとか

508:名無し~3.EXE
09/06/07 19:17:10 d05Qikdv
set d=createobject("htmlfile")
d.innerHTML="{"
msgbox d.innerText

509:名無し~3.EXE
09/06/08 06:20:18 oqXReFxD
でも実際の所、常用されれる文字実体参照なんてそんなないよね

510:名無し~3.EXE
09/06/08 12:10:20 rvmZQbAH
だからなに?

511:名無し~3.EXE
09/06/08 12:38:27 ieBvgEr1
置換のほうが速いって

512:名無し~3.EXE
09/06/08 12:42:16 YSvVXFgQ
楽なのが一番だろ

513:名無し~3.EXE
09/06/08 16:49:37 ANWjb6BD
selectで一致したら変数に変換後のパターン放り込んどいて
最後にその変数使ってReplace関数かけるのが結局一番わかりやすくない?

514:名無し~3.EXE
09/06/09 00:56:26 mt6Snbpi
そんなに遅いのか?

515:名無し~3.EXE
09/06/09 23:47:32 n59VtdgS
>>513
>>508 みたいにスクリプト書いてくれれば他の人の役に立つよ

516:名無し~3.EXE
09/06/11 12:35:34 pvxygoc6
なるほど

517:名無し~3.EXE
09/06/21 03:06:07 pQN87Jvn
コンピュータのロック解除後やスタンバイ復帰後に、スクリプトの命令を実行するにはどのような方法があるでしょうか?

PCが一定時間操作されなかった場合に、既存のロックアプリを起動して解除後にダイアログ表示したいため、自作SCRファイル経由でロックアプリを起動し、その際にVBS(WSH)ファイルをキックしています。
ところが、ロックやスタンバイ時にプロセス(wscript.exe)が、SCRともどもロックやスタンバイ時に終了してしまうので、困っています。

通常(notepad.exeなど)は、ロック前にDo~Loopで待機させ、WMIのイベント(当該アプリの起動と終了)を監視しておくことで、WSHの命令を実行できています。
ロックの場合、起動時間は処理の順番や実行待機によって解決できなくもないですが、いずれにしても終了時間の取得とダイアログ表示はほぼ失敗してしまいます。

ちなみにWSH側でやりたいことは、ロックやスタンバイの開始時間と解除(終了)時間をイベントログに書き込んで、解除後にダイアログに表示する、という処理です。

長くなりましたが、識者の方、アドバイスをお願いいたします。

518:名無し~3.EXE
09/06/21 05:37:33 9AsxSuL8
一番手っ取り早いのは別言語で作る方法だな
WSHでやりたいとしても、目的の部分はCOMとして作る必要があるから
別言語使わなきゃならないことには変わらないので
だったら別言語でCOM作ってWSHで動かすより
そのCOMを作れるような言語で直接アプリを作った方がいい

519:名無し~3.EXE
09/06/21 14:02:20 YkrwZ8hC
>>517
.scrから呼び出すwscriptを単なるWScript.ShellオブジェクトのRun()だけ
書いてるヤツにすればいい。そんでRun()の引数を終了を待たないヤツにして
本来のwscriptを呼び出せば失敗する可能性は低くなる。

あと注意点は次のものがあるな。
 ・その処理だと、ユーザーに気づかれない必要があるんじゃないの?
 ・Windows2000だとWMIが入ってない場合もある。
 ・そのときのログオンユーザーの権限が低いと、イベントログに書き込むのが
  エラーを出す可能性がある(気づかれる)。

520:517
09/06/21 16:34:28 hZdAyqNW
>>518
COMを自作するには、知識も時間も足りないし、専門職じゃないので運用・メンテ面からも難しいです。。
スレ違いかもだけど、今後のために(こういった連携においてWSHと相性のいい)お勧めの開発環境や言語があれば教えてください。

>>519
scr→WSH(WScript.ShellオブジェクトのRun())→WSH(ログ記録&通知)の3重にするってことですか。
ロックアプリは会社のものなので、処理だけ考えて後日検証してみます。

しかし、Run()だけで引数なしだと、キックされる側は「WScript.Arguments.Count = 0」で単独起動させない策は、確かにできないですね。
数行なら保守性は変わらなそうだし、そちらはVBEで配布するかな。。

Win2Kやログオンユーザ権限は、XP&administratorsグループのアカウント対象で問題ないです。

おっしゃるように最低限の隠蔽策を講じつつ、件の状況で処理を実現したいために、ややこしいことになってます。

あと一歩なだけに悔しいです。


521:名無し~3.EXE
09/06/25 15:49:01 qQpWklfp
vista + JScript で特殊フォルダ「ミュージック」のパスを取得する方法はありますでしょうか?
Shell.SpecialFolders でマイドキュメントは取得できるのですが・・・

522:名無し~3.EXE
09/06/25 15:52:02 V72CWr8X
おれもついでにイイか?
Xp + Jscriptで隣の奥さんの使用済みパンティーを取得する方法はありますでしょうか?
買い物のときにベランダ沿いに侵入すれば洗ったパンティーは取得できると思うのですが・・・

523:名無し~3.EXE
09/06/25 16:03:25 TkrEyaw6
new ActiveXObject('shell.application').Namespace(13).Path

524:名無し~3.EXE
09/06/25 16:29:13 qQpWklfp
>>523

早速試してみたところ・・・
なぜか undefined になります。

var x = new ActiveXObject('shell.application').NameSpace(13);
WScript.Echo("path="+x.path);

x.title には「ミュージック」がセットされていました。

525:名無し~3.EXE
09/06/25 16:33:43 TkrEyaw6
Path

526:名無し~3.EXE
09/06/25 16:34:46 TkrEyaw6
.Self.Path

527:名無し~3.EXE
09/06/25 16:35:10 01tMvTm9
new ActiveXObject('yourfilehost.application').Namespace(mature).Panty

528:名無し~3.EXE
09/06/25 16:37:04 qQpWklfp
self.path でいけました!

ありがとうございました(^^

529:名無し~3.EXE
09/06/25 16:39:30 01tMvTm9
used.Panty でいけました

ありがとうございました(^^

530:名無し~3.EXE
09/06/26 21:34:25 CNF38epp
哀しいものを見た^^

531:名無し~3.EXE
09/07/15 16:25:30 B2XAn6wr
xmlhttpを使用して、リファラーを送ってデータを取得したいのですがうまくいきません

set http = WScript.CreateObject("microsoft.xmlhttp")
http.open "GET", "URLリンク(taruo.net)", false
http.setRequestHeader "Referer", "テストテスト"
http.send
WScript.Echo http.responseText

診断君で試してみたところ、やっぱり送れていないみたいなんですが何か間違っているんでしょうか?

532:名無し~3.EXE
09/07/15 17:08:41 GKwZ01/x
>>531
スレリンク(tech板:48-51番)
ということらしいよ

533:名無し~3.EXE
09/07/15 17:27:02 j+tCnxTF
>>532
WindowsUpdateでその辺の仕様が変わるんだな。
これからも起き得るのかね?あぶねえな。
前にやったときは、さっさとCurl.exe使って逃げたわ。

534:名無し~3.EXE
09/07/15 18:21:02 GKwZ01/x
IEでも動かせるオブジェクトなんだからある程度は仕方なかんべ

535:名無し~3.EXE
09/07/15 18:39:51 7vBKI4Qq
さすがMS、酷い変更だ。リファラすら指定できないなんて。
4.0 5.0 がフルパス吐くのは、別の意味でセキュリティーの問題じゃないか?
ユーザー名に実名使ってる環境の場合、フルパスに実名含まれてしまったり・・・w

536:531
09/07/15 23:13:42 G8m72XGt
>>532
そういうことだったんですね
とりあえずMsxml2.XMLHTTP.5.0にしてみたら送れたのでよかったのですが
何だかcookie送る方にもバグがあるんですね・・・・
対策ページを見てみましたがうまくいかず
xmlhttpを使うのはあきらめました

537:名無し~3.EXE
09/07/16 23:48:35 s9Fi+J+f
自分の環境には5.0入ってないんで、Msxml2.XMLHTTP.6.0で試してみたが、Referer送れない。orz

538:名無し~3.EXE
09/07/17 00:25:49 MIUEZcIb
PowerShellへの移行策の一つと言うことか

539:名無し~3.EXE
09/07/19 11:53:25 BSXTI/Xi
wsh(≒jscript)はwineで使い物になる?PowerShellはwineで使い物になる?
詳しい人教えてくれ。

540:名無し~3.EXE
09/07/29 01:05:20 nmGF194p
使用言語はJavascriptで、他のファイルの関数を使うにはどうすればいいでしょうか?
wsfでインクルードするしかないでしょうか

541:名無し~3.EXE
09/07/29 01:12:57 U3tVg9DC
テキストとして読み込んでeval

542:名無し~3.EXE
09/07/29 01:22:33 nmGF194p
ありがとうございます!これでできました。
URLリンク(cwashington.netreach.net)

543:名無し~3.EXE
09/07/31 11:39:46 Gyufjk11
アプリの設定がメニューの深いところにあって、
いちいちメニュー階層を順に開いていくのが面倒なので
SendKeysで自動的にやろうとおもったのですが、
IMEがオンの状態ではメニュー項目がうまく選択できませんでした。

強制的にIMEをオフにしたいのですが、
vbsでIMEの制御は可能でしょうか?

544:名無し~3.EXE
09/07/31 15:34:40 fPLWy6Es
不要

545:名無し~3.EXE
09/07/31 23:54:08 f/yjxAXd
ウィンドウ操作はそれ用のCOMを覚えた方が先々便利

546:名無し~3.EXE
09/08/02 18:03:13 yp9Titym
Sever 2008 x64でオブジェクトが作成できませんと怒られてbasp21が動かない
何か方法はあるんでしょうか?

547:名無し~3.EXE
09/08/02 18:11:53 TBxPfJAM
32bit版のwscript/cscriptで実行する

548:546
09/08/03 07:14:19 rN5JviGQ
>>547
あっさり解決できました
本当にありがとうございました

549:名無し~3.EXE
09/08/03 08:20:08 G3uibfz0
WSH & 周辺環境は、32bit版さえ使えば、この先もしばらく使えそうなのか?
ますますPowerShellを覚える気力がなくなってきた。どうしよう・・・。

550:名無し~3.EXE
09/08/03 08:46:05 d466V8k7
だったら使わなければいいんじゃね?

551:名無し~3.EXE
09/08/03 23:32:17 19p30T4e
だったら覚えなければいいんじゃね?


552:名無し~3.EXE
09/08/04 00:04:23 DXguE6Su
わかりました。しばらくはJScriptで行きます。
Webでもローカルでもマクロでも一番使い勝手がよさそうなんで。

553:名無し~3.EXE
09/08/07 19:33:38 E5uAjbVg
xmlhttp = new ActiveXObject("Msxml2.ServerXMLHTTP");
xmlhttp.setTimeouts(20000, 20000, 20000, 20000);
xmlhttp.Open("GET", "URLリンク(www.google.co.jp)", false);
xmlhttp.Send();

タイムアウト設定が必要なのでServerXMLHTTPを使おうと思ったのですが、
3行目でオブジェクトがプロパティかメソッドに対応していないとエラーがでます。
どこが間違っているのか教えてください

554:名無し~3.EXE
09/08/07 19:43:20 x3CcgWEQ
Openじゃなくてopen
URLリンク(msdn.microsoft.com)

555:名無し~3.EXE
09/08/07 20:10:07 E5uAjbVg
ありがとうございました。ついでに4行目もsendなんですね・・・

556:名無し~3.EXE
09/08/07 21:02:15 uHcZtJ30
vbscriptにしろよ

557:名無し~3.EXE
09/08/10 13:32:44 4SR4aBtB
いまさらVBSCRIPTはねえだろうw
JSCRIPTなら他の言語にもすぐに応用が利くからわからんでもないがw

558:名無し~3.EXE
09/08/10 18:16:35 Qzycj5VH
解ってない奴現るw

559:名無し~3.EXE
09/08/10 18:21:23 1VenD9zg
VBはいまだによく使うよ。

560:名無し~3.EXE
09/08/10 19:21:04 MjZIyAdN
>>559
その書き方だと、VBとVBScriptを混同しているように読めるが……。

561:名無し~3.EXE
09/08/10 19:26:52 1VenD9zg
別に混同しちゃいないけどさ、JSより、
VBの文法はいまだによく使うよってこと。

562:名無し~3.EXE
09/08/10 20:20:50 RqyYDiuX
WebのJSとwshのJSって文法ほぼ一緒だけど
使うオブジェクト違うから書き方変えるしね

だったらVBSで文法レベルから完全に違うほうがわかりやすかったりする

563:名無し~3.EXE
09/08/10 23:11:57 67y+NCjl
別に金が掛かる訳でもなし、適材適所で両方使えばええがな

564:名無し~3.EXE
09/08/11 00:14:32 7Q2C1XtL
EnumeratorだらけならVBSの方が簡潔に書ける。ぐらいしか思い付かない。

565:名無し~3.EXE
09/08/11 00:17:18 ihFQei8Z
たまにby Refの受け取りとかあったりするぐらい。

566:名無し~3.EXE
09/08/11 11:55:36 5VgQAFGn
MsgBox
Inputbox
使えないだろ>JScript

567:名無し~3.EXE
09/08/11 15:01:44 2Se6dKOv
Grepしたらこんなのが出てきた。すっかり忘れていたwww

function input(){
/***** JScript で VBScript の InputBox() 関数を使う関数 *****/
var scVB, VBarg, fvartype, i;VBarg = '';
scVB = new ActiveXObject('ScriptControl');
for (i = 0; i < Math.min(arguments.length, 7); i++){
fvartype = typeof(arguments[i]);
if (i > 0){VBarg += ', ';}
if (fvartype == 'number' || fvartype == 'object' && arguments[i] instanceof Number){
VBarg += arguments[i].toString();
} else if (fvartype != 'undefined'){
VBarg += '\"' + arguments[i].toString().replace(/[\"]/g, '\"\"') + '\"';
} else if (i < 3 || i == 5){
VBarg += '\"\"';
}
}
VBarg = VBarg.replace(/[\r\n]+/g, '\" \& $&\"').replace(/[\r]/g, 'Chr\(13\) \& ').replace(/[\n]/g, 'Chr\(10\) \& ');
scVB.Language = 'VBScript';
return(scVB.Eval('InputBox\(' + VBarg + '\)'));
}

var ret=input("説明文","タイトル","デフォルト100");

WScript.Echo(ret);

568:名無し~3.EXE
09/08/11 15:27:19 tCC4Lofi
そりゃActiveXObject使えばどうにでもなるさ
そんなのは皆知ってるし、ActiveXObject使うなら
わざわざVBSのGUIに拘る必要もないだろw


569:名無し~3.EXE
09/08/11 18:03:52 qMEHxjWM
COMは全て別途DLLが必要とでも思ってるんだろうか。

570:名無し~3.EXE
09/08/11 19:53:02 5VgQAFGn
EXEもあるが?

571:名無し~3.EXE
09/08/11 21:25:54 tCC4Lofi
>>569
なに勘違いしてるの?

572:名無し~3.EXE
09/08/11 21:50:26 5VgQAFGn
ちょっとCOM乱してる?

573:名無し~3.EXE
09/08/11 22:00:53 tCC4Lofi
だれが上手いこと言えとw

574:名無し~3.EXE
09/08/15 07:46:06 avxpvV7T
xmlhttpを使って同じURL(情報に変化有り)をループ処理で取得しようとすると
キャッシュを使ってるみたいで、1回目に取得したもののコピーしか取得出来ないのだけど
そのつど新しいデータを取得するにはどうしたらいいんでしょうか?

575:名無し~3.EXE
09/08/15 08:01:54 9s7XDhMw
HTTPリクエストに(ここではスレ違い)ついて勉強しましょう

576:名無し~3.EXE
09/08/15 10:09:44 avxpvV7T
>>575
送るヘッダなんかもいじってみたけどうまくいかなかったのですが
不可能ってことなんでしょうか?

577:名無し~3.EXE
09/08/15 11:15:57 qvpOcgUD
ブラウザだって[Ctrl]+[F5]で強制再読込できるんだ。出来ないわけ無い。
これ以上は、スレ(板)違い。

578:名無し~3.EXE
09/08/15 12:04:35 avxpvV7T
スクリプトでxmlhttpを使い、同一URLを連続で取得した場合に
データを新たに取得に行かないという問題なのですが・・・

579:名無し~3.EXE
09/08/15 12:38:57 7WPexxIz
xmlhttp キャッシュ でググれ

580:名無し~3.EXE
09/08/15 16:26:37 5dfMd7fo
「スレ違い」「板違い」と指摘されてるのに質問を続ける奴って何なの?

581:名無し~3.EXE
09/08/15 17:41:19 avxpvV7T
>>579
ありがとうございました、出来ました

>>580
上のほうでも同じようにxmlhttpの挙動に対する質問などもありますし
スレ違いだとは思わなかったので続けました
純粋に疑問なのですがどのあたりがスレ違いなんでしょう?
ここがwshのスレならば、範囲内だと思うのですが?

582:名無し~3.EXE
09/08/15 22:23:22 IaztbDhN
xmlhttpの質問をここでするのは、トヨタの車にSonyのカーナビ付けてる状況で
カーナビの操作不良トラブルでトヨタに問い合わせるようなものだ
xmlhttpはwsh用でもなんでもなく、
いろんな言語(車)に使える汎用コンポ(カーナビ)だってことを覚えて置いて

583:名無し~3.EXE
09/08/16 00:51:24 OrGIf2da
過疎ってんだからいいじゃん
無駄に細けーよ

584:名無し~3.EXE
09/08/16 01:44:42 kXw4hMGI
気分いい人を見つけるか、気分良くさせる話術を身に付けろってことさね

585:名無し~3.EXE
09/08/16 07:40:28 y/oOeE3m
むしろそれをスレ違いと言ったらこのスレには何が残るというのか

586:名無し~3.EXE
09/08/16 08:34:22 wWl4IgK0
wshの話題
つーか、そもそもここはそういうスレだろ?

それじゃ話題が少ないとか言う奴も居るかも知れないが、
少ないと何か問題あるのかと問いたいね

2chの鯖(とcgi)が弱かった頃は、話題(書き込み)が少ないと
すぐに圧縮で落とされたから、無理にでも話題作りをしなくちゃならなかったが
そういう問題が無くなった今となっては、無理に話題広げるより、
少ないながらもスレタイに沿った濃密な話題のみの方が断然良いからね

587:名無し~3.EXE
09/08/16 11:11:34 92sq03tG
なんだ、クレクレ厨か

588:名無し~3.EXE
09/08/16 13:22:32 RY/92RaQ
どのオブジェクトからがスレ違いで
何が許容範囲なのか明確に例題を挙げてもらいたいわw

589:名無し~3.EXE
09/08/16 13:34:08 Ep6+8lZw
俺様基準ってことだろ

590:名無し~3.EXE
09/08/16 16:03:44 r1QiDn9d
>>588
オブジェクト単位でどれがいい悪いじゃなく、内容がwsh特有の問題なのかどうかという話だと思うんだけど。
例えば、あるオブジェクトがwshで使ったときのみ違う動作をする、というような話しならこのスレ向き、
というか他所でしても「こっちいけ」って誘導されるような話だと思うし、
そうではなく、どの言語・環境で使っても同じ動作をするものを「こうさせたい」って話しなら
それはそのオブジェクトか、それが対象とする規格の話題を扱うスレのほうが適しているだろうと思う。

591:名無し~3.EXE
09/08/16 16:17:49 92sq03tG
言葉にならない 私の想い けれど いつかあなたに きっと・・・

592:名無し~3.EXE
09/08/16 16:26:31 xjMN8GP2
スレ違いを指摘する奴は移行先を示さない法則

593:名無し~3.EXE
09/08/16 16:35:30 UwvoqxIq
なんでスレ違いの奴に、わざわざこっちが移行先を探してやらなきゃならないんだ?

594:名無し~3.EXE
09/08/16 17:56:05 aQFRMbgr
FileSystemObjectの文字コードはどうやって決まってるの?
外国じゃシフトJISじゃないよね?

595:名無し~3.EXE
09/08/16 19:12:33 Y/yZE8LX
>>594
wikipedia
>マイクロソフト(日本法人)元会長の古川享によると、Shift_JISの制定には、
>アスキー、マイクロソフト(米)、三菱電機、マイクロソフトウェア・アソシエイツ、デジタルリサーチ(米)が関わり、

596:名無し~3.EXE
09/08/16 21:59:49 kXw4hMGI
そんなことはどうでもいいから
Scripting.FileSystemObject なんつう
長くて打つのがめんどいProgIDをどうにかしてくれ

597:名無し~3.EXE
09/08/16 22:03:45 92sq03tG
ひらがな4文字にするべき。

598:名無し~3.EXE
09/08/16 22:04:22 2HQFAnKG
>>596
自分のPC上でなら、設定次第でいくらでも短くできるけど?

というか、初心者はコードの文字数や行数的な短縮に躍起になる次期があるが
コードは読解性や最適化(意味としての短縮)の方が重要だよ

599:名無し~3.EXE
09/08/16 22:07:49 kXw4hMGI
環境依存の少なさも大事

600:名無し~3.EXE
09/08/16 22:13:00 2HQFAnKG
もちろん
だからこそ「自分のPC上でなら」と
その重要な点が犠牲になることを明記した

601:名無し~3.EXE
09/08/16 22:15:29 2Jv4So8E
>>597
すくぷり

602:名無し~3.EXE
09/08/16 22:39:29 gcXO2ZEs
VB2005以降みたいにスニペットでホイホイと行かないのはしょうがない話


603:名無し~3.EXE
09/08/16 22:53:08 jevHYVxW
入力補完機能があるエディタを使えば問題ない。

604:名無し~3.EXE
09/08/17 19:38:25 QtOZzW/u
>>590
じゃぁFileSystemObjectやWScript.Shellなんかもスレ違い?

605:名無し~3.EXE
09/08/18 19:49:10 kMLD2t0b
FileSystemObjectスレやWScript.Shellスレがあるのか?

606:名無し~3.EXE
09/08/18 20:13:47 S2hFvVkz
FileSystemObject を引き合いにだして、ディレクトリ構造とかファイル属性について質問してるようなもんだろ。
それらは、FileSystemObject や xmlhttp の固有の問題じゃない。

FileSystemObject だけでなく コマンドプロンプトやエクスプローラなどファイル管理共通の話題だし、
今回の例だとhttpヘッダの話題で、ブラウザやAjaxを使ったアプリ、telnetでhttpで鯖と対話するときとか、
あとはオミトロンなどでも、利用っつーか知らないと上手く扱えないもんだ。

httpヘッダの解説ページでも見ればすぐに解決するだろうし、さらっと答えても差し支えないけど、
答えたばっかりに、教えて君的にどんどんと質問レスばかりで埋まるようだと
完全にスレ違いになるし、それが嫌なんだろう。

607:名無し~3.EXE
09/08/18 20:16:17 p71GJEvH
大丈夫だよ、埋まるほども人いないから

608:名無し~3.EXE
09/08/18 21:01:59 rhBQ6KVW
というか>>590は一行目でオブジェクトが何かでなく内容の問題だって書いてるのに
それに対してこのオブジェクトはどうですかとレスする>>604が不明。

609:名無し~3.EXE
09/08/19 10:29:33 WGg2VE8w
ま、まさか、オマイらエディタの入力補完機能使わんで、全部手打ちにしてるんか?
そりゃ無茶だw キーボードも早く壊れるし、指も疲れる、可読性も良くない。
入力補完機能は日本語辞書と違って64文字の制限ないから、長い文を登録できるんだぜ。
フリーのメジャーなエディタならたいていは使える機能だわな。
関数やプロトタイプも余裕で登録できるんで、ぜひ使ってやってください。

610:名無し~3.EXE
09/08/19 12:13:40 qMq0YoQ5
全部手打ちだ。

611:名無し~3.EXE
09/08/19 16:28:50 oyXIXNnQ
>>594
Asc/ChrはSetLocaleで変わるがFSOは変わらんね
DLLで固定じゃないか

612:名無し~3.EXE
09/08/19 17:38:16 R8jmqPSw
notepad最高

613:名無し~3.EXE
09/08/24 00:47:36 UhNbx6kV
WSHでスキャナとカメラの中のフォルダって扱えませんか?

614:名無し~3.EXE
09/08/24 08:24:31 jZ03yQcV
無理
そもそもWSH自体には、ローカルであってもファイルやフォルダを操作する機能など無い

615:名無し~3.EXE
09/08/24 18:11:44 1pBOD32x
>>614
?? ファイルフォルダ操作は簡単だろ。スキャナダメはそうなんだけど。

616:横レス
09/08/24 18:39:02 LAYapniR
>>614は「FSOはWSHの一部ではないよ派」だと思われ

617:名無し~3.EXE
09/08/24 19:11:57 R5rjUpeC
wscript.exeにはfsoが内蔵されてるが?

618:名無し~3.EXE
09/08/24 23:02:22 gGokT/cL
wscript.exeにはfsoが内蔵されてないが?
WScript5.6パッケージには、FSOが『同梱』されてはいるが
数種入ってるサンプルCOMのひとつがFSOってだけの話で
別にFSOがWSHという実行ホストと直接関係有るわけではないし

619:名無し~3.EXE
09/08/24 23:19:39 urIpYgAU
MS-Windowsってなんなの?

620:名無し~3.EXE
09/08/25 00:23:25 hoDlDin+
wscript.stdin.readlineとかは内蔵fsoだが?

621:名無し~3.EXE
09/08/25 01:04:38 F2Ajuss/
内蔵fsoってなによ ていうかFSOって何か分かってるか

622:名無し~3.EXE
09/08/25 01:13:22 TXbKnVvq
どうでもいい

623:名無し~3.EXE
09/08/25 03:18:31 hoDlDin+
>>621
>>621
分ってないみたいだから、wscript.exeをobject browserで見てみるとよいよ

624:名無し~3.EXE
09/08/25 06:13:40 O29bAjvd
なんだ、ただ勘違いしてるだけかw

625:名無し~3.EXE
09/08/25 15:11:31 /GJjTGNi
ほれ

Library IHost
Windows Script Host (Ver 5.6)
Class FileSystemObject
IHost のメンバ

626:名無し~3.EXE
09/08/26 05:38:00 B2LpVl9D
┐(゚~゚)┌

627:名無し~3.EXE
09/09/04 17:03:19 jKjPpgpi
>>620
VBSでこんなクラスを作ったとする

Class Hoge
  Public fso
  Private Sub Class_Initialize
    Set fso =  CreateObject("Scripting.FileSystemObject")
  End Sub
End Class

このHogeクラスはFileSystemObjectを内蔵している?

628:名無し~3.EXE
09/09/04 17:31:08 fqDq7lDU
粘着馬鹿が居る
scrrun.dllを削除して使えるかどうかで判定できるだろ?

629:名無し~3.EXE
09/09/04 18:10:05 jKjPpgpi
>>628
「(null): 指定されたモジュールが見つかりません。」って言われた

たぶんXPのWindows File Protectionが削除されたscrrun.dllを
速攻で復活させてるだけじゃ?

630:名無し~3.EXE
09/09/04 18:23:58 ELlrcgTf
標準でそのオブジェクトが使えるなら、どうでもいい話じゃないのか?
Windowsでしか使えないんだし。

631:名無し~3.EXE
09/09/04 18:45:43 fqDq7lDU
regsvr32 /u scrrun.dll

632:名無し~3.EXE
09/09/04 18:49:46 CBscgCCx
つまりwscript.exeはFileSystemObjectを持ってて実装はscrrun.dllに丸投げ
ただしCOM経由じゃなく直接dllをロードする
てことでいいのか
まあ何でも良いが

633:名無し~3.EXE
09/09/04 19:18:57 fqDq7lDU
なにを根拠に妄想をたくましくしてんだ?ぼけ

634:名無し~3.EXE
09/09/04 19:29:53 CBscgCCx
もちろん629からだが
是非ご高説賜りたいもんだね

635:名無し~3.EXE
09/09/07 09:49:49 niBBT+9B
この雰囲気、好きくない

636:名無し~3.EXE
09/09/09 06:43:01 mKiDYFp0
質問:WSHまたはWindows Scripting Component で任意のインターフェースをImplementsしたクラスを作成する方法はありませんか?

■経緯
Excel VBAで、外部COM DLLを使ってスクリプト作成しているのですが、
これをWSHに移植しようとしています。

しかし、問題は外部COM DLLで定義されているインターフェースのImplementsが必要な事です。
WSHではImplementsは非対応のようなので、困っています。

ググって見たところ、Windows Scripting Component にはImplementsを指定する箇所がありますが、
指定してみても「インターフェイスハンドラを作成できません」というエラーになります。
(hoge.wsc の中に <implements type="dhRichClient3.IFunction" /> <implements type="IFunction" /> のように記述)
どうも、このImplementsに指定できるインターフェースは、ASPとBehaviourというもののみのようです。
(何か勘違いをしている可能性が大ですが…)

任意のインターフェースをImplementsする方法はないでしょうか。

■やろうとしていること
SQLiteを使った、SQL文中でのユーザ定義関数の定義。
外部COM DLLは「dhRichClient3」、インターフェースは「IFunction」
リファレンスマニュアル:URLリンク(www.datenhaus.de)
■ASP,Behaviour以外のインターフェースを実装しようとしている人の質問(回答なし)
URLリンク(www.palm-jp.net)


637:名無し~3.EXE
09/09/10 19:09:44 Rxuv3x7H
XP-SP3ってデフォ5.7なのね
今までI漏れのPCにIE7入れたからかと思ってたわ
つーことはXPSP3-IE6-WSH5.7の環境もあるってことか

638:名無し~3.EXE
09/09/11 00:00:23 jfkxOInx
俺も知らんかった

639:名無し~3.EXE
09/09/11 10:52:35 mRbnvINb
つーか俺が先日買ったばかりのWinXPインストール済マシンが、最初からXPSP3-IE6-WSH5.7だったよ。

640:名無し~3.EXE
09/09/11 12:27:43 SdwA2vDJ
Win7のVerはいくつだろね

641:名無し~3.EXE
09/09/11 14:55:05 XbLP+/qN
InternetExplorer.ApplicationでzipファイルにNavigate2すると
「ファイルのダウンロード」ダイアログが出るのですが、
これを自動で保存する方法はないでしょうか?

642:名無し~3.EXE
09/09/11 14:58:31 cqrP63L1
sendkeys

643:名無し~3.EXE
09/09/11 18:15:43 iWeyg2oG
>>631
オートメーション サーバーはオブジェクトを作成できません。
URLリンク(www.dotup.org)

644:名無し~3.EXE
09/09/11 19:57:50 oH1Rk1Zr
>>640 IE8だから最低でも5.8だろ多分。
IE7だから5.7ってわけでもないんだが。

645:名無し~3.EXE
09/09/11 21:53:14 cqrP63L1
5.7になって何かよかったことがあるのか?

646:名無し~3.EXE
09/09/12 01:16:59 lalkaeIA
細々とでもアップデートしてくれること自体がいいんじゃん
番号だけかもしれんけど

とりあえず捨て去ることはないという証明にはなる

647:名無し~3.EXE
09/09/12 03:33:40 WpoHmTYS
>>640
System32のjscript.dllのプロパティを見ると5.8.7100.0となっている。
Windows 7 RCの64ビット版。

648:名無し~3.EXE
09/09/12 11:50:44 lalkaeIA
>>647
ありがとう
よかった

649:名無し~3.EXE
09/09/12 19:13:12 WNZ2NMuP
cmd.exeはアップデートないけど、ちっともなくならないな
んでも、cmd.exeをアップデートしてほしいな

650:名無し~3.EXE
09/09/12 21:24:04 uHTfzOPd
ちゃんとコマンド増えてるだろ

651:名無し~3.EXE
09/09/12 22:49:33 WNZ2NMuP
なんちゅう内部コマンド?

652:名無し~3.EXE
09/09/12 22:53:14 VYRMYvSC
norip
oshio
komuro

653:名無し~3.EXE
09/09/13 00:31:00 mwzFyCze
dictionary オブジェクトの item に配列を入れた場合、直接値の変更はできないんですか?

Set d = CreateObject("Scripting.Dictionary")

d.Item("hoge") = Array("bing", "bang")

d.Item("hoge")(0) = "ting"

' bing が出力される。
WScript.Echo d.Item("hoge")(0)

654:名無し~3.EXE
09/09/13 00:48:58 GSibjpcz
だな

655:名無し~3.EXE
09/09/13 00:50:35 E0QFUGQF
VBSの配列の代入は値のコピー。
だから、
d.Item("hoge")(0) = "ting"

Dim x
x = d.Item("hoge")
x(0) = "ting"
に分割され、このときxへの代入時に配列丸ごとコピーされて
d("hoge")が持ってる配列とxが持ってる配列は別物になる。
めんどくさい仕様だなぁ。

656:名無し~3.EXE
09/09/13 22:57:18 GSibjpcz
だね

657:名無し~3.EXE
09/09/14 14:12:31 ym3DmcgO
で、どうする?

658:名無し~3.EXE
09/09/16 12:46:23 O8adoxSh
そういう質問じゃないので不要

659:名無し~3.EXE
09/09/22 17:47:22 f8eHyCtX
Vista/7でスクリプトが管理者権限で実行されてるかどうかを調べる方法ってある?

660:名無し~3.EXE
09/09/22 23:43:20 ua4fgPA7
>>659
まず管理者権限かどうかを調べるってのはVistaより前でも結構難しいのよ。
そりゃローカルのユーザでログオンしてて自分が管理者かどうかを調べるなら
WMIで簡単だけど、ドメインのユーザだとドメインに聞かないとダメだろ?
だから簡単じゃない。

それにVista/7だと、それ以前にUACが有効になってたりそのUACがデフォルト
より厳しい設定になってる可能性もあるだろ。そうすると、たとえ本当に管理者で
入っていたとしてもスクリプトのチェックが蹴られたり、チェックで通っても
実際にしたい処理のときにUACに蹴られる可能性もある。

だから何をしたいのかをまず絞り込んでから個別に作るべきだな。

661:名無し~3.EXE
09/09/24 22:24:17 xUyLc6Jz
最近のヘイ スクリプティング ガイ!
がPowerShellばっかりな県


662:名無し~3.EXE
09/09/25 00:40:04 rKkYwStT
さすがにネタ切れだろ

663:名無し~3.EXE
09/09/25 17:40:03 04nmuvJP
むしろMS的にPowerShellよりWSHを推してたら驚く

664:名無し~3.EXE
09/09/25 19:19:58 rKkYwStT
その程度のことでは別に驚かないが?

665:名無し~3.EXE
09/09/27 17:59:32 TzLFyzEj
もしPINVOKEのCOMが標準提供されたらWSHの時代だな

666:名無し~3.EXE
09/09/27 18:20:18 kSF/I/Bf
まあ、諦めよう。

667:名無し~3.EXE
09/09/28 10:00:42 kC4ZBQjl
VBS - FSWikiLite
URLリンク(tuka.s12.xrea.com)

668:名無し~3.EXE
09/09/28 10:34:11 kC4ZBQjl
Markopee::Notebook: ドライブレターのないボリュームの容量を取得する
URLリンク(markopee.blogspot.com)

669:名無し~3.EXE
09/09/28 17:06:27 2vo3Sj9E
PINVOKEのCOMをどっとねっとで書いて、WSH実行時に動的コンパイルして
インストールしないで使えばええんじゃね

670:名無し~3.EXE
09/09/29 20:31:00 nRCW7wUP
そこまでするなら素直にPowerShell使ったほうがいいような

671:名無し~3.EXE
09/09/29 20:52:12 2osslqGd
PowerShellのPINVOKEもめんど

672:名無し~3.EXE
09/09/29 21:21:02 BcdCkTRc
PowerShellなんてのも有るんだ。
なんかでこのスレ覗いて、そのままずっと自動レス取得にしといて良かった。
ちょっとtechnet読んでくる。

673:名無し~3.EXE
09/09/29 23:26:16 w+WE5kvG
PowerShellの方はAdd-Typeのお陰で随分楽になった
まあPythonのctypesみたいなのが元からあるのが理想だけど

674:名無し~3.EXE
09/09/30 04:27:48 VE3quA4g
367 :名無し~3.EXE:2008/02/19(火) 21:38:37 ID:qK/Wztn/
おれはこのVBSを作って自作ソフトからファイル渡ししてるけど
DoLoopとかforで回せばいいじゃん、めんどくさがりだなあ
'IrvineQueueFolder.vbs 'キューフォルダを指定してURLやURLリストファイル郡を登録
'IrvineQueueFolder.vbs 引数1 引数2 引数3 ...
'引数は、[キューフォルダ]または[URL]または[URLリストファイル名]で混在可
'キューフォルダは"/"で始まるように絶対指定する
QueueFolder="/Default/dorothy2/Auto" 'キューフォルダの指定(デフォルト)
'
Set Irvine = WScript.CreateObject("Irvine.Api")
Set arg = WScript.Arguments  'コマンドラインの引数郡
For i=0 to arg.Count - 1
 If Left(arg(i), 7)="http://" Then 'URL
  Url = arg(i)
  Irvine.AddQueueItem QueueFolder, Url 'アイテム登録
 ElseIf Left(arg(i), 1)="/" Then 'キューフォルダ指定
  QueueFolder = arg(i) 'キューフォルダの指定(指定以降はこのフォルダになる)
 Else        'URLリストファイル
  Set fso = CreateObject("Scripting.FileSystemObject")
  FileName = arg(i)
  Set TextFile = fso.OpenTextFile(FileName) ' テキストファイルのオープン
  Do Until TextFile.AtEndOfStream
   Url = TextFile.ReadLine ' 1行読み込み
   Irvine.AddQueueItem QueueFolder, Url 'アイテム登録
  Loop
 End If
Next
Set irvine = Nothing
368 :名無し~3.EXE:2008/02/19(火) 21:40:43 ID:qK/Wztn/
ああスマン、リファラ必要だったか、間違えた
ほんとごめん、無かった事にしてくれw

675:名無し~3.EXE
09/09/30 18:59:30 yNSminJl
IE の clipboard.GetData("text") を使ってるんですけど
クリップボードの中身が文字列でないときにエラーが出るんですけど
これどうして対処したらいいですか?


クリップボードの中身の sDataFormat が何か分かるプロパティとかあるんですか?
それがあればtextであった場合のみ実行できるんですが…。

676:名無し~3.EXE
09/09/30 19:07:10 uvZrgPLl
エラーを握り潰せばいいんじゃね?

677:名無し~3.EXE
09/09/30 19:42:46 yNSminJl
>>676
ありがとう。
エラー処理するのはあまり本位ではないのですが…
try で組もうと思います。

678:名無し~3.EXE
09/09/30 20:48:09 eF+M6xuO
それはあまりにも自分本位じゃまいか

679:名無し~3.EXE
09/11/08 19:21:35 7qQVL7wO
エラーにも言い分があるはず。こっちも心を開かないと
エラーも心を開くはずがない。

680:名無し~3.EXE
09/11/18 10:55:25 +QJ44J2l
CかC++で普通の旧式の非ウィンドウアプリケーション書いて、
データ入力部分だけhtaでGUIもどきのことをしたいと思っています。

質問1、execでstdinとstdoutだけを読み書きして
stderrはコンソールにそのまま出力ということは出来るのでしょうか?
これが出来ると本当に安直なプログラムが書けそうなんですが

質問2、exec のstdoutにデータが来てるかどうか読まずに確かめる方法はあるのでしょうか?
これが出来ないと予期しない出力は結局ファイルで合図しなければならないかと思っています

以上2点、レベルの低い質問かもしれませんが、自分で検索しても出来るかどうかよく分かりませんでした
特に1が出来ないと結局ファイルでやり取りしたほうが今作ろうとしているプログラムは書きやすいかと
思っています


681:名無し~3.EXE
09/11/18 12:30:35 m1LVyF2l
exec "cmd /c hoge 2>con"

682:名無し~3.EXE
09/11/18 12:46:03 +QJ44J2l
>>681
質問1は、できるのですね。やってみました。本当にありがとうございました

質問2は、できるのでしょうか?

683:名無し~3.EXE
09/11/18 14:13:26 m1LVyF2l
パイプはnon blocking readがないので無理
ファイルならatendofstreamで可能

684:名無し~3.EXE
09/11/18 14:38:19 +QJ44J2l
>>683
回答ありがとうございます。
用語がよく分かっていませんが、それで調べてみます。

685:名無し~3.EXE
09/11/21 19:12:00 q2jqgO7W
ノートPCに付いている専用アプリケーションキーを押す都度に
内蔵スピーカーからの出力と、外付けUSBスピーカーからの出力を
交互(トグル)に切り替えるにはどういったスクリプトを書けばよいでしょうか?
出来れば切り替えた際にダイアログを表示して確認出来ると尚良いです。

アプリケーションキーからスクリプトを起動させるところまでは
方法がわかっているのですが、肝心のスクリプトがわかりません。

ぶしつけなお願いとはわかっていますが、どうか宜しくお願いします。

686:名無し~3.EXE
09/11/21 21:20:19 l4Atd+m7
ここ( URLリンク(hp.vector.co.jp) )の SetPlayDevice とかを叩けばいいんじゃない
Vista, 7 じゃ無理みたいだけど。

687:名無し~3.EXE
09/11/21 22:00:31 q2jqgO7W
>>686
ありがとう
それを元に調べてみるとVista、7からはサウンド関係の仕様に
変更があったようで使えないのですね
そうとは知らずにOSを書いてなくてすみませんでした
今のところVista以降に関してMSからも情報提供が乏しいようですね

688:名無し~3.EXE
09/11/22 01:40:11 uq5f84wJ
select caseって数値の比較とか出来ないんでしょうか?
a = 1 のとき a > 0が引っかからないのですが・・・
完全な決めうちしか出来ないって事ですか?


689:名無し~3.EXE
09/11/22 13:32:21 cCLt2wk9
>>688
頭を使え

690:名無し~3.EXE
09/11/22 14:54:21 HA1psbZl
3>a>=1なら b=1にしてSelect bにするとか mod使ってSelect 計算式
にするとかいくらでもやりようがあるだろうに (;一_一)

691:名無し~3.EXE
09/11/22 15:27:40 cCLt2wk9
>>690
頭を使った?
select case true
case a>0

692:名無し~3.EXE
09/11/23 00:08:54 Nzh7T0tA
select caseって、caseって書くくらいだから、決め打ち有りきだと思ってたけど、そう思わない人も居るんだな。
つか、a=1の時、a=1の処理がしたいのかa>0の処理がしたいのかを誰が決めるんだろ?
i7?pen3?

693:名無し~3.EXE
09/11/23 11:22:05 1SNAy8LO
「VBAみたいに『Is > 0』って書ければ良かったのに」って
>>688は言いたいんじゃないの?

694:名無し~3.EXE
09/11/23 19:28:11 8m8LyL5s
a = 1
Select Case a
Case a > 0
MsgBox "引っかからない"
Case Else
End Select

ってことだろ
VBSはIsもToもサポートしてない


695:名無し~3.EXE
09/11/23 19:36:49 8m8LyL5s
Is > 0 だった



696:名無し~3.EXE
09/11/25 14:37:08 vRBOSPMC
エクスプローラの"ファイル名でソート"と同じ規則でソートする方法はありませんか
エクスプローラの表示だと
 あ,txt
 ア,txt
 い,txt
 イ,txt
wshでファイルリストを出力すると
 あ,txt
 い,txt
 ア,txt
 イ,txt
となってしまいます

697:名無し~3.EXE
09/11/25 14:45:05 QJTE9W/a
URLリンク(scripting.cocolog-nifty.com)

698:名無し~3.EXE
09/11/25 23:51:49 vRBOSPMC
>697にある三番目のスクリプトをJscriptに書き換えたけどうまく動きません。添削をお願いします。
for文のループが実行されません。

FolderName="フルパス";
var fso=new ActiveXObject("Scripting.FileSystemObject");
var ie=GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}");
ie.Navigate(FolderName);
do {WScript.Sleep(100);} while ((ie.Busy) || (ie.ReadyState!=4));
var Folder=ie.Document.Folder;
for (var i=0; i < Folder.Count; i++){
var FolderItem=Folder.Items(i);
if (FolderItem.Type=="ファイル フォルダ"){
if(toLowerCase(fso.GetExtensionName(FolderItem.Path))=="txt"){
WScript.Echo(fso.GetFileName(FolderItem.Path));
}
}
}
//ie.Quit;//エラーが出る

699:名無し~3.EXE
09/11/25 23:59:57 TDrkyoKp
Document.Folderで手に入るのがコレ
URLリンク(msdn.microsoft.com)
Countというプロパティは無い
Itemsメソッドは引数を取らない

700:名無し~3.EXE
09/11/26 00:46:36 O7jscl7L
プロパティとメソッドの区別がついてないんじゃないの?

701:名無し~3.EXE
09/11/26 21:57:55 N/S5kwhR
本質的な違いはない

702:名無し~3.EXE
09/11/27 00:40:22 ZUJwRQCx
//ie.Quit;//エラーが出るだろぼけ

703:名無し~3.EXE
09/11/28 23:53:27 oniuazYX
だまれクズ豚

704:名無し~3.EXE
09/11/29 13:26:33 0uSg2Cxv
VBScriptとJScriptの区別がついてないんじゃないの?

705:名無し~3.EXE
09/11/29 20:55:52 0uSg2Cxv
シンタクス以外に本質的な違いはない

706:名無し~3.EXE
09/11/30 18:37:23 xUEhOJNz
動詞と名詞の区別がついてないんじゃないの?


707:名無し~3.EXE
09/12/01 22:01:40 yDXwDcOy
Cscriptで起動したスクリプトからコンソールアプリケーションを起動した場合に
その標準出力をスクリプトで受け取るような事ってどうやっても無理なんでしょうか?

708:名無し~3.EXE
09/12/01 22:11:59 lsMwusSy
>>707
関係ないけどWindows3.1のころは「ヘルプのヘルプ」ってのがあった。
最近は初心者切捨てでかわいそうだね。

709:名無し~3.EXE
09/12/01 22:12:48 HwFSNddt
どうやってもってなんか極めて困難かであるかのように
WshScriptExec使えばいいっしょ

710:名無し~3.EXE
09/12/01 22:13:19 WdXqZ7eU
>>708
いまだにPC初心者っているんだな。全国民に行き渡ったと思ってたぜ。

711:名無し~3.EXE
09/12/01 23:45:51 bXIPT5f9
誰に教わるでもなくいきなり車ができたり
英語が話せたり
そんなすごい人がいたら教えてください

712:名無し~3.EXE
09/12/02 10:56:22 ZUy7XsN4
単数と複数の区別がついてないんじゃないの?

713:名無し~3.EXE
09/12/03 16:49:20 rN3MSJ1f
hta アプリケーションのウインドウに、ファイルのドラッグドロップって出来ましたっけ?
ドラッグドロップしたファイルのパスをhtaで利用したいんですが。
可能ならどうやってイベントを拾えばいいですか?。

714:名無し~3.EXE
09/12/03 20:44:12 ThJuUPaj
すれっち
スレリンク(tech板)

715:名無し~3.EXE
09/12/05 17:35:36 /VdO4Ha3
XPとWScriptのJscriptで、manifest使ってレジストリ登録なしでAutoItXが使えたんでメモしとく。
まずWScript.ExeとCScript.Exeをコピーして適当なフォルダに入れとく。
AutoItX3.dllも同じところに入れとく。
同じ場所にテキストファイルを3つ作る。
wscript.exe.manifest
cscript.exe.manifest
AutoIt.AutoItX3.manifest

716:名無し~3.EXE
09/12/05 17:36:31 /VdO4Ha3
AutoIt.AutoItX3.manifest の中身

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.1"
processorArchitecture="x86"
name="AutoIt.AutoItX3"
type="win32"
/>
<file name="AutoItX3.dll">
<typelib tlbid="{f8937e53-d444-4e71-9275-35b64210cc3b}" version="1.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
<comClass clsid="{1a671297-fa74-4422-80fa-6c5d8ce4de04}" threadingModel="Apartment" tlbid="{f8937e53-d444-4e71-9275-35b64210cc3b}" progid="AutoItX3.Control.1" description="AutoItX3 Class" />
</file>
</assembly>

717:名無し~3.EXE
09/12/05 17:37:29 /VdO4Ha3
wscript.exe.manifest の中身

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
version="1.0.0.1"
processorArchitecture="x86"
name="AutoIt.wscript.exe"
type="win32"
/>

<description>WScript.exe</description>

<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="AutoIt.AutoItX3"
version="1.0.0.1"
processorArchitecture="x86"
/>
</dependentAssembly>
</dependency>
</assembly>


718:名無し~3.EXE
09/12/05 17:38:19 /VdO4Ha3
cscript.exe.manifest の中身

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
version="1.0.0.1"
processorArchitecture="x86"
name="AutoIt.cscript.exe"
type="win32"
/>

<description>WScript.exe</description>

<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="AutoIt.AutoItX3"
version="1.0.0.1"
processorArchitecture="x86"
/>
</dependentAssembly>
</dependency>
</assembly>

719:名無し~3.EXE
09/12/05 17:43:52 /VdO4Ha3
// この test.js をコピーしたWScript.exeにドラッグして実行させると、画面の中央にツールチップが現れるはず。
// スクリプト起動時にこっちのWScript.Exeを選ぶスクリプト書いておけば、ポータブルでもAutoItXの機能が使える。

oAutoIt = new ActiveXObject( "AutoItX3.Control.1" );

oAutoIt.ToolTip("WSH★★★こんばんみ★★★Part7",500,500);

WScript.Echo(100);

oAutoIt.Sleep(3000);

WScript.Echo(200);

720:名無し~3.EXE
09/12/05 18:51:16 /VdO4Ha3
マニュフェストは下のように1つにまとめても動いたわw。分けなくてもよかったようだ。
wscript.exe.manifest の中身

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="wscript.exe" version="1.0.0.0" type="win32" />
<file name="AutoItX3.dll">
<typelib tlbid="{f8937e53-d444-4e71-9275-35b64210cc3b}" version="1.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
<comClass clsid="{1a671297-fa74-4422-80fa-6c5d8ce4de04}" threadingModel="Apartment" tlbid="{f8937e53-d444-4e71-9275-35b64210cc3b}" progid="AutoItX3.Control.1" description="AutoItX3 Class" />
</file>
</assembly>

721:名無し~3.EXE
09/12/05 19:26:28 /VdO4Ha3
// sample自動的に隣のマニフェスト付きCscriptExeを使うmanifest.js

var s="cscript.exe.manifest と Cscript.Exe と \n";
s+="AutoItX3.dll が揃ったフォルダに、このスクリプトを置いておく。\n";
s+=" もしAutoItX3が登録されていればシステムの Cscript.Exe を使ったまま処理は続行する。\n";
s+=" 無ければ、このスクリプトは一旦終了し、\n";
s+="隣にある Cscript.Exe を使って起動する。引数も引き継ぐ。";
new ActiveXObject("WScript.Shell").Popup(s,0,'test',0);

var sArg='';for(var iii=0;iii<WScript.Arguments.length;iii++){sArg+=" "+"\""+WScript.Arguments(iii)+"\"";};;;
try{oAutoIt = new ActiveXObject( "AutoItX3.Control.1" );}catch(e){
new ActiveXObject('WScript.Shell').Run(new ActiveXObject('Scripting.FileSystemObject').GetParentFolderName(WScript.ScriptFullName)
+ "\\" + 'cscript.exe //E:Jscript //nologo ' + "\"" + WSH.ScriptFullName + "\"" + ' ' + sArg,1,0);;;
WScript.Quit();};

oAutoIt.ToolTip("WSH★★★こんばんみ★★★Part7",500,500);

var n=3000;

WScript.Echo("AutoItXのSleepを使ってみる " + n + " ミリ秒");

oAutoIt.Sleep(n);

WScript.Echo(3000);

oAutoIt.Sleep(3000);

722:名無し~3.EXE
09/12/05 23:46:56 /VdO4Ha3
とりあえず、ポータブルのJScriptでもAutoItXでアプリ制御、SeraphyScriptDialogでGUIフォーム、SFCminiでWin32API、いくつかは動いたんで最後のまとめ。 cscript.exe.manifest の中身。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="cscript.exe" version="1.0.0.0" type="win32" />

<file name="scrdlg.dll">
<comClass clsid="{86893BFE-A779-4685-8FC9-D63C8827C4C9}" threadingModel="Apartment" tlbid="{86893BFE-A779-4685-8FC9-D63C8827C4C9}" progid="SeraphyScriptDialog" description="scrdlg Class" />
</file>

<file name="AutoItX3.dll">
<typelib tlbid="{f8937e53-d444-4e71-9275-35b64210cc3b}" version="1.0" helpdir="" />
<comClass clsid="{1a671297-fa74-4422-80fa-6c5d8ce4de04}" threadingModel="Apartment" tlbid="{f8937e53-d444-4e71-9275-35b64210cc3b}" progid="AutoItX3.Control.1" description="AutoItX3 Class" />
</file>

723:名無し~3.EXE
09/12/05 23:48:35 /VdO4Ha3
つづき、AMD は sfcminii.dll を sfcminia.dll に変える。

<file name="sfcminii.dll">
<comClass clsid="{1303599D-3028-4EAC-97BB-D9370B88B2DA}" threadingModel="Apartment" tlbid="{1303599D-3028-4EAC-97BB-D9370B88B2DA}" progid="SfcMini.DynaCall" description="sfcminii Class" />

<comClass clsid="{F5B4E399-F606-41FC-B049-D247156F8F3E}" threadingModel="Apartment" tlbid="{F5B4E399-F606-41FC-B049-D247156F8F3E}" progid="SfcMini.Structure" description="sfcminii Class" />

<comClass clsid="{4D2C1575-A55B-418F-A25C-ECEB45FC5FD2}" threadingModel="Apartment" tlbid="{4D2C1575-A55B-418F-A25C-ECEB45FC5FD2}" progid="SfcMini.MachineCode" description="sfcminii Class" />

<comClass clsid="{DC430254-87C0-4800-8C45-8B0C2BED1A53}" threadingModel="Apartment" tlbid="{DC430254-87C0-4800-8C45-8B0C2BED1A53}" progid="SfcMini.ClassEx" description="sfcminii Class" />

<comClass clsid="{6F5E1721-E8A4-48BB-B29F-A549EDA82CC7}" threadingModel="Apartment" tlbid="{6F5E1721-E8A4-48BB-B29F-A549EDA82CC7}" progid="SfcMini.tools" description="sfcminii Class" />
</file>
</assembly>

724:名無し~3.EXE
09/12/07 00:20:21 nBnCs4W2
//やべえ。銚子に乗って書いたが、設定がうまく遺憾人は無限ループになる可能性がある。
//1回で打ち切りにするテスト用スクリプトをカキコ。スマン。

// sample自動的に隣のマニフェスト付きCscriptExeを使うmanifest無限ループ回避.js

var s="cscript.exe.manifest と Cscript.Exe と \n";
s+="AutoItX3.dll が揃ったフォルダに、このスクリプトを置いておく。\n";
s+=" もしAutoItX3が登録されていればシステムの Cscript.Exe を使ったまま処理は続行する。\n";
s+=" 無ければ、このスクリプトは一旦終了し、\n";
s+="隣にある Cscript.Exe を使って起動する。引数も引き継ぐ。";

var objshl=new ActiveXObject('WScript.Shell');
if(objshl.Environment('process').item('senvstopscript')!=1){
try{oAutoIt = new ActiveXObject( 'AutoItX3.Control.1' );}catch(e){
objshl.Popup("この後RUNする\n\n"+s,0,'test',0);
var sArg='';for(var iii=0;iii<WScript.Arguments.length;iii++){sArg+=" "+"\""+WScript.Arguments(iii)+"\"";};;;
objshl.Environment('process').item('senvstopscript')=1;
objshl.Run(new ActiveXObject('Scripting.FileSystemObject').GetParentFolderName(WScript.ScriptFullName)+ "\\" + 'cscript.exe //E:Jscript //nologo ' + "\"" + WSH.ScriptFullName + "\"" + ' ' + sArg,1,0);;;
WScript.Quit();};
};
WScript.Echo(s,0,'test',0);
WScript.Sleep(2000);
oAutoIt = new ActiveXObject( 'AutoItX3.Control.1' );
var n=3000;
oAutoIt.ToolTip("AutoItXのSleepを使ってみる " + n + " ミリ秒",500,500);
oAutoIt.Sleep(n);

725:名無し~3.EXE
09/12/07 01:28:35 WsLj3zGr
ウチでも動いた。
また入れなおしたけど。

726:名無し~3.EXE
09/12/09 15:51:14 LISCbfE6
面白そうだからPortableSleipnir、LunaPocketでも試したがmanifestでは駄目だった。
でPortableSleipnirでScriptのほうに手を加えて、
起動するときにmanifest付きのwscript.exeから
起動しなおすようにしたらSleipnirやAutoItXのオブジェクトも使えた。
もちPortableはsleipnirからxmlをコピーしてメニューにスクリプトが出るようにしてからだがな。

727:名無し~3.EXE
09/12/09 15:54:58 LISCbfE6
// pWScriptExeでパスを決める。
// もしくはbinフォルダにマニフェストとDLL、exeを入れる。
objfso=new ActiveXObject("Scripting.FileSystemObject");
objshl=new ActiveXObject("WScript.Shell");
pnir = new ActiveXObject("Sleipnir.API");

if(objshl.Environment("process").item("senvstopscript")!=1){
//wscript.exeのパスを決め内する場合
pWScriptExe="U:\\wscript.exe";
//もしbinフォルダにwscript.exeがあればそれを使う。
if(objfso.FileExists(pnir.AppPath + "wscript.exe")){
pWScriptExe=pnir.AppPath + "wscript.exe";
};
objshl.Environment("process").item("senvstopscript")=1;
objshl.Run("\"" + pWScriptExe + "\"" + " //E:Jscript //nologo " + "\"" + WSH.ScriptFullName + "\"" ,1,0);;;
WScript.Quit();
}

str = pnir.AddressBarString;
str+="\n"+pnir.AppPath;
WScript.Echo(str);
WScript.Echo("test");
WScript.Sleep(2000);

oAutoIt = new ActiveXObject( "AutoItX3.Control.1" );
var n=3000;
oAutoIt.ToolTip("AutoItXのSleepを使ってみる " + n + " ミリ秒",500,500);
oAutoIt.Sleep(n);

728:名無し~3.EXE
09/12/09 19:38:19 vX1/pBxQ
Luna4Pocket、 PortableSleipnir、 どっちでも外部のDLLは使える。
Luna.exeと同じ場所に、wscript.exe、 wscript.exe.manifest、 AutoItX3.dll、 etc dll を
置いておけばこっちの wscript.exe を優先するんで Dll も動く。

729:名無し~3.EXE
09/12/09 22:39:03 Yhsi9HCt
いつの間にかJScriptのファイルのアイコンが白地に箱のアイコン
になってたんですが、デフォルトの黄色のパンチカード?のアイコンに戻し
たいです
どうしたらいいですか?

プロパティの関連付けを確認すると「Console Based Script Host」に
なってるんで関連付けは間違っていないと思います。

730:名無し~3.EXE
09/12/09 22:53:17 5hilr/mv
普通Console Based(cscript.exe)じゃなくてWindows Based(wscript.exe)に関連づけられてるはずだが?

731:名無し~3.EXE
09/12/10 13:50:34 Mq0kj3tj
regsvr32 wshext.dll

732:名無し~3.EXE
09/12/11 19:38:39 sMPK5/7s
どうでもいいが、むだ口さんの掲示板が宣伝ばっかりだ。

733:名無し~3.EXE
09/12/12 19:42:43 ZndgYDwX
生活かかってんだろ?買ってやれよ

734:名無し~3.EXE
09/12/15 00:57:14 XWk31MKA
wscript.exe.manifest basp21.dll capicom.dllの一部が動きました。全部試してません。
ポータブル環境やエディタでの暗号処理も簡単そうです。
URLリンク(www.microsoft.com)
msi を解凍すればcapicom.dll が入手できます。
msiexec /a capicom_dc_sdk.msi targetdir="z:\hogehoge" /qn

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="wscript.exe" version="1.0.0.0" type="win32" />

<file name="capicom.dll">
<typelib tlbid="{BD26B198-EE42-4725-9B23-AFA912434229}" version="1.0" helpdir="" />
<comClass clsid="{A440BD76-CFE1-4D46-AB1F-15F238437A3D}" threadingModel="Apartment" tlbid="{BD26B198-EE42-4725-9B23-AFA912434229}" progid="CAPICOM.EncryptedData.1" description="CAPICOM.EncryptedData Class" />
</file>

<file name="Basp21.dll">
<typelib tlbid="{607E85A1-3B9C-11D1-863C-00000E4E0AD6}" version="1.0" helpdir="" />
<comClass clsid="{5A99A823-3B97-11D1-863C-00000E4E0AD6}" threadingModel="Apartment" tlbid="{607E85A1-3B9C-11D1-863C-00000E4E0AD6}" progid="Basp21.1" description="Basp21 Class" />
</file>

735:名無し~3.EXE
09/12/15 01:10:52 XWk31MKA
objBasp=new ActiveXObject('basp21.1');
sOriginal='basp21.1こんばんは';
sEnc = objBasp.Base64(sOriginal,0);
sDec = objBasp.Base64(sEnc,1);
WScript.Echo(sOriginal +"\n"+ sEnc +"\n"+ sDec);

sOriginal = 'CAPICOM.EncryptedData.1こんばんは';
sKey='Password';
objCapicom = new ActiveXObject('CAPICOM.EncryptedData.1');

objCapicom.SetSecret(sKey);
objCapicom.Content = sOriginal;
sEnc = objCapicom.Encrypt().replace(/\s$/,'');
objCapicom.Decrypt(sEnc);
sDec = objCapicom.Content;

WScript.Echo(sOriginal + "\n" + sKey +"\n" + sEnc + "\n" + sDec);

736:名無し~3.EXE
09/12/16 10:27:34 BQc3xGqm
すみません。教えてください。

>cscript.exe hoge.vbs

としてvbsを実行した場合、hoge.vbsで実行時エラーが発生した場合に
cscript.exeが終了コード0以外を返すようにするには
どうしたらよいでしょうか?

よろしくお願いいたします。

737:名無し~3.EXE
09/12/16 12:02:16 0CWXvG5X
WScript.Quit 1

738:名無し~3.EXE
09/12/16 12:35:25 BQc3xGqm
>>737
ありがとうございます。
やはりvbs側の修正が必要なんですね。


739:名無し~3.EXE
09/12/18 00:03:33 hmFH5f4H
on error ?

740:名無し~3.EXE
09/12/18 07:19:38 5pMA288l
こんにちは
テキストファイルから文字列の抽出をしたくて、できる方法を探してます。
やりたいのは
1.アプリケーションA.exeを終了させる
2.B.txtの「通信」という語句がある行の、""に囲まれた文字列を
  抽出し、C.txtの末尾に追加する
3.B.txtの内容を全消去し保存する
4.10秒後にA.exeを再起動する

という作業です。これをWSHでやることは可能でしょうか?
宜しかったら、どういうコマンドを使えばできるかざっとでも教えて頂けないでしょうか?

741:名無し~3.EXE
09/12/18 07:28:48 kF8+V9so
まず服を脱ぎます

742:名無し~3.EXE
09/12/18 07:30:33 Dsca2BJb
次に綿棒を用意します

743:740
09/12/18 11:20:12 5pMA288l
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("A.log")
Set B = fs.OpenTextFile("B.lst", 8, False)

Do Until f.AtEndOfStream
l = f.ReadLine
If InStr(l, "達成") <> 0 then ret = ret & l & vbCrLf
Loop

f.Close
B.Write ret
B.Close

とりあえず、行を抽出することはできたんだけど、行の中の""に囲まれた部分
だけを抽出するにはどうしたらいい?
       ∧__∧
      (´・ω・` )
       (⊃⌒*⌒⊂)
        /__ノωヽ__)


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