Autor Beitrag
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 03.10.11 17:57 
Ich hab da mal wieder ein kleines Problem. Das ist mit Absicht in Off Topic, da das vermutlich kein Delphi-Problem ist. :gruebel:

Ich öffne automatisiert den Explorer, um ein Verzeichnis anzeigen zu lassen. Das mache ich in Delphi so:

ausblenden Delphi-Quelltext
1:
ShellExecute(Handle, 'open' ,'explorer.exe', PChar('"c:\Windows"'), '', sw_ShowNormal);					

Rückgabewert ist 42, was größer als 32 ist, also ist alles ok. ShowMessage(SysErrorMessage(GetLastError)); liefert dann auch "Der Vorgang wurde erfolgreich beendet".

Trotzdem öffnet sich seit einiger Zeit auf meinem Desktop-PC kein Explorer-Fenster mehr. Selbes Programm auf anderem Rechner macht das, was es soll.

Dieses Verhalten habe ich seit kurzem auch bei Opera - da kann man sich ja auch bei den Downloads das Verzeichnis öffnen lassen (Kontextmenü -> OpenFolder). Auch da passiert nichts. Bei der entsprechenden Firefox-Funktion passiert auch nichts. Irgendwas scheint also das automatisierte Explorer-Öffnen zu verhindern. Bei VLC und IE funktioniert das allerdings noch, ggf. wird da das Äquivalent zu
ausblenden Delphi-Quelltext
1:
ShellExecute(Handle,  'explore', PChar('"c:\Windows\"'), NILNIL, sw_ShowNormal)					

genutzt, das bei mir auch läuft.

Den Avira-Guard habe ich mal deaktiviert - keine Änderung.

Hatte das Verhalten auch schonmal jemand und hat ne Ahnung, wer oder was dazwischen funkt? :gruebel:

OS: Windows 7, 64Bit

_________________
We are, we were and will not be.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 03.10.11 18:14 
Wie wäre es so?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
function OpenFolderInExplorer(AHandle: THandle; const AFolderName: string): Boolean;
begin
  Result := ShellExecute(AHandle, 'open' ,'explorer.exe',
    PChar('/e,"' + AFolderName + '"'), PChar(AFolderName), SW_SHOWNORMAL) > 32;
end;
Geht das vielleicht?
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 03.10.11 18:31 
Es wird True zurückgeliefert, aber sonst passiert nichts.

Würde mein Problem ja auch nur halb lösen. Opera und Firefox sollten in der Hinsicht ja auch wieder funktionieren. ;-)

_________________
We are, we were and will not be.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 03.10.11 19:42 
Dann schlage ich mal vor, dass du zuerst einmal im abgesicherten Modus startest. Wenn es dort dann geht, ist es irgendein Programm oder Dienst, das beim Systemstart geladen wird.

Ich bin mir gerade nicht sicher, ob dann auch Shellextensions geblockt werden. Die müssten also ggf. zusätzlich untersucht werden. Dabei hilft für einen schnellen Überblick z.B. Hijackthis um nach ungewöhnlichen Einträgen zu suchen.

Dann wäre da noch der Process Monitor um zu schauen, aber da weiß ich nicht, ob der hier hilft.

Ja, und ansonsten:
Wie sieht es denn mit Backups aus? :zwinker:
Zum letzten Systemwiederherstellungspunkt zurückgehen sollte aber auch reichen.
ujr
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 102
Erhaltene Danke: 12



BeitragVerfasst: Mo 03.10.11 19:53 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Hatte das Verhalten auch schonmal jemand und hat ne Ahnung, wer oder was dazwischen funkt?


Nur mal eine mehr oder weniger große zeitliche Verzögerung aufgrund von Netzwerkverweisen.

Gibt es überhaupt einen neuen Prozess?

Öffnet Win-E einen neuen Explorer?

Funktioniert CreateProcess besser?