![]() |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
Zitat:
irgendwie sind Programmierer faule Leute :P nichts desto trotz - es geht leider auch mit diesem Code nicht! Hab mir die letzte Version von WinSpy geholt und auch den erzeugten Code getestet:
Delphi-Quellcode:
wndChild ist leider 0.
procedure TForm1.Button1Click(Sender: TObject);
var wndMain, wndChild: HWND; begin wndMain := FindWindow('WorkerW',''); if wndMain <> 0 then begin wndChild := FindWindowEx(wndMain, 0, 'SHELLDLL_DefView', nil); wndChild := FindWindowEx(wndChild, 0, 'SysListView32', nil); // if wndChild <> 0 then begin ShowMessage('Window Handle: ' + IntToStr(wndChild)); // FlashControl(wndChild); // internal function end; end; end; |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
Bei mir funktioniert das bei Windows 8.1 problemlos. Warum bei dir nicht... keine Ahnung. :?
Wird denn das erste Fenster gefunden? (Siehst du ja z.B. im Debugger.) |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
also es hakt schon bei
Delphi-Quellcode:
, also dem ersten wndChild
wndChild := FindWindowEx(wndMain, 0, 'SHELLDLL_DefView', nil);
Dort steht schon null drin - wurde also nicht gefunden |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
Aber du hast nicht zufällig so einen Schrott wie Start8 oder so drin, oder?
|
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
Zitat:
|
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
Dann gehen mir leider langsam die Ideen aus...
Geht es vielleicht mit Adminrechten? |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
nein - mit Adminrechten ging es auch nicht
Ich bin jetzt etwas im Internet auf die Suche gegangen und habe folgenden Code gefunden: ![]() den hab ich jetzt mal um gesetzt und ich erhalte auch ein Handle, das gleiche wie es auch WinSpy ausliest
Delphi-Quellcode:
Ich hab mal eine Variable mitlaufen lassen. Es sind 39 (!) Schleifendurchgänge notwendig,
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; bis das Handle gefunden wurde. D. h. es gibt 39x WorkerW |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
Ah, hier steht etwas dazu:
![]() Ich habe allerdings auch die Hintergrundbildrotation an. Aber dass es bei dir geht ist ja die Hauptsache. |
AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
ja - schaut ganz gut aus
nebenbei bemerkt haben wir den gleichen Link erwischt :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz