Iniciar do Windows

Delphi

05/05/2005

Alguém sabe como eu pego o caminho da pasta iniciar do windows?
Pois em alguns windows é diferente o caminho.

Pelo registro do windows eu ja sei, eu quero saber o caminho mesmo


Blbacelar

Blbacelar

Curtidas 0

Respostas

Massuda

Massuda

05/05/2005

Adaptado de [url=http://www.swissdelphicenter.ch/en/showcode.php?id=233]uma dica[/url] do SwissDelphiCenter....
uses
  ActiveX, ShlObj;

function GetStartupFolder: string;
var
  Allocator: IMalloc;
  PIDL: PItemIdList;
  Buffer: array[0..MAX_PATH] of Char;
begin
  if SHGetMalloc(Allocator) = NOERROR then begin
    SHGetSpecialFolderLocation(0, CSIDL_STARTUP, PIDL);
    SHGetPathFromIDList(PIDL, @Buffer[0]);
    Allocator.Free(PIDL);
    Result := string(Buffer);
  end
  else begin
    Result := ´´;
  end;
end;



GOSTEI 0
Blbacelar

Blbacelar

05/05/2005

Valew pela dica,


GOSTEI 0
Marco Salles

Marco Salles

05/05/2005

Massuda , parabens pela dica :P :P :P

Adaptado de uma dica do SwissDelphiCenter....


Nesta Dica , aparece duas Funcoes:
1)function GetDeskTopPath : string;
2)function GetSystemPath(SystemPath: TSystemPath): string;

Voce sabe me disse para que serve elas???

a primeira função , retorna um caminho. Da pasta DeskTop... Mas este mesmo caminho poderia ser obtido , mudando a instrução de
SHGetSpecialFolderLocation(0, CSIDL_STARTUP, PIDL); para
SHGetSpecialFolderLocation(0,CSIDL_DESKTOP , PIDL);

Nun entendi, voce entendeu :?: :?: :?:


GOSTEI 0
Massuda

Massuda

05/05/2005

[quote:4162a70538=´Marco Salles´]... Mas este mesmo caminho poderia ser obtido , mudando a instrução...[/quote:4162a70538]Todas as pastas/diretórios especiais do Windows (tipo Arquivos de Programas, Meus documentos, etc) podem ser obtidos através da função [url=http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shgetspecialfolderlocation.asp[/url]SHGetSpecialFolderLocation[/url].

O segundo parâmetro indica qual pasta/diretório você deseja; veja uma lista dos valores possíveis para esse parâmetro [url=http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp]nesta página[/url] do MSDN. Note que alguns dos valores definidos na página do MSDN não estão definidos na unit ShlObj do Delphi (mas você pode defini-los em seu programa) e que nem todos os valores mostrados na página do MSDN correspondem a uma pasta/diretório (por exemplo CSIDL_NETWORK é o Ambiente de Rede).


GOSTEI 0
Marco Salles

Marco Salles

05/05/2005

Todas as pastas/diretórios especiais do Windows (tipo Arquivos de Programas, Meus documentos, etc) podem ser obtidos através da função SHGetSpecialFolderLocation


Beleza, mas o que dizer sobre as Funções:

1)function GetDeskTopPath : string; 2)function GetSystemPath(SystemPath: TSystemPath): string;


:?: :?: :?: :?:


GOSTEI 0
Massuda

Massuda

05/05/2005

[quote:26d68393c1=´Marco Salles´]...mas o que dizer sobre as Funções:[/quote:26d68393c1]Desculpe, mas eu não entendi o que você quer ou qual sua dúvida... essas são funções implementadas pelo autor da dica que citei no meu primeiro post neste tópico... elas não são parte do Windows.


GOSTEI 0
Marco Salles

Marco Salles

05/05/2005

essas são funções implementadas pelo autor da dica que citei no meu primeiro post neste tópico... elas não são parte do Windows.


Sim , eu as Implementei :arrow: e não vi nenhuma utilidade nela :cry: :cry:
É isto que eu gostaria de saber .. Qual a utiloidade delas , e para que servem :?: Qual a finalidade do autor ao implementa-las :?: :?: :?:


GOSTEI 0
POSTAR