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: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
 
#2

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
 
#3

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
 
#4

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
CodeX

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

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

  Alt 18. Aug 2015, 10:15
Und welche Einstellungen genau? "Additional Windows"? Welche Auswahl bei "Messages"?
Und der zweite Teil meiner Frage nach der Deutung der zweiten Message?
Mensch, jetzt lass Dir doch nicht alles aus der Nase ziehen.
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
CodeX

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

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

  Alt 18. Aug 2015, 11:26
Nach einer Stunde mit dem API Monitor weiß ich nun zumindest, dass net.exe bei net use z: /disconnect intern auch einfach nur MSDN-Library durchsuchenWNetCancelConnection2 aufruft. Das erklärt das gleiche Resultat. Beim Trennen über den Explorer habe ich den Aufruf dieser Funktion allerdings nicht gefunden. Scheinbar macht er das also irgendwie anders!? Das Problem ist, dass die explorer.exe auch noch für tausend andere Dinge zuständig ist und das Monitoring entsprechend viel aufzeichnet, was mich gar nicht interessiert. Ich habe versucht, mich Stück für Stück manuell durchzuhangeln, habe aber leider nicht gesehen, wo das Laufwerk dann tatsächlich getrennt wird. Ich sehe zwar viele Zugriffe auf das Laufwerk wie MSDN-Library durchsuchenPathGetDriveNumber oder MSDN-Library durchsuchenWNetGetConnection, aber damit alleine komme ich leider nicht weiter.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.

Geändert von CodeX (18. Aug 2015 um 11:28 Uhr)
  Mit Zitat antworten Zitat
einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#7

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

  Alt 18. Aug 2015, 12:02
Hallo,

habe jetzt nicht herauslesen können, ob du auch darauf geachtet hast, dass das zu überwachende Explorer-Fenster in einem eigenen Prozess ausgeführt wird. Auch könnte ich mir vorstellen, das es helfen könnte, den Explorer als einen anderen Benutzer auszuführen. Ich könnte mir auch vorstellen das die Nachricht an einen anderen Systemprozess geht, und der Explorer über eine andere API davon erfährt. Probiere doch auch mal einen alternativen Dateibrowser wie Total Commander, ob der sich anders verhält oder andere Aktionen auslöst. Auf alle fälle wirst du viele Nachrichten und API-Funktionen durch Recherche und/oder probieren ausschließen müssen, um die Richtige zu finden.

einbeliebigername.
  Mit Zitat antworten Zitat
CodeX

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

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

  Alt 18. Aug 2015, 12:42
das zu überwachende Explorer-Fenster in einem eigenen Prozess ausgeführt wird
Wie sollte das gehen?

Auch könnte ich mir vorstellen, das es helfen könnte, den Explorer als einen anderen Benutzer auszuführen.
Das Ausführen des Explorers unter einem anderen lokalen Benutzer hat bei einem kurzen Test nicht funktioniert.

Probiere doch auch mal einen alternativen Dateibrowser wie Total Commander, ob der sich anders verhält oder andere Aktionen auslöst.
Gleiches Fehlverhalten bei:
  • Total Commander
  • FileZilla
  • "Wizzard" im Explorer: Hauptmenü (ALT-Taste) > Tools > Netzlaufwerk trennen ... > Auswahl
  • Windows API (WNetCancelConnection2)
  • Kommandozeile (net.exe)
  • Aufrufen des Kontextmenüs per API: z.B. per Jcl DisplayContextMenu
  • Aufrufen des Kontextmenüs über die professionelle Komponente "ShellBrowser" von JAM Software

Funktioniert fehlerfrei:
  • Rechtsklick auf Netzlaufwerk im Explorer > Trennen

Das größte Rätsel ist für mich ja weiterhin, warum das Ausführen des Befehls über das Kontextmenü nicht funktioniert, wenn man das Kontextmenü in einer anderen Software aufruft. Ich dachte, das wäre zwar eine Notlösung, muss aber funktionieren, da hier exakt derselbe Kontextmenüpunkt aufgerufen wird.
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 Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#9

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

  Alt 18. Aug 2015, 13:35
Auch könnte ich mir vorstellen, das es helfen könnte, den Explorer als einen anderen Benutzer auszuführen.
Das funktioniert ohne Klimmzüge ab Vista nicht mehr (ebensowenig wie das Ausführen als Administrator).

@CodeX: Wie hast du beim Total Commander das Netzlaufwerk getrennt? Via Rechtsklick auf die Pfadleiste (um das Kontextmenü des Laufwerks zu bekommen) und dann Klick auf Trennen oder mit Menü Netz > Netzlaufwerk trennen, das den Systemdialog aufruft? Wenn letzteres: was passiert, wenn du im Explorer diesen Dialog ebenfalls bemühst/benutzt?

MfG Dalai
  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
 
#10

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

  Alt 18. Aug 2015, 12:31
Und welche Einstellungen genau? "Additional Windows"? Welche Auswahl bei "Messages"?
Und der zweite Teil meiner Frage nach der Deutung der zweiten Message?
Mensch, jetzt lass Dir doch nicht alles aus der Nase ziehen.
Öhm, einfach ein Explorer Fenster ausgewählt (Titellsite des Fensters) und keine Einschränkungen bei den Messages oder so gemacht.

Dieses überwachte Fenster lasse ich dann komplett in Ruhe und arbeite mit einem anderen Explorer-Fesnter um die Aktionen auszuführen.

Nach dem Verbinden eines Netzlaufwerks schaue ich mir die Meldungen an ... aha, so viele
Und nach dem Trennen des Netzlaufwerks speichere ich die Meldungen in eine Datei.

Mehr ist/war da nicht.
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 09:58 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