2016-07-14 2 views
0

Windows에는 기존 창에 대한 창 핸들을 얻고이 핸들을 사용하여 메시지를 보내는 데 사용할 수있는 WinAPI : FindWindow가 있습니다. 거기에 파이썬 모듈도 그렇게 할 수 있습니까? 창을 찾으세요 & 의사 소통을 원하십니까?파이썬에서 FindWindow API로 모듈을 사용할 수 있습니까?

이 모듈이 존재한다면, 동일한 기계가 우분투에도 적용될 수 있습니까? 감사합니다.

+0

나는 파이썬에서 win API를 사용해야한다고 생각한다. 파이썬에서 "win win api"검색 –

+0

고마워! 그러나 모듈이 이것을 할 수있는 것은 아닌가? 내 파이썬 프로그램이 Windows & Ubuntu에 수정없이 적용될 수 있기를 바란다 ..... – maple

+0

당신이나 타사가 만든 다른 프로그램이있는 창입니까? –

답변

0

당신은 하위 프로세스로 명령을 실행할 수 있습니다 :

import subprocess 
import time 

process = subprocess.Popen("echo 'start' & sleep 60 & echo 'stop'", shell=True) 
time.sleep(60) # Maybe you want a timer... 

을 당신이는 popen에 종료하거나 죽이는 방법은 객체를 반환하거나 Ctrl 키를 시뮬레이션 사용, 마감의 두 가지 옵션이 있습니다. + C

import subprocess 
import time 

process = subprocess.Popen(cmd, shell=True) 
time.sleep(5) 
process.terminate() # Or kill 

시뮬레이션 드 Ctrl + C : 당신에게 문자열을 제공

process.communicate()[0].strip() 

:

import subprocess 
import time 
import os 
import signal 

process = subprocess.Popen(cmd, shell=True) 
time.sleep(5) 
os.kill(process.pid, signal.SIGINT) # Ctrl. + C 

당신이 사용할 수있는 출력을 얻고 싶다면

.

gnome-terminal -x sh yourCommand 

또는 설치 한 단말기에 대한 동등한 : 당신이 콘솔 GUI를 원하는 경우

, 당신은 같은 명령을 사용할 수 있습니다.

+0

BTW, 우분투의 기존 창과 몇 가지 방법으로 대화 할 수 있습니다. 정보를주세요 .......... 결국, 더 많은 것입니다. 유연한 ........ – maple

+0

나는 모른다. 미안하다. Qt 나 그와 비슷한 것이 있어야합니다. –

관련 문제