Tab입력시 다른 버튼이나 그런것들로 포커스가 이동이 되버리네요.
추가질문 붙여넣기도안되는데 어떤식으로하면 될까요?
앱 플레이어 모바일 게임 과몰입 방지 매크로 등 인터넷상의 재밌는 것을 찾아 연구하는 사람들의 모임
Tab입력시 다른 버튼이나 그런것들로 포커스가 이동이 되버리네요.
추가질문 붙여넣기도안되는데 어떤식으로하면 될까요?
오 이거 저도 궁금했던 부분인데 좋은질문이네요.
예지력님에 답변도 엄청 유용하고요.
굳!!!!
64bit OS에서 32bit 프로그램을 실행하려면
if A_Is64bitOS
key := "Software\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"
광고
전체 최신 인기글
전체 주간 인기글
입력을 ActiveX 가 캐치하게 해야해요,
웹검색용으로 제가 만들어쓰고있는 브라우저소스인데 OnMessage 부분이 질문에 대한 해답이에요
참고해보시길!
#NoEnv
#NoTrayIcon
#SingleInstance Off
#KeyHistory 0
ListLines Off
SetBatchLines, -1
new Browser()
return
class Browser
{
static URL := "https://duckduckgo.com/"
__New()
{
global
this.FBE(1)
Gui, New, +Resize +hwndhMain
this.hMain := hMain
Gui, Add, ActiveX, x0 y0 w500 h500 hwndhEmbed vWB, Shell.Explorer
this.hEmbed := hEmbed
WB.silent := true, WB.Navigate(this.URL)
this.Bound := []
this.Bound.OnMessage := this.OnMessage.Bind(this)
WinEvents.Register(this.hMain, this)
for each, Msg in [0x0100]
OnMessage(Msg, this.Bound.OnMessage)
Gui,Show, % " w" A_ScreenWidth*0.3 " h" A_ScreenHeight*0.6 , 웹 브라우저
}
GuiSize()
{
DllCall("MoveWindow", "Ptr", this.hEmbed, "Int", 0, "Int", 0, "Int", A_GuiWidth, "Int", A_GuiHeight, "Int", 1)
}
GuiClose()
{
for each, Msg in [0x0100]
OnMessage(Msg, this.Bound.OnMessage, 0)
this.Delete("Bound")
WinEvents.Unregister(this.hMain)
Gui, Destroy
this.FBE(0)
ExitApp
}
OnMessage(wParam, lParam, Msg, hWnd)
{
global WB
static fields := "hWnd,Msg,wParam,lParam,A_EventInfo,A_GuiX,A_GuiY"
if (Msg == 0x100)
{
WinGetClass, Verify, ahk_id %hWnd%
if (Verify = "Internet Explorer_Server")
{
pipa := ComObjQuery(WB.document, "{00000117-0000-0000-C000-000000000046}")
VarSetCapacity(Msgs, 48)
Loop Parse, fields, `, ;`
NumPut(%A_LoopField%, Msgs, (A_Index-1)*A_PtrSize)
TranslateAccelerator := NumGet(NumGet(1*pipa)+5*A_PtrSize)
Loop 2
r := DllCall(TranslateAccelerator, "Ptr",pipa, "Ptr",&Msgs)
until wParam != 9 || WB.document.activeElement != ""
ObjRelease(pipa)
if r = 0
return 0
}
}
}
FBE(Config)
{
static key := "Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", ieversion := ""
if ieversion =
{
try {
RegRead ver, HKLM, SOFTWARE\Microsoft\Internet Explorer, svcVersion
ieversion := SubStr(ver, 1, InStr(ver, ".")-1)
}
}
if Config = 1
RegWrite, REG_DWORD, HKCU, %key%, % A_ScriptName, % ieversion * 1000
else if Config = 0
RegDelete HKCU, %key%, % A_ScriptName
}
}
class WinEvents
{
static Table := {}
Register(hWnd, Class, Prefix="Gui")
{
Gui, +LabelWinEvents.
this.Table[hWnd] := {Class: Class, Prefix: Prefix}
}
Unregister(hWnd)
{
this.Table.Delete(hWnd)
}
Dispatch(hWnd, Type)
{
Info := this.Table[hWnd]
return Info.Class[Info.Prefix . Type].Call(Info.Class)
}
Close()
{
return WinEvents.Dispatch(this, "Close")
}
Size()
{
return WinEvents.Dispatch(this, "Size")
}
}