Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dr_LuPa

Projeto Autorun

Recommended Posts

Olá! Eu estou aprendendo Delphi e sempre estou de olho aqui no forum. Eu nunca tinha coragem de me registrar e perguntar sobre minhas duvidas. Agora estou encorajado pq vejo que tem muitas pessoas aprendendo tb como eu.

 

Meu problema é o seguinte. Fiz um projeto de um autorum pra gravar em um DVD com alguns programas, coloquei tb neste projeto um botão que sera daquele tipo Browse CD, como tem em vários programas por ai.

 

Só que eu não estou conseguindo fazer esse botão funcionar.. pq nem sempre a unidade de CD será D: E: ou F:

 

Então, pesquisando, eu descobri um comando que retorna em qual diretorio meu programa esta. o comando é este:

 

ExtractFilePath(Application.ExeName)

Eu teria que fazer de alguma forma com que o resultado deste comando fosse jogado sobre o Explorer.exe. Só que eu não estou conseguindo.

 

Alguem pode me ajudar com isso.. será que esta logica esta correta ou tem uma outra maneira mais eficaz de fazer este Browse CD ?

 

 

Muito obrigado a todos.. espero que eu consiga solucionar este problema.

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

?!

 

nossa...

deixa ver se entendi..

você quer abrir o windows explorer no diretório onde está o seu programa?

 

... se for.. acho q isso...

 

winExec(pChar(ExtractFilePath(Application.ExeName)),0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso que eu quero fazer um botão Browse CD (Visualizar CD)... utilizei o seu codigo e não funcionou... não aconteceu nada..mas valeu a ajuda.. se alguem mais souber alguma coisa ou tiver uma dica, será muito bem aceita.!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops...

 

winExec('explore.exe  ' + pChar(ExtractFilePath(Application.ExeName)),0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

OPa! valeu a ajuda! eu finalmente consegui... usei este seu codigo e não deu certo não.. estava dando erro.. eu fiz da serguinte maneira (Usei dicas de um Help)

 

function ExecExplorer(OpenAtPath: string; OpenWithExplorer, OpenAsRoot: Boolean): boolean;vars: string;beginif OpenWithExplorer then  begin    if OpenAsRoot then    s := ' /e,/root,"' + OpenAtPath + '"'  else    s := ' /e,"' + OpenAtPath + '"';  end  else    s := '"' + OpenAtPath + '"';    result := ShellExecute(Application.Handle,PChar('open'),PChar('explorer.exe'), PChar(s),nil,SW_NORMAL) > 32;  end;

Para o botão que abre o Explorer.

 

var  DirDVDCD : string;begin  DirDVDCD := ExtractFilePath(Application.ExeName);  ExecExplorer(DirDVDCD, True, True);end;

Agora se alguem pedir pra eu esplicar este codigo hahahaha eu não vou saber...

Porem, se alguem souber explicar.. vai ser muito bom!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho..

faz a mesma coisa que o comando

winExec(pChar('explorer.exe  ' + ExtractFilePath(Application.ExeName)),1);

que eu digitei errado duas vezes..

só que ele usa um comando diferente do shellapi...

 

consiste em chamar o explorer.exe passando o caminho da aplicação como parametro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sensacional! Sensacional! Sensacional!Nossa! este comando é muito, mas muito bom mesmo! Sem contar que poupa muita digitação.. como no exemplo do Codigo que eu utilizei primeiramente.Esse codigo que você me passou vai direto ao ponto! simplesmente abre o explorer no diretorio onde se encontra o exe..O Codigo que eu encontrei abre o exemplo no modo de visualização de pastas que tb é muito bom!Valeu pela ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.