c # - Vilkårligt skjule specifikke vinduer fra desktop screenshot

Indlæg af Hanne Mølgaard Plasc

Problem



Er dette muligt. Jeg har tre (3) vinduer:



  • Window1 - ikke aktiv

  • Window2 - ikke aktiv

  • Window3 - aktiv



Hvis jeg tager skærmbilledet på skrivebordet, vil jeg gerne Window3 blive skjult stille. Forudsat brugeren bruger Window3 skal programmet ikke på nogen måde skjule vinduerne som at minimere det eller noget. Kort sagt, jeg har brug for en diskret måde at skjule bestemte vinduer fra desktop screenshot.

Bedste reference


Det kommer ikke til at være muligt uden en hel del arbejde. Funktionen til printskærmen kopierer bare indholdet af desktop-pc'en til et billede og placerer det på tastaturet. Det gør ikke hele skrivebordet rent faktisk til en ny DC. Så der er ingen måde at det let kan fjerne et bestemt vindue.


Jeg formoder, at du kunne knytte knappen til udskriftsskærmen (eller funktionen, uanset hvad den er) og tillade det at skabe billedet på udklipsholderen. Derefter kunne din kroge læse placeringen af ​​det pågældende vindue fra skrivebordet og rydde det område af den bitmap, der er på udklipsholderen.


Din krog ville gøre dette:


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


Forudsat, at du selvfølgelig kan tilslutte skærmfunktionen. Jeg formoder, at det er muligt, selvom jeg aldrig har prøvet det.