Je voulais automatiser la création de captures d'écran prises avec mon astuce ballon à partir d'une icône de notification, de sorte que pourrait facilement valider l'apparence des différentes langues que mon application prend en charge. Le problème est que la pointe du ballon est absente de la capture d'écran bien qu'elle soit affichée sur l'écran sous Windows 7.capture capture d'écran qui comprend BaloonTip
J'ai essayé avec les solutions de Capture screenshot of active window?, par ex.
// From http://www.developerfusion.com/code/4630/capture-a-screen-shot/
var sc = new ScreenCapture();
trayIcon.ShowBalloonTip(10000, "My Title", "My message", ToolTipIcon.Info);
Thread.Sleep(2000); // Just to make sure that the balloon tip is shown
sc.CaptureScreenToFile("MyScreenshot.png", ImageFormat.Png);
et
Rectangle bounds = Screen.GetBounds(Point.Empty);
using(Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using(Graphics g = Graphics.FromImage(bitmap))
{
trayIcon.ShowBalloonTip(10000, "My Title", "My message", ToolTipIcon.Info);
Thread.Sleep(2000); // Just to make sure that the balloon tip is shown
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
bitmap.Save("MyScreenshot.png", ImageFormat.Png);
}
Mais les deux prennent des captures d'écran sans montrer la pointe du ballon. Alors, existe-t-il un moyen de prendre une capture d'écran par programme qui inclut des conseils de ballon?
Informations sur le bonus: Sur Windows 10, la bulle est forcée dans le système de notification normal et la capture d'écran de ce travail fonctionne comme prévu.
Vous devez ajouter CopyPixelOperation.CaptureBlt de sorte que vous pourrez également capturer fenêtres en couches. –
@HansPassant Cela a fonctionné! Avec votre suggestion, j'ai été en mesure de trouver cette réponse https://stackoverflow.com/questions/3072349/capture-screenshot-including-semitransparent-windows-in-net qui résout mon problème. –