10

MSAA (Win7)를 사용하여 크롬 브라우저에서 주소 표시 줄을 가져와 다른 URL로 바꾸려고합니다. 크롬이 정상적으로 시작되면 (로그온 한 사용자) 프로세스에서 소유하는 창 클래스의 UI 트리를 탐색하여 IAccessible 인터페이스를 사용하여 주소 표시 줄을 찾을 수 있습니다. 그러나 크롬을 다른 사용자 (Windows에서 RunAs 사용)로 실행하면 "RunAs"프로세스가 소유 한 클래스를 지날 때 "크롬 레거시 창"이라는 이름의 창이 나타납니다. 로그온 한 사용자로 실행중인 프로세스를 검색하면 표시되는 계층 구조와 내용이 크게 다릅니다.RunAs를 사용하여 크롬을 실행할 때 "Chrome 레거시 창"

두 브라우저 인스턴스에서 (창 클래스 이름) Chrome_WidgetWin_0 & Chrome_WidgetWin_1을 볼 수 있지만 현재 사용자로 실행중인 Chrome_WidgetWin_1은 주소 표시 줄에 대한 액세스 권한을 부여합니다. 크롬을 다른 사용자로 시작했을 때 어떤 현상이 발생했는지 알 수 있습니까? 해결 방법이 있습니까? 아니면 다른 기술을 조사해야합니까?

답변

4

크롬 뷰어 (일부 크롬 버전)에서 PDF 파일을 열면 참조한 창이 나타납니다. Chrome을 열 때 사용중인 URL을 확인하십시오.

나는 암호 요청 프롬프트가 동일한 창을 열게 할 수도 있음을 읽었습니다. 특정 프로세스/사용자가 창을 시작한 경우에만 PDF 창이 표시됩니다.

2

Penn이 지적했듯이 가장 이상한 곳에서 특이한 문제를 일으킨 PDF보기와 관련이있을 수 있습니다.

버그 추적기 here은 PDF와 함께 산발적으로 보였으며 최근 빌드에는 '레거시 창'이 도입되어 이전 버전의 Chrome으로 롤백하려고 시도했을 수 있습니다. 본

Global accessibility mode: on 
Show internal accessibility tree instead of native: on 

에 // 접근하거나 AutoIt이 같은 자동화 프로그램을위한 필수 조건이 될 것으로 보인다 플래그 --force-렌더러-접근성 크롬을 시작 :

또한 당신이 크롬을 사용하는 가정 here.

이 방법을 사용할 수 없다면 스크립트를 자동 설치하는 것이 좋습니다.

다음은 주소 표시 줄을 잡아 일반 용도로 사용할 때 사용하는 자동 수정 기능입니다 (code example).

관련 문제