Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Abrir una carpeta con el explorador de windows (https://www.clubdelphi.com/foros/showthread.php?t=28772)

[Gunman] 02-01-2006 15:47:01

Abrir una carpeta con el explorador de windows
 
He buscado por los foros y he encontrado diferentes soluciones, pero ninguna me funciona. He intentado probar cantidad de combinaciones con ShellExecute, pero nada.
Miro la declaración de ShellExecute:
Código Delphi [-]
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
  Directory: PChar; ShowCmd: Integer): HINST; stdcall;
En hWnd pongo el Handle del formulario: MainFrm.Handle, en Operation pongo 'open', en FileName le meto 'explorer.exe', en parameters pongo las opciones: '/n,/e', en Directory pongo el directorio que quiero abrir: FileName y finalmente en ShowCmd le indico SW_SHOWNORMAL. Todo esto está en una Acción de un TActionManager:
Código Delphi [-]
procedure TMainFRM.ExploreActExecute(Sender: TObject);
var
  FileName: PAnsiChar;
begin
  if (ExplorerList.ItemIndex >= 0) and
     (Copy(ExplorerList.Selected.SubItems[3],1,1) = 'D') then
  FileName := PChar(IncludeTrailingPathDelimiter(CurrLocalPath) +
              IncludeTrailingPathDelimiter(ExplorerList.Selected.Caption))
  else
  FileName := PChar(IncludeTrailingPathDelimiter(CurrLocalPath));

  ShellExecute(MainFrm.Handle,'open','explorer.exe','/e',FileName,SW_SHOWNORMAL);
end;

Pero esto no funciona, me abre el explorador de windows, pero no en la carpeta seleccionada, sino en C.

He probado sin ponerle el 'open', hace lo mismo, he probado de quitarle 'explorer.exe' y lo abre en una ventana del explorador normal (sin el árbol de directorios), no funciona.
Alguien sabe como puedo solucionar mi problema? Uso WinXP Pro, no se si el problema reside en esto, creo que no...

[Gunman] 02-01-2006 15:58:04

¡Solucionado!
Código Delphi [-]
ShellExecute(MainFrm.Handle,'explore',FileName,'','',SW_SHOWNORMAL);


La franja horaria es GMT +2. Ahora son las 08:05:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi