autohotkey) IPv6 모두 사용안함 설정하기
IPv6사용안함.exe
#NoTrayIcon ;트레이 아이콘 숨기기
;http://urin79.com/index.php?mid=blog&search_keyword=%EB%A0%88%EC%A7%80%EC%8A%A4&search_target=title_content&page=2&document_srl=541864
;레지스터리에 tcpip6 IPv6 사용여부에 [사용안함]이 이미 설정되어 있으면 설정패스하고 없으면 검사
RegRead, OutputVar, HKEY_LOCAL_MACHINE, SYSTEM\CurrentControlSet\Services\tcpip6\Parameters, DisabledComponents
if(OutputVar)
{
;레지스터리에 tcpip6이 있으면 레지스터리에 값을 기록하고 아니면 종료.
Loop,HKLM,SYSTEM\CurrentControlSet\Services\tcpip6,1,0
{
RegRead,Val
if(Val)
{
;msgbox,%A_LoopRegName%`n%Val%
RegWrite, REG_DWORD, HKEY_LOCAL_MACHINE, SYSTEM\CurrentControlSet\Services\tcpip6\Parameters, DisabledComponents, 1
msgbox, tcpip6의 IPv6 기능을 모두 사용안함으로 설정 완료하였습니다.`n만약 6to4 등의 어뎁터를 제거하시려면 장치관리자에서 삭제하시기 바랍니다.
run, devmgmt.msc
break
}
}
}
main:
{
Gosub,init
url:="http://naver.com"
WB.Navigate(url)
loop
If !WB.busy
break
sleep, 2000
url:="http://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&ie=utf8&query=%EC%9C%A0%EB%A8%B8&x=0&y=0"
WB.Navigate(url)
loop
If !WB.busy
break
sleep, 2000
url:="http://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&ie=utf8&query=%EA%B0%9C%EA%B7%B8%EC%9D%B4%EC%95%BC%EA%B8%B0&x=0&y=0"
WB.Navigate(url)
loop
If !WB.busy
break
;종료
exitapp
return
}
init:
{
;; housekeeping routines
;; set the tear down procedure
OnExit,terminate
;; Create a gui
Gui, +LastFound +Resize +OwnDialogs
;; create an instance of Internet Explorer_Server
;; store the iwebbrowser2 interface pointer as *WB* & the hwnd as *ATLWinHWND*
Gui, Add, ActiveX, w510 h600 x0 y0 vWB hwndATLWinHWND, Shell.Explorer
;; disable annoying script errors from the page
WB.silent := true
;; necesary to accept enter and accelorator keys
;http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.ole.interop.ioleinplaceactiveobject(VS.80).aspx
IOleInPlaceActiveObject_Interface:="{00000117-0000-0000-C000-000000000046}"
;; necesary to accept enter and accelorator keys
;; get the in place interface pointer
pipa := ComObjQuery(WB, IOleInPlaceActiveObject_Interface)
;; necesary to accept enter and accelorator keys
;; capture key messages
OnMessage(WM_KEYDOWN:=0x0100, "WM_KEYDOWN")
OnMessage(WM_KEYUP:=0x0101, "WM_KEYDOWN")
;;Display the GUI - 화면 크기에 맞춰 출력
;;이부분을 ";" 주석처리 해버리면 화면 상으로는 출력 안되고 조용히 혼자 실행됨.
; gui,show, w110 h60 ,인터넷 속도증가 프로그램
;; return and allow the program
return
}
;; capture the gui resize event
GuiSize:
{
;; if there is a resize event lets resize the browser
WinMove, % "ahk_id " . ATLWinHWND, , 0,0, A_GuiWidth, A_GuiHeight
return
}
GuiClose:
terminate:
{
;; housekeeping
;; destroy the gui
Gui, Destroy
;; release the in place interface pointer
ObjRelease(pipa)
ExitApp
}
WM_KEYDOWN(wParam, lParam, nMsg, hWnd)
{
global pipa
static keys:={9:"tab", 13:"enter", 46:"delete", 38:"up", 40:"down"}
if keys.HasKey(wParam)
{
WinGetClass, ClassName, ahk_id %hWnd%
if (ClassName = "Internet Explorer_Server")
{
; Build MSG Structure
VarSetCapacity(Msg, 7*A_PtrSize)
for i,val in [hWnd, nMsg, wParam, lParam, A_EventInfo, A_GuiX, A_GuiY]
NumPut(val, Msg, (i-1)*A_PtrSize)
; Call Translate Accelerator Method
TranslateAccelerator := NumGet(NumGet(1*pipa)+5*A_PtrSize)
DllCall(TranslateAccelerator, "Ptr",pipa, "Ptr",&Msg)
return, 0
}
}
}