AutoHotKey

autohotkey) IPv6 모두 사용안함 설정하기

by 디케 posted Dec 30, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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


autohotkey) IPv6 모두 사용안함 설정하기

복구유틸.exe

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

     }

  }

}