2011-04-26 67 views
0

這是可能的。我有三個(3)窗口:有條件隱藏桌面屏幕的特定窗口

  • 窗口1 - 不活躍
  • 窗口2 - 不活躍
  • Window3 - 積極

如果我把桌面的截圖我想Window3是安靜地隱藏着。如果用戶使用Window3,程序不得以任何方式隱藏窗口,例如最小化窗口或任何其他窗口。總之,我需要從桌面屏幕截圖隱藏特定窗口的不顯眼的方式。

回答

0

如果沒有相當多的工作,這是不可能的。打印屏幕功能只是將桌面DC的內容複製到圖像並將其放置在鍵盤上。它實際上不會將整個桌面重新渲染成新的DC。所以沒有辦法可以悄悄地刪除一個特定的窗口。

我想你可以勾住打印屏幕按鈕(或功能,不管它是什麼),並允許它在剪貼板上創建圖像。然後,您的掛鉤可以從桌面讀取問題窗口的位置,並清除剪貼板上位圖的該區域。

你鉤這樣做:

call the normal print screen function 
load image from clipboard 
get location and size of Window3 from desktop 
fill that rectangle in the image with black (or whatever) 
put the modified image back on the clipboard 

假設,當然,你可以掛鉤的打印屏幕功能。我懷疑這是可能的,儘管我從來沒有嘗試過。

+0

想到的不過是黑色的部分。我不想要一個黑色的矩形,而是一個完整的圖片 – 2011-04-26 16:57:21

+0

@Aivan:你想展示什麼是「背後」Window3?我想你會發現你所要求的是非常困難的,如果可能的話。 – 2011-04-26 17:28:16

+0

以及我已經想到了一個解決方案,但即時通訊尋找其他更簡單的解決方案。這是我的要求。獲取每個窗口及其位置的截圖。獲取任務欄的屏幕截圖。獲取桌面的屏幕截圖。然後將它們組合成一張照片。排除不必要的窗口。 – 2011-04-26 22:07:23