Unter Windows 11 24H2 (ab Mai 2025) tritt ein schwerwiegender Bug in der Windows-Shell auf: Wenn Dateioperationen mit `IFileOperation` durchgeführt werden, erscheint der Fortschrittsdialog (`OperationStatusWindow`) nur beim ersten Aufruf – alle weiteren Aufrufe zeigen keinen Dialog mehr, selbst wenn die Aktionen korrekt durchgeführt werden.❓ Was ist das Problem?🛠️ FAQ: Fortschrittsdialog (`OperationStatusWindow`) erscheint nur beim ersten Mal – Bug in `IFileOperation` unter Windows 11 24H21. 💥 Beispiel zur Reproduktion 2. Wiederholter Aufruf mit Wartezeit: 3. 🔍 Was wurde bereits getestet? 4. ✅ Workaround in Q-Dir integriert 5. 📨 Kontakt & Unterstützung 6. 🗓️ Zusammenfassung: 1.) 💥 Beispiel zur ReproduktionC++-Code:int TestFileOperation()
{
IFileOperation* pFileOperation = nullptr;
HRESULT hr = CoCreateInstance(CLSID_FileOperation, nullptr, CLSCTX_ALL, IID_PPV_ARGS(&pFileOperation));
if (FAILED(hr)) return 1;
CComPtr<IShellItem> psiFrom = nullptr;
CComPtr<IShellItem> psiTo = nullptr;
// Beispielpfade anpassen!
SHCreateItemFromParsingName(L"v:\\Microsoft Visual Studio", nullptr, IID_PPV_ARGS(&psiFrom));
SHCreateItemFromParsingName(L"d:\\temp", nullptr, IID_PPV_ARGS(&psiTo));
if (psiFrom && psiTo)
pFileOperation->CopyItem(psiFrom, psiTo, L"Microsoft Visual Studio", nullptr);
pFileOperation->PerformOperations(); // nur beim ersten Mal erscheint der Fortschrittsdialog
return 1;
}
2.) Wiederholter Aufruf mit Wartezeit:TestFileOperation(); // ✅ Fortschrittsdialog erscheint MessageBox(0, 0, 0, 0); // manueller Abstand TestFileOperation(); // ❌ kein Fortschrittsdialog mehr Sleep(5000); // zusätzlicher zeitlicher Abstand TestFileOperation(); // ❌ weiterhin kein Dialog 3.) 🔍 Was wurde bereits getestet?* Frischer COM-Initialisierungszyklus (neu instanziiertes `IFileOperation`) * Verwendung von `SetProgressDialog(nullptr)` * Pausen (2+ Sekunden) und sogar `MessageBox` zur Interaktion * Unterschiedliche Quell- und Zielverzeichnisse ➡️ Keine Lösung ohne Hack: Der Fortschrittsdialog bleibt nach dem ersten Aufruf verschwunden. 4.) ✅ Workaround in Q-Dir integriertIn Q-Dir (Quad-Datei-Explorer) wurde ein spezieller Hack entwickelt, der den Bug systematisch umgeht, sodass der Fortschrittsdialog wie gewohnt bei jeder Dateioperation erscheint. Falls Sie ein Programm oder Skript mit ähnlichem Verhalten entwickeln, sind Sie wahrscheinlich ebenfalls betroffen. Es liegt nicht an Ihrem Code, sondern am internen Verhalten des Explorers in Windows 11 24H2. 5.) 📨 Kontakt & UnterstützungWenn Sie ebenfalls unter diesem Verhalten leiden, schreiben Sie uns gerne – wir helfen weiter. Ein kleines Trinkgeld für die Problemlösung ist willkommen 😄 6.) 🗓️ Zusammenfassung:* Betroffene Windows-Version: 11 Version 24H2 (ab Mai 2025) * Betroffene APIs: `IFileOperation`, Drag & Drop, `SHFileOperation` * Problem: Fortschrittsdialog erscheint nur beim ersten Aufruf * Lösung: In Q-Dir implementiert, bei Bedarf per Mail anfordern FAQ 159: Aktualisiert am: 2 Juli 2025 23:28 |
... Q-DIR Homeage

