ShellExecute nie otwiera folderu

0

dlaczego ShellExecute nie otwiera mi folderów? Pliki otwiera dobrze, ale jak podam ścieżkę bez exeka, to nie chce otworzyć takiego folderu. Folder na 100% istnieje, bo wpisywałem nawet 'c:\' lub 'd:\', wpisywałem też z komendą 'open', 'explore' lub z żadną, czyli nil

0

Albo coś namieszane w rejestrze Windowsa albo wina ostatniego parametru. Nic raczej innego zdalnie nie wymyślimy. Dla pewności możesz jeszcze pokazać kod, jak wywołujesz.

0
ShellExecute(handle, nil, 'C:\', nil, nil, SW_SHOW);

i jak zamiast c:\ podam ścieżkę do programu np. c:\programy\ccleaner\ccleaner.exe to ccleanera odpala bez problemu, ale ścieżka z samym c:\ nie odpala niczego

0

a i jak do Inta zwracam wynik tej funkcji to kod ma numer 8

tu lista błędów jakaś
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx

czyli to? -> SE_ERR_DDETIMEOUT - The DDE transaction could not be completed because the request timed out.

0

haha, już wiem w czym problem. Comodo Internet Security blokował programowi coś, widocznie odpalił program domyślnie jako limitowany i pozbawił go tej funkcji do otwierania folderów (choć pliki otwierać mógł). Jakie to śmieszne i bezsensowne!
Zostawcie topic, może kiedyś ktoś kto ma COMODO będzie miał identyczny problem, wtedy sobie zmieni ustawienia w comodo lub doda plik jako zaufany.

0
ShellExecute(handle, nil, 'C:\', nil, nil, SW_SHOW);

Trochę dziwi mnie fakt, że podajesz ścieżkę katalogu (tutaj: partycji) w argumencie FileName; To i może działa, jednak znaczenie argumentów trzeba rozumieć i nie wklepywać kodu na ślepo; Dwa parametry dalej masz Directory, który pasuje do Twojego pytania; Sprawdziłem:

ShellExecute(Handle, nil, nil, nil, 'C:\', SW_SHOWNORMAL);

działa bez problemu; Zobacz u siebie, czy nieszczęsny antywirus też Ci zablokuje, czy może nie.

0
furious programming napisał(a):
ShellExecute(handle, nil, 'C:\', nil, nil, SW_SHOW);

Trochę dziwi mnie fakt, że podajesz ścieżkę katalogu (tutaj: partycji) w argumencie FileName; To i może działa, jednak znaczenie argumentów trzeba rozumieć i nie wklepywać kodu na ślepo; Dwa parametry dalej masz Directory, który pasuje do Twojego pytania; Sprawdziłem:

ShellExecute(Handle, nil, nil, nil, 'C:\', SW_SHOWNORMAL);

działa bez problemu; Zobacz u siebie, czy nieszczęsny antywirus też Ci zablokuje, czy może nie.

te też możliwości testowałem zanim temat założyłem i nie działały dosłownie żadne kombinacje, a sprawdzałem z open, explore, nil, ścieżki też podawałem w różnych miejscach i nie tylko samą c:, a dłuższą też i w żadnym przypadku nie działało. Dopiero jak w Comodo dodałem plik jako zaufany to nagle wszystkie miliard sposobów zadziałało więc jedynym winowajcą był Comodo, a nie kod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1