2017-05-08 3 views
1

나는 다음과 같은 코드를 사용하여, 가상 키보드를 실행에 파이썬을 사용하고 작동하지 + Shift + Tab 키 또는 다른 키 조합이이 방법으로 작동합니다. 내가 말하는거야 진수 코드의 목록은 사람에서 hereCTRL + ALT + DEL Ctrl 키</kbd> 그러나</kbd> + <kbd>델</kbd>가 작동하지 <kbd>Ctrl 키</kbd> + <kbd>Alt 키, <kbd>을 수행하기위한 win32api 및 파이썬

import win32api 
import win32con 
import time 

win32api.keybd_event(0xA2, 0,0,0) 
time.sleep(.01) 
win32api.keybd_event(0xA4, 0,0,0) 
time.sleep(.01) 
win32api.keybd_event(0x2E, 0,0,0) 
time.sleep(.04) 

win32api.keybd_event(0xA2,0 ,win32con.KEYEVENTF_KEYUP ,0) 
time.sleep(.01) 
win32api.keybd_event(0xA4,0 ,win32con.KEYEVENTF_KEYUP ,0) 
time.sleep(.01) 
win32api.keybd_event(0x2E,0 ,win32con.KEYEVENTF_KEYUP ,0) 

도움말에서이다 감상 할 수있다. 이 목적으로 Windows 7을 사용합니다.

답변

1

Ctrl 키 + Alt 키 + 내가 아는 모든 Windows에서 예약 시스템 기능입니다. 즉, 운영 체제는 프로그램에 명령을 전혀 전달하지 않습니다.

누군가 내가 잘못하면 나를 정정 해주세요.

+0

예, 여기에 언급 : https://stackoverflow.com/questions/43841820/ctrlaltdel-not-working-in-win32api-and-python#answer-43842599 –

3

secure attention sequence (SAS)은 가짜 입력으로 생성 할 수 없습니다. SendSAS 함수를 호출해야합니다.

SendSAS에 대한 설명서에는 사용하기에 다소 심각한 조건이 나와 있습니다. 성공하려면 이러한 조건을 신중하게 고수해야하며, 이는 Python 프로그램에서 매우 어려울 수도 있습니다. 별도의 실행 파일에서 SendSAS으로 전화를 거는 것이 편리합니다.

+0

감사합니다. 나는 비슷한 것을 기대하고있었습니다. Pywinauto, Pyautogui, 또는 다른 라이브러리를 통해 또는 핵심적인 win API 함수를 호출하여이를 수행 할 것을 제안 할 수 있습니까? –

+0

내가 언급 한 것처럼 링크 된 문서에서 필요한 조건을 읽으면 파이썬 프로그램에서 만나기가 까다로울 것이라고 생각한다. –

+1

파이썬 스크립트는 (1) 시스템으로 실행되는 PyWin32를 사용하여 서비스를 생성하거나 (2) 서비스 세션에서 SYSTEM으로 실행되는 태스크 (COM 또는 schtasks.exe를 통해)를 생성하는 두 가지 방법 중 하나로이 작업을 수행 할 수 있습니다. 문서화 된대로 시스템에서 그룹 정책을 수정하여이를 허용해야합니다. 어느 경우이든 스크립트는 시작될 때 (즉, sc.exe, net.exe 또는'win32service'를 통해 서비스를 시작하거나 COM 또는 schtasks.exe를 통해 작업을 실행함으로써) ctype을 통해 간단히'SendSAS (0)'을 호출 할 수 있습니다). – eryksun