Screenshot aus Service?
-
Hi
ich programmiere gerade einen Service.
Wenn ich nun aber einen Screenshot mache, dann bekomme ich nur ein weißes Bild. in einem normalen Projekt läuft der Quellcode. Kann es sein, dass das daran liegt, dass der Service als Systemservice läuft?
auserdem ist mir aufgefallen, dass ich keine Dateien starten kann. kann das auch damit zusammenhängen?Für hilfestellungen wäre ich sehr dankbar.
Hier der Code vom Screenshot:
TRect ARect; Graphics::TBitmap *bmp = new Graphics::TBitmap(); Graphics::TBitmap *bmpTemp = new Graphics::TBitmap(); TJPEGImage *jpg = new TJPEGImage(); TCanvas* canvas = new TCanvas(); canvas->Handle = GetWindowDC(GetDesktopWindow()); TRect Source; GetWindowRect(GetDesktopWindow(), (LPRECT)&Source); Source = Rect(0, 0, Source.Right - Source.Left, Source.Bottom - Source.Top); bmp->Width = Source.Right - Source.Left; bmp->Height = Source.Bottom - Source.Top; TRect Dest = bmp->Canvas->ClipRect; bmp->Canvas->CopyRect(Dest, canvas, Source); jpg->Assign(bmp); jpg->CompressionQuality = 50; jpg->Compress(); jpg->SaveToFile("c:\\pagefile001.jpg"); delete canvas; delete jpg; delete bmp;
-
nachtrag:
Habe gerade festgestellt, dass das mit dem Screenshot klappt, wenn ich unter Verwaltung/Dienste in den eigenschaften des Dienstes einen Hacken bei "Datenaustausch zwischen Dienst und Desctop zulassen" mache. ist natürlich blöd wenn man dass immer Per hand eintragen muss. ne idee wie man dass sonst machen könnte?
-
TService::Interactive