AutoHotKey

autohotkey) 핑테스트 프로그램

by 디케 posted Dec 31, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄



핑테스트-text입력금지3.exe

핑테스트 및 c:\pingtest.txt 에 파일을 기록합니다.

핑로스는 c:\pingloss.txt에 파일을 기록합니다.


핑테스트-text입력금지-창안나오게하는거2.exe

핑로스만 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