저는 주로 크롬을 사용하지만 크롬을 사용할 수 있는 브라우저라면 무엇이든 사용할 수 있습니다.
Windows 10에서는 현재 활성화되어 있지 않은 창이라도 마우스를 위에 놓고 스크롤 휠을 사용하여 모든 창을 스크롤할 수 있습니다.
비활성 창의 브라우저 탭을 전환하는 것이 가능합니까?
TBH 예전에 왼쪽/오른쪽 스크롤(적어도 내 마우스의 소위 기능인 로지텍 기능)이 작동했던 것을 기억하는 것 같지만 더 이상 그렇지 않은 것 같습니다.
편집: 같은 질문을 하려고 했는데 SU가 이미 그렇게 했다고 말하더군요. 그러니까 쿵...
답변1
그렇게 할 수 있는 한 가지 방법은 다음을 사용하여 AHK 스크립트를 사용하는 것입니다.ControlSend
시뮬레이션된 키 입력을 원하는 창에 직접 전달하는 기능입니다(비활성 창, 최소화 또는 숨겨진 창에 수행할 수 있음). 그런 다음 편의를 위해 어떤 시퀀스든 바로 단축키에 직접 바인딩할 수 있습니다. 페이지가 다운될 경우를 대비해 AHK 문서 페이지(위에 링크됨)에서 직접 복사한 내용은 다음과 같습니다.
제어 전송[원시]
시뮬레이션된 키 입력을 창이나 컨트롤로 보냅니다.
ControlSend [, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]
ControlSendRaw: 위와 동일한 매개변수.매개변수
제어
ClassNN(컨트롤의 클래스 이름 및 인스턴스 번호) 또는 컨트롤의 텍스트일 수 있으며 둘 다 Window Spy를 통해 확인할 수 있습니다. 텍스트를 사용할 때 일치 동작은 SetTitleMatchMode에 의해 결정됩니다. 이 매개변수가 비어 있거나 생략된 경우 대상 창의 최상위 컨트롤이 사용됩니다. 이 매개변수가 ahk_parent이면 키 입력은 해당 컨트롤 중 하나 대신 대상 창으로 직접 전송됩니다(예제는 Winamp 자동화 참조).
컨트롤의 HWND(창 핸들)에 대해 작동하려면 Control 매개 변수를 비워두고 WinTitle 매개 변수에 대해 ahk_id %ControlHwnd%를 지정합니다(이는 DetectHiddenWindows가 꺼져 있는 경우에도 숨겨진 컨트롤에도 작동합니다). 컨트롤의 HWND는 일반적으로 ControlGet Hwnd, MouseGetPos 또는 DllCall()을 통해 검색됩니다.열쇠
보낼 키의 순서(자세한 내용은 보내기 명령 참조) 문자 그대로의 쉼표를 보내려면 이스케이프 처리(`,)하세요. 문자가 전송되는 속도는 SetKeyDelay에 의해 결정됩니다. Send 명령과 달리 마우스 클릭은 ControlSend로 보낼 수 없습니다. 이를 위해서는 ControlClick을 사용하십시오.
윈타이틀
대상 창을 식별하는 창 제목 또는 기타 기준입니다. WinTitle을 참조하세요.
WinText
존재하는 경우 이 매개변수는 대상 창의 단일 텍스트 요소의 하위 문자열이어야 합니다(포함된 Window Spy 유틸리티에 의해 표시됨). DetectHiddenText가 켜져 있으면 숨겨진 텍스트 요소가 감지됩니다.
제목 제외
제목에 이 값이 포함된 창은 고려되지 않습니다.
텍스트 제외
텍스트에 이 값이 포함된 창은 고려되지 않습니다.
오류 처리
[v1.1.04+]: 이 명령은 실패 시 예외를 던질 수 있습니다. 자세한 내용은 런타임 오류를 참조하세요.
ErrorLevel은 문제가 있으면 1로 설정되고, 그렇지 않으면 0으로 설정됩니다.
비고
ControlSendRaw는 {Enter}를 Enter로, ^c를 Control+C로 변환하지 않고 Keys 매개변수의 키 입력을 보냅니다. 자세한 내용은 Raw 모드를 참조하세요. ControlSend와 함께 {Raw} 또는 {Text}를 사용하는 것도 유효합니다. [v1.1.27+]: 텍스트 모드는 텍스트 전송에 더 안정적일 수 있습니다.
Control 매개변수가 생략된 경우, 이 명령은 최상위 컨트롤(종종 올바른 컨트롤) 또는 컨트롤이 없는 경우 창 자체로 전송하여 대상 창으로 직접 전송을 시도합니다. 이는 창에 컨트롤이 전혀 없는 것처럼 보이거나 어떤 컨트롤로 보낼지 걱정할 필요가 없는 편의를 위해 유용합니다.
기본적으로 수정자 키 입력(Control, Alt, Shift 및 Win)은 일반적으로 Send 명령을 통해 전송됩니다. 이를 통해 명령 프롬프트 및 기타 콘솔 창에서 대문자, 제어 문자 등을 올바르게 감지할 수 있습니다. 또한 다른 방법으로 안정성을 향상시킬 수도 있습니다.
그러나 어떤 경우에는 이러한 수정자 이벤트가 활성 창을 방해할 수 있습니다. 특히 사용자가 ControlSend 중에 적극적으로 입력 중이거나 Alt 키가 전송되는 경우(Alt가 활성 창의 메뉴 표시줄을 활성화하므로) 더욱 그렇습니다. 이 예와 같이 modifier up 및 down 이벤트를 명시적으로 보내면 이를 방지할 수 있습니다.
ControlSend, Edit1, {Alt down}f{Alt up}, Untitled - Notepad
위의 방법을 사용하면 워크스테이션이 잠겨 있는 동안(로그온 프롬프트로 보호됨) 수정자 키 입력(Ctrl/Alt/Shift/Win)을 보낼 수도 있습니다.
명령 프롬프트와 같은 콘솔 창에 대해 ControlSend를 사용할 때는 BlockInput을 피해야 합니다. 이는 Ctrl과 같은 대문자 및 수정자 키가 제대로 작동하지 않을 수 있기 때문입니다.
SetKeyDelay 값은 키가 전송되는 속도를 결정합니다. 대상 창이 키 입력을 안정적으로 수신하지 못하는 경우 다음 예제와 같이 SetKeyDelay의 두 번째 매개 변수를 통해 누르는 기간을 늘려 보십시오.SetKeyDelay, 10, 10
SetKeyDelay, 0, 10
SetKeyDelay, -1, 0
대상 컨트롤이 편집 컨트롤(또는 이와 유사한 것)인 경우 일반적으로 다음이 보다 안정적이고 빠릅니다. ControlSend:Control, EditPaste, This text will be inserted at the caret position., ControlName, WinTitle
ControlSetText, ControlName, This text will entirely replace any current text., WinTitle
ControlSend는 일반적으로 창의 메뉴 표시줄을 조작할 수 없습니다. 이 문제를 해결하려면 WinMenuSelectItem을 사용하십시오. 메뉴 표시줄의 특성으로 인해 이것이 가능하지 않은 경우 SendMessage 튜토리얼을 따라 원하는 메뉴 항목에 해당하는 메시지를 찾아볼 수 있습니다.
창 제목과 텍스트는 대소문자를 구분합니다. DetectHiddenWindows가 켜져 있지 않으면 숨겨진 창은 감지되지 않습니다.관련된
SetKeyDelay, 이스케이프 시퀀스(예: `%), Control, ControlGet, ControlGetText, ControlMove, ControlGetPos, ControlClick, ControlSetText, ControlFocus, Send, Winamp 자동화...