핑테스트 및 c:\pingtest.txt 에 파일을 기록합니다.
핑로스는 c:\pingloss.txt에 파일을 기록합니다.
핑로스만 c:\pingloss.txt에 파일을 기록합니다.
핑로스 발생시 ip 갱신여부를 확인하여 원인에 대한 메시지를 출력합니다.#noTrayicon
;#IfWinActive, 핑테스트 ahk_class AutoHotkeyGUI
;{
;BlockInput, On
;}
;MsgBox % GetOSVersion()
ver= % GetOSVersion()
GetOSVersion()
{
VarSetCapacity(v,148), NumPut(148,v)
DllCall("GetVersionEx", "uint", &v)
OSVer:=NumGet(v,4)NumGet(v,8)
OSName:= OSVer=61 ? "Windows 7"
:(OSVer=60 ? "Windows Vista"
:(OSVer=52 ? "Windows XP 64-Bit Edition"
:(OSVer=51 ? "Windows XP"
:(OSVer=50 ? "Windows 2000"
:"Unknown"))))
return OSName
}
;msgbox, 바보
; ******************* 추가적인 내용이 필요한 부분
; * IP /
; 1. 키보드 후킹 기능을 이용하여 Edit 입력란에 키보드 입력을 막는다.
; 2. 적절한 컬러를 넣는다.
; 3. 시작시 IP할당과 오류만 수집, 정상만 수집, 모두 수집의 옵션 설정을 추가한다.
; ******************* 이정도 기능적인 부분이 추가된다면 괜찮겠죠?
ip=%1%
StringLen, OutputVar, ip
;msgbox, %ip%
if ip<1
{
ip=164.124.101.2
; msgbox, 없다? %ip%
}
if ip>1
{
; msgbox, 있다? %ip%
}
;msgbox, %ip%
Gui, Add, Edit, x6 y40 w510 h350 readonly,
;Gui, Add, Text, x6 y10 cBlue IP1, 로컬IP : %A_IPAddress1%
;Gui, Add, Text, x160 y10 cBlue IP2, 대상Ping : %ip%
;Gui, Add, Text, x320 y10 cBlue IP3, 저장위치 : C:\pingTest.txt
;Gui, Add, Text, x320 y25 cBlue IP3, 오류위치 : C:\pingloss.txt
Gui, Add, Text, x6 y10 cBlue, 로컬IP : %A_IPAddress1%
Gui, Add, Text, x160 y10 cBlue, 대상Ping : %ip%
Gui, Add, Text, x320 y10 cBlue, 저장위치 : C:\pingTest.txt
Gui, Add, Text, x320 y25 cBlue, 오류위치 : C:\pingloss.txt
Gui, Show, x398 y110 h400 w520, 핑테스트
loop
{
sleep, 2000
runwait, %comspec% /c "%systemroot%\system32\ping %ip% -n 1 > C:\Ping.txt",, hide
;FileRead, ping, C:\ping.txt
if (ver="Windows 7") or (ver="Windows Vista")
{
FileReadLine, ping, C:\ping.txt, 3
}
if (ver="Windows XP") or (ver="Windows XP 64-Bit Edition") or (ver="Windows 2000") or (ver="Unknown")
{
FileReadLine, ping, C:\ping.txt, 7
}
filedelete, C:\ping.txt
Ifinstring, Ping, Request
{
; pingline3=%pingline2%
; pingline2=%pingline1%
pingline1=%pingline%
if pingline3
{
pinglines=%pingline3%`n
}
if pingline2
{
pinglines=%pingline2%`n
}
if pingline1
{
pinglines=%pingline1%`n
}
pingline=%pinglines%%A_Mon%월 %A_MDay%일 %A_Hour%시 %A_Min%분 %A_Sec%초 Request TimeOut. 점검요망.
GuiControl, Text, Edit1, % pingline
FileAppend, %pingline%`n, C:\pingTest.txt
FileAppend, %pingline%`n, C:\pingloss.txt
; return
}
else
{
stringgetpos, pos1, ping, time
stringtrimleft, TTL, ping, %pos1%
stringgetpos, pos2, TTL, TTL
StringLeft, Time, TTL, %pos2%
Stringtrimleft, TTL, TTL, %pos2%
Stringtrimright, time, time, 1
timenum:=RegExReplace(time,"[^0-9]")
if timenum=1
{
; pingline3=%pingline2%
; pingline2=%pingline1%
pingline1=%pingline%
if pingline3
{
pinglines=%pingline3%`n
}
if pingline2
{
pinglines=%pingline2%`n
}
if pingline1
{
pinglines=%pingline1%`n
}
pingline=%pinglines%%A_Mon%월 %A_MDay%일 %A_Hour%시 %A_Min%분 %A_Sec%초 자신의 컴퓨터 입니다.
GuiControl, Text, Edit1, % pingline
FileAppend, %pingline%`n, C:\pingTest.txt
}
else
{
; pingline3=%pingline2%
; pingline2=%pingline1%
pingline1=%pingline%
if pingline3
{
pinglines=%pingline3%`n
}
if pingline2
{
pinglines=%pingline2%`n
}
if pingline1
{
pinglines=%pingline1%`n
}
pingline=%pinglines%%A_Mon%월 %A_MDay%일 %A_Hour%시 %A_Min%분 %A_Sec%초 [ %ping% ]
SendMessage, 0x0C, 0, &pingline, Edit1, %A%
GuiControl, Text, Edit1, % pingline
FileAppend, %pingline%`n, C:\pingTest.txt
}
}
}
IP:
return
^R::
reload
return
GuiClose:
ExitApp
return
^X::
ExitApp
return
^#!`::
Winhide, 핑테스트 ahk_class AutoHotkeyGUI
return
^#!1::
Winshow, 핑테스트 ahk_class AutoHotkeyGUI
return