2015-05-21 32 views
0

我想製作一個程序,每運行一次都需要屏幕截圖。爲此,我想到了使用虛擬鍵,但我無法同時按兩個鍵。我正試圖在Microsoft Windows 8.1中執行此操作,並試圖按Windows Key + 同時打印Scrn使用虛擬鍵使用C++進行屏幕截圖

+0

可能重複[?如何使屏幕截圖的Win32在C++](http://stackoverflow.com/questions/3291167/how-to-make-screen-screenshot -with-win32-in-c) – NathanOliver

+0

不,這不是我想要的。我想按住Windows徽標鍵,然後按prtscn,然後釋放這兩個按鈕。 –

+0

你的頭銜說:'不按任何鍵'。那它是哪一個? – NathanOliver

回答

1

您可以使用keybd_event()向操作系統發送多個密鑰。你第一次給它打電話時,你會發送Windows鍵並告訴它保持關閉。然後,您將按照打印屏幕按鈕執行相同的操作。完成之後,您需要再次調用該函數以按相反順序提起每個鍵。您應該能夠使用:

keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY, 0); 
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0); 
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0); 
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); 
+0

謝謝..那有效.. –

相關問題