2016-04-10 16 views
0

resme bakın lütfenPython'un win32api.keybd_event neden win32clipboard.OpenClipboard() ile çakışıyor? <a href="https://i.stack.imgur.com/yxjcq.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yxjcq.jpg" alt="problem"></a></p> <p>kodudur:

import win32con 
import win32clipboard 
import win32api 

win32api.keybd_event(win32con.VK_SNAPSHOT, 0, 0, 0) 
win32api.keybd_event(win32con.VK_SNAPSHOT, 0, win32con.KEYEVENTF_KEYUP, 0) 

win32clipboard.OpenClipboard() 
win32clipboard.CloseClipboard() 

Dahası garip Python'ın etkileşimli bir ortamda kod yazarken, her şey resim gibi Tamam olmasıdır: enter image description here

Sonuç olarak: kodları bir .py dosyasında ve 'da kaydedersem, hata oluştu, ancak kodu etkileşimli ortamda yazarsam, her şey tamam

Lütfen bir .py dosyasında kodu yazmam gerekirse sorunu nasıl ve nasıl çözeceğimi söyleyin. Çok teşekkürler.

cevap

0

Sorun Çözüldü. Çözüm Çok Basit. Sadece bir tane daha hat kodu.

import win32con 
import win32clipboard 
import win32api 
import time 

win32api.keybd_event(win32con.VK_SNAPSHOT, 0, 0, 0) 
win32api.keybd_event(win32con.VK_SNAPSHOT, 0, win32con.KEYEVENTF_KEYUP, 0) 

#this is the solution 
time.sleep(1) 

win32clipboard.OpenClipboard() 
win32clipboard.CloseClipboard() 

Ve win32api.keybd_event print screen tuşuna göndermek ederken ekran görüntüleri bitene kadar, beklemek olmaz çünkü bu. Bunun yerine, takip kodunu çalıştırmaya devam edecek. Ama bu zamanda, ekran baskı yapıyor, pano kullanıyor, bu yüzden win32clipboard panoya alamıyor.

İlgili konular