Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Win8: SHELLDLL_DefView wird nicht mehr gefunden (https://www.delphipraxis.net/179282-win8-shelldll_defview-wird-nicht-mehr-gefunden.html)

Luckie 25. Feb 2014 20:25

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
ja, aber die API Funktion sollte sie doch finden. Wie gesagt, ich lade sie ja nicht explizit. Das wundert mich etwas.

Helmi 25. Feb 2014 20:46

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
Ich hab jetzt extra deinen SourceCode vom LuckieDIPS gedebuggt und es gibt das gleiche Problem wie in meiner SW (die ja deinen Code verwendet)

die Variable DefView ist 0, weil
Delphi-Quellcode:
DefView := FindWindowEx(Progman, HWND(nil), 'SHELLDLL_DefView', nil);
null liefert, also SHELLDLL_DefView nicht gefunden wird

Luckie 25. Feb 2014 20:56

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
Aaaah. Es gibt kein Fenster mehr mit dem Namen. Da hat sich wohl was geändert. Es geht gar nicht um die DLL. Danke für die Info. Doof. Nimm dir mal WinSpy und guck mal, ob du das Fenster findest. Sorry, wenn ich etwas daneben schreibe, bin gerade etwas im Stress.

Helmi 25. Feb 2014 21:01

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
hab ich ja schon gemacht - schau einfach mal ein paar Posts von mir weiter oben

Luckie 25. Feb 2014 21:02

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
Ok, wie gesagt, bin etwas im Stress. Funktioniert wieder?

hathor 25. Feb 2014 21:03

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
Das muss jetzt "ungefähr" so aussehen:

Delphi-Quellcode:
...
    if DefView = 0 then
        DefView := FindWindowEx(DefView, 0, 'WorkerW', nil);
    if DefView <> 0 then
    begin
      if IsActiveDesktopActive then
        EnumChildWindows(DefView, @EnumDefViewProc, LPARAM(@DefView));
      Result := FindWindowEx(DefView, 0, 'SysListView32', nil);
    end;
...

Helmi 25. Feb 2014 21:05

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
nur gibt's WorkerW mehr als ein mal

jaenicke 25. Feb 2014 22:40

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
Aber nicht nebeneinander. Der Code funktioniert bei mir problemlos um z.B. die Listview zu finden:
Delphi-Quellcode:
var
  ParentWindow, ListWindow: HWND;
begin
  ParentWindow := FindWindow('WorkerW','');
  if ParentWindow <> 0 then
  begin
    ListWindow := FindWindowEx(ParentWindow, 0, 'SHELLDLL_DefView', nil);
    ListWindow := FindWindowEx(ListWindow, 0, 'SysListView32', nil);
    if ListWindow <> 0 then
    begin
      ShowMessage('Window Handle: ' + IntToStr(ListWindow));
    end;
  end;
end;

Helmi 26. Feb 2014 05:09

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
ok - werd ich heut abend mal ausprobieren

jaenicke 26. Feb 2014 05:49

AW: Win8: SHELLDLL_DefView wird nicht mehr gefunden
 
Den Code generiert übrigens WinSpy automatisch für dich. ;-)
http://www.delphipraxis.net/15388-wi...6-09-08-a.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr.
Seite 2 von 3     12 3      

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