DOBON.NET DOBON.NETプログラミング掲示板過去ログ

スクリプトでの制御

  • 題名: スクリプトでの制御
  • 著者: 赤シャチ
  • 日時: 2008/08/19 17:44:31
  • ID: 22749
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[WinXp]
分類:[その他]

初めてスクリプトを書いているのですが、
Set objShell = WScript.CreateObject("WScript.Shell")
スクリプト実行中、ユーザー側で操作出来ないようにするには、どのようにすれば宜しいのでしょうか。
カーソルを砂時計にすればいいような気もするのですが。。。

よろしくお願い致します。
■No22749に返信(赤シャチさんの記事)
> ユーザー側で操作出来ないようにするには
ここでいう「操作」とは、何を操作することを指しているのでしょうか?


> カーソルを砂時計にすればいいような気もするのですが。。。
VBScript そのものには、カーソル変更の機能はありません。WSH なら尚更です。

そもそも cscript 起動時にいたっては、コンソール実行になるわけで、
「画面」という物がそもそもありません。標準入出力なら使えますが。
(言語レベルでサポートされている UI は、MsgBox と InputBox のみです)

ただし、スクリプトの実行ホスト側で、マウスカーソルの変更機能が
用意されている場合もあります。たとえば、『HTC』などから VBScript を
呼び出しているのであれば、画面側に対して
 .runtimeStyle.cursor = "wait"
のように記述してやれば OK です。


とはいえ、「砂時計カーソルにする」ことと、「操作の可否」というのは
本来無関係です。ユーザー側操作の禁止というのが、何のために必要なのかを
具体的に書いてもらえれば、別の回答ができるかもしれません。
魔界の仮面弁士さん、ありがとうございます。
そして、言葉足らずで申し訳ないです。

ユーザーにXXX.vbsファイルをクリックさせ、Uninstall.exeを自動で起動。
そのときに、必要な情報やキーダウンをスクリプトに埋め込み、無事に処理を終えたいのです。
アンインストール実行中やそこまでの過程でユーザー側に×ボタンやキーボード操作で違った情報を入力させないようにするには、どのようにすればよいのか思案しております。

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run """C:\Program Files\Uninstall.exe"""
WScript.Sleep 1000
objShell.SendKeys "TEST"
WScript.sleep 1000
objShell.SendKeys "~"
WScript.Sleep 1000
objShell.SendKeys "~"
WScript.Sleep 1000
objShell.SendKeys "~"
WScript.Sleep 1000
objShell.SendKeys "{DOWN}"
WScript.Sleep 1000
objShell.SendKeys "~"

よろしくお願い致します。
■No22757に返信(赤シャチさんの記事)
> ユーザーにXXX.vbsファイルをクリックさせ、Uninstall.exeを自動で起動。
> そのときに、必要な情報やキーダウンをスクリプトに埋め込み、無事に処理を終えたいのです。

『無事に処理を終えたい』のであれば、そのような実装はやめた方が良いでしょう。

キーダウンというのは SendKeys の事を指しているだと思いますが、
そもそも、(タイミングの問題などから)成功する保証がありません。



> アンインストール実行中やそこまでの過程でユーザー側に×ボタンやキーボード操作で
> 違った情報を入力させないようにするには、どのようにすればよいのか思案しております。

それは本来、Uninstall.exe 自身にて制御させるべき内容です。

たとえば、Uninstall.exe 側に、無人インストール用のサイレントモード
(ユーザ操作を許可しないモード)を用意しておくなど。


その exe 自体を修正するのが叶わないとなると、VBScript では荷が重過ぎます。
一応、API を使えばボタンを強制的に使用不可にするなどの処置を取れますが、
VBScript には、API を呼び出す機能が用意されていないためです。
  • 題名: Re[4]: スクリプトでの制御
  • 著者: 赤シャチ
  • 日時: 2008/08/21 10:34:26
  • ID: 22780
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
魔界の仮面弁士さん

exe 自体の修正は無理なので、VBScriptでは荷が重いのですね。
ありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板