アプリ版:「スタンプのみでお礼する」機能のリリースについて

バッチファイル内で起動したAP(たとえばoutlook express)をAlt+F4で終了させる書き方を教えてください。

A 回答 (5件)

空白を含んだファイルの指定なので、"で囲まないといけませんね。


A.Run """C:\Program Files\Outlook Express\msimn.exe""", 1, False
に修正すれば動くと思います。

あと、バッチファイル中で時間待ちをしたい場合は、
ping -n 11 localhost >NUL
とかします。↑ 10秒待つ

この回答への補足

下記で実行すると、ステートメントの末尾(3行目)が不正でエラーになります。
僕はバッチファイルの方が判りやすいのですが、msimn.exeの終わらせ方が判りません。

Dim A, B, C
Set A = CreateObject ("WSCript.Shell")
A.Run ""C:\Program Files\Outlook Express\msimn.exe"", 1, False
WScript.Sleep 2000 '2秒間待機
Set A = GetObject("WINMGMTS:\\.\ROOT\CIMV2")
Do
Set B = A.ExecQuery("SELECT * FROM Win32_Process WHERE name='msimn.exe'")
If B.Count > 0 Then 'msimn.exe が起動していた場合
'** 必要ならここにFireFoxの起動を入れる **
For Each C In B
C.Terminate 'プロセスを終了させる
Next
Exit Do 'ループを抜ける
End If
WScript.Sleep 100 '0.1秒間待機
Loop

補足日時:2009/07/06 21:03
    • good
    • 0

もう解決したようだけど、一応回答。



> taskkillの前に2秒ほど止める方が、いいですよね?適当なコマンドはありませんか?
自分自身にping撃てばいいです。pingは1秒おきに発信するという動作を利用したテクニックです。

ping -n 3 localhost

2ではなく3なのはコマンドを実行した直後に発信されるため。

この回答への補足

わざわざありがとう。
ついでにoutlook express の終わらせ方も教えて
次ではダメですか?
taskkill /fi "username eq アカウント名" /im msimn.exe

補足日時:2009/07/07 07:17
    • good
    • 0

>下記で実行すると、ステートメントの末尾(3行目)が不正でエラーになります。



いや、だから、
A.Run """C:\Program Files\Outlook Express\msimn.exe""", 1, False
に修正すれば動くと書いたとおりです。
    • good
    • 0
この回答へのお礼

すみません。
"は2つじゃなくて3つだったんですね。
ありがとうございました。正常に動きました。

お礼日時:2009/07/06 22:53

WindowsならバッチではなくScriptにしてみては?



Dim A, B, C
Set A = CreateObject ("WSCript.Shell")
A.Run "C:\Program Files\Outlook Express\msimn.exe", 1, False
WScript.Sleep 2000 '2秒間待機
Set A = GetObject("WINMGMTS:\\.\ROOT\CIMV2")
Do
  Set B = A.ExecQuery("SELECT * FROM Win32_Process WHERE name='msimn.exe'")
  If B.Count > 0 Then 'msimn.exe が起動していた場合
    '** 必要ならここにFireFoxの起動を入れる **
    For Each C In B
      C.Terminate 'プロセスを終了させる
    Next
    Exit Do 'ループを抜ける
  End If
  WScript.Sleep 100 '0.1秒間待機
Loop

上記をテキストエディタにコピーし、漢字空白を半角空白に変換して、
xxx.vbs として登録します。(xxxは任意)
これをダブルクリックするか、コマンドプロンプトから"xxx"と入力
すれば起動します。
特別なRunTimeは不要で、JavaScritpで記述することも可能です。
バッチと異なり、細かい制御が可能です。

http://msdn.microsoft.com/ja-jp/library/cc364421 …
http://msdn.microsoft.com/ja-jp/library/cc364427 …
http://msdn.microsoft.com/ja-jp/library/cc364411 …

この回答への補足

漢字空白を半角空白に変換だけでk-opt.vbsで保存、実行すると次のエラーになり、関連づけを調べるとVBScript Script Fileとなっていました。
どう処置すれば良いでしょうか?

行:3
文字:1
エラー:この操作に対して指定されたファイルには、アプリケーションが関連付けられていません。
コード:80070483
ソース: (null)

補足日時:2009/07/06 15:29
    • good
    • 0

OSが何なのか不明ですが、OEやalt + F4といったキーワードからWindowsと判断します。



本件はtaskkillコマンドで可能です。
使い方はコマンドプロンプト上でtaskkill /?で確認して下さい。

この回答への補足

すみません。Win xp sp3です。

次を参考にしたのですが、outlook expressが起動するだけで、うまくkillできません。
http://ykr414.com/dos/

作成したコマンド。
start "" "C:\Program Files\Outlook Express\msimn.exe"
taskkill /fi "username eq アカウント名" /im msimn.exe
exit
taskkillの前に2秒ほど止める方が、いいですよね?適当なコマンドはありませんか?

「このバッチファイルが欲しい理由」
Firefoxを3.0から3.5にバージョンアップすると自動接続できなくなったので、outlook expressを起動して接続したい。

補足日時:2009/07/06 13:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!