Guten Nachmittag an alle.Wie erfassen Sie ein Fenster, das in einer "neuen Desktop-Umgebung" geöffnet ist?
möchte ich ein Fenster sehen, die in einer „neuen Desktop-Umgebung“, aus meiner Remote-Unterstützung Werkzeug geöffnet ist, aber ich bin nicht in der Lage diese unterhalb dieses Fenster mit herkömmlichen Funktionen wie zu sehen:
function RandomPassword(PLen: Integer): string;
var
str: string;
begin
Randomize;
str := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
Result := '';
repeat
Result := Result + str[Random(Length(str)) + 1];
until (Length(Result) = PLen)
end;
procedure Printscreen;
var
DCDesk: HDC;
bmp: TBitmap;
hmod, hmod2 : HMODULE;
BitBltAPI: function(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Rop: DWORD): BOOL; stdcall;
GetWindowDCAPI: function(hWnd: HWND): HDC; stdcall;
begin
hmod := GetModuleHandle('Gdi32.dll');
hmod2:= GetModuleHandle('User32.dll');
if (hmod <> 0) and (hmod2 <> 0) then begin
bmp := TBitmap.Create;
bmp.Height := Screen.Height;
bmp.Width := Screen.Width;
GetWindowDCAPI:= GetProcAddress(hmod2, 'GetWindowDC');
if (@GetWindowDCAPI <> nil) then begin
DCDesk := GetWindowDCAPI(GetDesktopWindow);
end;
BitBltAPI:= GetProcAddress(hmod, 'BitBlt');
if (@BitBltAPI <> nil) then begin
BitBltAPI(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DCDesk, 0, 0, SRCCOPY);
bmp.SaveToFile('ScreenShot_------_' + RandomPassword(8) + '.bmp');
end;
ReleaseDC(GetDesktopWindow, DCDesk);
bmp.Free;
FreeLibrary(hmod);
FreeLibrary(hmod2);
end;
end;
begin
while True do
begin
Printscreen;
Sleep(5000);
end;
end.
das erzeugt this result
Bereits Team View Software zum Beispiel verwenden, wird das Fenster auf dem Bildschirm capture normalerweise und produziert this result.
Gibt es also eine Möglichkeit, dieses Fenster in der Bildschirmaufnahme zu sehen, wie es von Team View Software möglich ist?
Alle Vorschläge werden begrüßt.
Call Randomize genau einmal im Leben Ihres Programms oder Sie werden einige böse Überraschungen bekommen. Versuchen Sie, RandomPassword in einer Schleife aufzurufen. –
[Dies ist die App, die dieses Fenster öffnet] (https://www.itau.com.br/computador/) –
"Grafiken" verwendet bereits "Windows", Sie werden nichts gewinnen, indem Sie nicht erklärte Funktionen in " Fenster ". –