AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ScreenShot von nichtsehbaren Desktop

ScreenShot von nichtsehbaren Desktop

Offene Frage von "Neotracer"
Ein Thema von SleepyMaster · begonnen am 21. Okt 2004 · letzter Beitrag vom 1. Jan 2012
Antwort Antwort
Seite 2 von 5     12 34     Letzte » 
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#11

Re: ScreenShot von nichtsehbaren Desktop

  Alt 4. Jan 2007, 12:12
Hallo,
Zitat von Sascha999999999:
man kann ja auch SnapHots von Programmen erstellen die minimirt sind!
Also das wäre mir neu. Du kannst Dir ja mal mein Testprogramm ansehen. Wenn Du auf den Button klickst, dann wird ein Screenshot des zweiten Forms in das TImage darunter kopiert. Schau mal, was passiert, wenn das zweite Form verdeckt oder minimiert ist.

Gruß
xaromz
Angehängte Dateien
Dateityp: exe screenshot-demo_155.exe (476,5 KB, 34x aufgerufen)
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#12

Re: ScreenShot von nichtsehbaren Desktop

  Alt 4. Jan 2007, 12:21
Kann es sein das Du die Screens im nicht im normalen "Usermodus" machst?
Ich hatte früher ein ähnliches Problem für eine "Remotedesktopverbindung".
Der dafür aufgesetzte Dienst war auch nicht in der Lage meinen Desktop "zusehen".
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Sascha999999999

Registriert seit: 28. Sep 2006
45 Beiträge
 
#13

Re: ScreenShot von nichtsehbaren Desktop

  Alt 5. Jan 2007, 05:12
letzte Antwort exilent, auch danke für das Beispielprogramm.

Kannst du mir auchnoch ferraten wie du das Problem damals gelöst hast?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#14

Re: ScreenShot von nichtsehbaren Desktop

  Alt 5. Jan 2007, 09:08
Noch gar nicht. Hab mich nachher auch net weiter drum gekümmert. Aber ich werden das im laufe diesen Jahres sicher nochmal aufnehmen (müssen).
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: ScreenShot von nichtsehbaren Desktop

  Alt 5. Jan 2007, 10:38
Normalerweise kann man das aus einem Service so machen (DoScreenshot ist eine ganz normale Screenshot Routine). IMHO funktioniert das aber nur aus einem eigenen Thread - denn die Zuordnung Thread <-> Desktop ist 1:1!
Delphi-Quellcode:
//------------------------------------------------------------------------------
procedure TThreadScreenShot.Execute;
//------------------------------------------------------------------------------
// Thread ausführen
//------------------------------------------------------------------------------
var
   hDesktop : HDESK;
   hWinstation : HWINSTA;
   pDesktopName : array[0..255] of char;
   Desktopname : string;
   dwLen : DWORD;
begin
   hWinstation := OpenWindowStation('winsta0', true, GENERIC_ALL);
   if hWinstation <> 0 then
   begin
      if SetProcessWindowStation(hWinstation) then
      begin
         GetUserObjectInformation(OpenInputDesktop(0, false, GENERIC_ALL), UOI_NAME, @pDesktopname, 256, dwLen);
         SetString(DesktopName, pDesktopName, dwLen-1);

         hDesktop := OpenDesktop(PAnsiChar(Desktopname), 0, false, GENERIC_ALL);
         if hDesktop <> 0 then
         begin
            if SetThreadDesktop(hDesktop) then
            begin
               DoScreenShot(DesktopName);
            end;
            CloseDesktop(hDesktop);
         end;
      end;
      CloseWindowStation(hWinstation);
   end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#16

Re: ScreenShot von nichtsehbaren Desktop

  Alt 5. Jan 2007, 13:27
Die Frage sollte eigelich sein wie man den Anmeldescreen sieht ohne LogonSession.
Alles andere übernimmt dann ja der Kontex des angemeldeten Benutzers.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: ScreenShot von nichtsehbaren Desktop

  Alt 5. Jan 2007, 16:10
Das machst Du dann so (ohne das ganze Winstation-Gelumpe):
Delphi-Quellcode:
HDesktop := OpenDesktop ('Winlogon', 0, False, DESKTOP_ALL);
if (HDesktop <> 0) then
begin
   if SetThreadDesktop (HDesktop) then
   begin
      DoScreenshot('Winlogon');
      CloseDesktop (HDesktop);
   end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#18

Re: ScreenShot von nichtsehbaren Desktop

  Alt 5. Jan 2007, 20:42
Wäre net schlecht! Ich werde sich bald drauf zurückkommen da ich wie schon erwähn das alte Projekt bald wieder aufnehmen will.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Sascha999999999

Registriert seit: 28. Sep 2006
45 Beiträge
 
#19

Re: ScreenShot von nichtsehbaren Desktop

  Alt 6. Jan 2007, 08:06
ein dank an alle!

Mache mich gleich an die Arbeit und werde das testen!

Gruß Sascha
  Mit Zitat antworten Zitat
Sascha999999999

Registriert seit: 28. Sep 2006
45 Beiträge
 
#20

Re: ScreenShot von nichtsehbaren Desktop

  Alt 6. Jan 2007, 08:10
weiß noch jemand den unterschied zwischen:

MAXIMUM_ALLOWED, GENERIC_ALL und DESKTOP_ALL?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz