nein - mit Adminrechten ging es auch nicht
Ich bin jetzt etwas im Internet auf die Suche gegangen und habe folgenden Code gefunden:
http://blog.syedgakbar.com/2013/01/w...stview-handle/
den hab ich jetzt mal um gesetzt und ich erhalte auch ein
Handle, das gleiche wie es auch
WinSpy ausliest
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
wndProgman: HWND;
wndDesktop: HWND;
wndWorkerW: HWND;
wndShell : HWND;
wndChild : HWND;
begin
wndWorkerW := 0;
wndShell := 0;
wndProgman := FindWindow('
Progman',
nil);
wndDesktop := GetDesktopWindow;
If wndProgman <> 0
then
begin
wndShell := FindWindowEx(wndProgman, 0, '
SHELLDLL_DefView',
nil);
If wndShell = 0
then
begin
while ((wndShell = 0)
or (wndWorkerW = 0))
do
begin
wndWorkerW := FindWindowEx(wndDesktop, wndWorkerW, '
WorkerW',
nil);
wndShell := FindWindowEx(wndWorkerW, 0, '
SHELLDLL_DefView',
nil);
end;
end;
wndChild := FindWindowEx(wndShell, 0, '
SysListView32',
nil);
ShowMessage('
Window Handle: ' + IntToStr(wndChild));
end;
end;
Ich hab mal eine Variable mitlaufen lassen. Es sind 39 (!) Schleifendurchgänge notwendig,
bis das
Handle gefunden wurde. D. h. es gibt 39x WorkerW
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<