최근에 우리 응용 프로그램에 대한 지원이 추가되었습니다. 우리는 경쟁자를 이기기에 다행입니다! 당신이 해결하고 싶은거야, 그래서
는 가장 많이 사용되는 차단 바로 가기 Alt 키 + 탭 수있는 Windows 8의 새로운 UIPI 제한이 있습니다.
매니페스트에 바이너리를 uiAccess="true"
으로 표시해야합니다. (이 작업 방법에 대한 자세한 내용은 google을 참조하십시오.)이 매니페스트는 Microsoft에서 승인 한 코드 서명 인증서로 서명하고 "안전한 위치"(system32 또는 프로그램 파일/프로그램 파일 (x86))에 설치하지 않으면 바이너리가 시작되는 것을 방지합니다. .
도우미에서 프로그램을 대여하는 경우 : 중간 무결성 프로세스에서 uiAccess 바이너리를 CreateProcess
과 함께 시작할 수 없습니다 (매니페스트는 "높은"무결성을 요구함). 대신, ShellExecute
"open"을 사용하여 쉘을 시작하여 쉘을 높이는 것이 가장 쉽습니다. CreateProcessAsUser
을 사용하는 경우 SetTokenInformation
을 사용하여 TokenUIAccess
을 1로 설정해야합니다. 그렇지 않으면 시작이 실패합니다.
최종 조건 : uiAccess는 프로세스에서 수행 할 수있는 작업을 상당히 제한합니다. 일반 (중간 무결성) 프로세스에서 UI 입력을받을 수 없으므로 다른 응용 프로그램이 Windows와 상호 작용할 수 없습니다. UI를 별도의 프로세스로 분리하는 데있어 우수 사례를 따르지 않았다면이를 수행해야 할 좋은 이유가 될 것입니다. 또는, uiAccess를 필요로하는 작업은 작은 독립적 인 도우미 바이너리에 넣을 수 있으며 UI가 아닌 프로세스에서도 완전히 분리 할 수 있습니다. 기본 앱은 높은 수준의 무결성 도우미 프로세스로 실행될 수 있습니다.이 프로세스에는 해당 작업 (예 : SendInput
)을 수행하는 데 필요한 지침이 전송됩니다.
마지막으로 SendInput
이 작동합니다.
이제 경쟁자가 머리를.니다. :-) –
나는 누군가가 이것 때문에 단지 프로그램을 바꿀 것 같지 않습니다 ...;) –
uiAccess = true는 적은 권한으로 다른 프로그램에서 끌어다 놓을 수 없으므로주의하십시오. –