3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pingが通るときだけexe起動

Last updated at Posted at 2016-10-25

社内や家にいるときだけ起動

WINDOWSのスタートアップなどで、PCの起動時にメーラーなどが立ち上がるようにしてある方も多いかと思います

普段からノート型PCを使用していて、たまに外に持っていった場合、社内のメールサーバーに接続できないのにいちいちメーラーが立ち上がって、メールサーバーに接続できないとアラートが上がってきたりしてうっとおしいです

社内にいるのかをメールサーバーが見つかるかどうかで判別しています

家の場合でもNASやルーターが見つかるかどうかで判別できるはずです

外で使用するときはポケットルーターやテザリングで使用するので通信料節約のためにメーラーが立ち上がってほしくない場合などにも利用できると思います

社内でのみ起動.vbs

'Const vbHide = 0             'ウィンドウを非表示
'Const vbNormalFocus = 1      '通常のウィンドウ、かつ最前面のウィンドウ
'Const vbMinimizedFocus = 2   '最小化、かつ最前面のウィンドウ
'Const vbMaximizedFocus = 3   '最大化、かつ最前面のウィンドウ
'Const vbNormalNoFocus = 4    '通常のウィンドウ、ただし、最前面にはならない
'Const vbMinimizedNoFocus = 6 '最小化、ただし、最前面にはならない

Const targetAddress = "192.168.11.1"         '社内LAN内のアドレスやルータのアドレス
Const targetExe = """C:\Program Files\Windows Live\Mail\wlmail.exe"""    '起動するexeのフルパス

Set objWMIService = GetObject("winmgmts:")
Set PingSet = objWMIService.ExecQuery ("Select * From Win32_PingStatus Where Address = '" & targetAddress & "'")

For Each Ping In PingSet

  Select Case Ping.StatusCode
    Case 0
      ''' WScript.Echo "Success"
      CreateObject("WScript.Shell").Run targetExe, 6, False
    Case 11010
      ''' WScript.Echo "Request Timed Out"
    Case Else
      ''' WScript.Echo "エラー"
  End Select

Next

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?