2016-08-26 9 views
0

Ich versuche ein Programm zu erstellen, das das THUMBNAIL-Bild aufnimmt und dann einen Screenshot des Projekts macht. Wenn ich das Projektbild öffne, ist das THUMBNAIL-Bild nicht da. Aber wenn ich die Print Screen Taste auf der Tastatur drücke, ist das Bild in Ordnung.Ist es möglich das DWM_THUMBNAIL Image zu speichern?

Kann mir jemand helfen?

keyboard Screen Shot

+0

Könnten Sie den Code bitte zeigen, dass das Miniaturbild nimmt, so können wir einen Blick darauf werfen und helfen, das Problem zu finden. Ohne Ihren Code zu sehen, wäre es sehr schwierig, nützliche Vorschläge zu machen. – tgolisch

Antwort

0
private void UpdateThumb() 
    { 
     if (thumb != IntPtr.Zero) 
     { 
      PSIZE size; 
      DwmQueryThumbnailSourceSize(thumb, out size); 

      DWM_THUMBNAIL_PROPERTIES props = new DWM_THUMBNAIL_PROPERTIES(); 

      props.fVisible = true; 
      props.dwFlags = DWM_TNP_VISIBLE | DWM_TNP_RECTDESTINATION | DWM_TNP_OPACITY; 
      props.opacity = (byte)opacity.Value; 
      props.rcDestination = new Rect(image.Left, image.Top, image.Right, image.Bottom); 

      if (size.x < image.Width) 
       props.rcDestination.Right = props.rcDestination.Left + size.x; 

      if (size.y < image.Height) 
       props.rcDestination.Bottom = props.rcDestination.Top + size.y; 


      DwmUpdateThumbnailProperties(thumb, ref props); 
     } 
    } 
Verwandte Themen