AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*)
Thema durchsuchen
Ansicht
Themen-Optionen

Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*)

Offene Frage von "CodeX"
Ein Thema von CodeX · begonnen am 17. Aug 2015 · letzter Beitrag vom 31. Aug 2015
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 00:13
Das sind die Nachrichten die normal ankommen

Laufwerk verbinden
Code:
<000501> 00CC0206 S WM_DEVICECHANGE Event:DBT_DEVICEARRIVAL dwData:0680EFA0
<000502> 00CC0206 R WM_DEVICECHANGE fComplete:True
<000503> 00CC0206 S message:0xC27D [Registriert:"INTENTAPI_UPDATE"] wParam:00000000 lParam:00000000
<000504> 00CC0206 R message:0xC27D [Registriert:"INTENTAPI_UPDATE"] lResult:00000000
<000505> 00CC0206 P message:0xC28D [Registriert:"ShellFileOpened"] wParam:00000000 lParam:00000000
Laufwerk trennen
Code:
<000506> 00CC0206 S WM_DEVICECHANGE Event:DBT_DEVICEREMOVECOMPLETE dwData:0680EFA0
<000507> 00CC0206 R WM_DEVICECHANGE fComplete:True
<000508> 00CC0206 S message:0xC27D [Registriert:"INTENTAPI_UPDATE"] wParam:00000000 lParam:00000000
<000509> 00CC0206 R message:0xC27D [Registriert:"INTENTAPI_UPDATE"] lResult:00000000
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 00:19
Wo hast Du das jetzt her?

Ich habe bereits folgende Benachrichtigungen versucht:
Delphi-Quellcode:
SHChangeNotify(SHCNE_DRIVEREMOVED, SHCNF_PATH, PAnsiChar('Z:\'), nil);
SendMessage(HWND_BROADCAST, WM_DEVICECHANGE, DBT_DEVICEREMOVECOMPLETE, 0);
SendMessage(HWND_BROADCAST, WM_DEVICECHANGE, DBT_CONFIGCHANGED, 0);
Hat aber keinen Unterschied gemacht. Bzw. in manchen Tests hat die SHCNE_DRIVEREMOVED das Laufwerk sogar tatsächlich entfernt, aber nur bis zum F5 oder öffnen eines neuen Explorer-Fensters. Mit der Nachricht konnte ich im Prinzip alle Laufwerke visuell entfernen und mit F5 wieder anzeigen... Scheint also nur kosmetisch zu sein.

Wie setzt man die anderen Messages, die du aufgelistet hast, um? Bzw. was ist denn "INTENTAPI_UPDATE"?
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 00:24
Die Nachrichten habe ich mit Spy++ mitgeschnitten (Tool von Micr*s*ft was beim VS dabei ist).

Was, wie und wo müsstest du da noch eruieren ... bzw. das Wichtigste ist zu prüfen welche Nachricht denn eben nicht verschickt wird und die muss man sich genauer anschauen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 00:32
Die Nachrichten habe ich mit Spy++ mitgeschnitten
Dann scheine ich das falsch verwendet zu haben. Hast du das Fadenkreuz auf ein Explorer-Fenster gezogen und dort dann das Laufwerk getrennt? Ich wurde von Messages erschlagen und wusste gar nicht wonach ich filtern soll.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 00:34
Das Trennen habe ich von einem anderen Fenster aus gemacht, weil sonst erschlagen einen ja die Messages, wenn man keinen Filter setzt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.989 Beiträge
 
Delphi 12 Athens
 
#6

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 06:05
Ein mächtiges Werkzeug ist dafür der API Monitor:
http://www.rohitab.com/apimonitor
Damit kann man herausfinden welche API Funktionen der Explorer oder ein anderes Tool aufruft. Vielleicht gibt es ja doch eine Funktion dafür, die auch den Explorer aktualisiert.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 09:31
Das Trennen habe ich von einem anderen Fenster aus gemacht, weil sonst erschlagen einen ja die Messages, wenn man keinen Filter setzt
Also ich musste zwar schmunzeln, aber wirklich schlau werde ich daraus trotzdem nicht. Kannst Du Dein Vorgehen bitte kurz Schritt-für-Schritt beschreiben? Alternativ kurzes Video? Oder Screensharing? Das wäre für die Zukunft sicherlich sehr hilfreich.
Aber unabhängig davon: Wenn ich Dein Ergebnis richtig deute, hast Du genau 2 Messages mitgeschnitten, die jeweils gesendet und empfangen werden. Die erste ist klar (siehe Code in meinem vorherigen Posting). Aber was ist die zweite?
Das war jetzt ohnehin nur beispielhaft bei einem normalen Netzlaufwerk, ohne die besagte fehlerhafte Konstellation, oder?

Ein mächtiges Werkzeug ist dafür der API Monitor:
http://www.rohitab.com/apimonitor
Damit kann man herausfinden welche API Funktionen der Explorer oder ein anderes Tool aufruft. Vielleicht gibt es ja doch eine Funktion dafür, die auch den Explorer aktualisiert.
Das sieht in der Tat sehr vielversprechend aus. Damit werde ich mich dann heute mal auseinandersetzen. Dadurch, dass das Tool für mich völlig neu ist, befürchte ich nur schon vorab, dass ich damit nicht alles relevante finden/sehen werde. Bist Du mit dem Tool vertraut? Düfte ich dich bitten, da auch mal mit einem geübten Blick draufzuschauen?
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Windows-Bug mit bestimmter Netzlaufwerkskonstellation (*Herausforderung gesucht?*

  Alt 18. Aug 2015, 09:40
Nun ja, ein Video, wo du zwei Explorer Fenster siehst, von denen ich das eine Fenster überwache und in dem anderen Fenster das Laufwerk verbinde und wieder trenne, wäre schon etwas Overkill.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:22 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