Ich habe versucht, jedes Ding auf Desktop-Fenster GetDC(GetDesktopWindow)
, wie das folgende einfache Programm zu ziehen:fehlgeschlagen
#include <windows.h>
int main()
{
TextOut(GetDC(GetDesktopWindow()), 10, 10, TEXT("Test TextOut Tester!!"), 21);
return 0;
}
Es scheint, dass meine aktuellen Benutzer Privilegien die Zeichnungsverhalten beeinflussen, bin ich nicht Admin auf meinem PC, ist das der Grund dafür? Gibt es eine Dokumentation für dieses Problem? Vielen Dank im Voraus
Das Problem ist, dass das Desktop-Fenster nicht zu Ihnen gehört. Es gibt keine vertragliche Dokumentation, die anzeigt, dass dies ein unterstütztes Szenario war. Das GDI unterliegt keinen Privilegien. Was Sie tun, schlägt aus einem anderen Grund fehl. Vollständige Abwesenheit von Fehlerbehandlung wird nicht hilfreich sein, um herauszufinden. – IInspectable
Was soll ich tun? Wenn ich versuchte, 'TextOut' zu einem erstellten Fenster, es erfolgreich, aber es schlägt fehl, wenn es auf dem Desktop-Fenster tun, so was ist das Problem? obwohl der zurückgegebene Wert von 'GetDC' und' GetDesktopWindow' nicht Null ist. –
Dies ist schwierig zu tun, ist nicht zwischen redraws und 99.9% der Zeit persistent eine schreckliche Idee mit besseren Alternativen (Sie sollten Ihr endgültiges Ziel angeben). Das GetDesktopWindow() - Fenster ist nicht das Fenster, das Sie sehen, das Icons, Hintergrundbilder usw. enthält, das ist eine Syslist-Ansicht, die Sie suchen müssen, beginnend mit GetShellWindow(). –