winexec

08/04/2006

e ai gurizada...

assim ó to querendo deletar uma pasta com tudo que tiver dentro..

executa := PChar(´command.com /c rd C:\teste /s /q´);
ExecAndWait(Executa,´´,sw_hide);

pelo DOS nao importa em que diretorio c eu digitar

rd C:\teste /s /q´

ele dele a pasta...

agora pelo delphi já tentei de tudo quanto é geito..


preciso deletar a pasta e NAO mandar pra lixeira...


Mysys

Respostas

10/04/2006

Paullsoftware

vc pode criar um arquivo de Lote (*.bat) e executar ele com WinExec... já tentou dessa forma?


Responder Citar

10/04/2006

Mysys

sim como arquivo .bat eu ja fiz e funciona blz...

mais infelizmente tenho que protejer alguns comando ... entao tem que ser direto no delphi...


eu fiz o mysql rodar direto do CD so que tenho que copiar a base pra uma pasta temporaria .... ai tenho que esconder essa pasta c eu colocar uma bat dentro do cd alguem mais esperto um pouco vai ver essa bet e pegar a base...


Responder Citar

10/04/2006

Edilcimar

Então crie o bat em tempo de execução, faça-o funcionar com o winexec, e na mesma hora apague o bat


Responder Citar

10/04/2006

Adriano Santos

Então crie o bat em tempo de execução, faça-o funcionar com o winexec, e na mesma hora apague o bat


Boa. Você pode também incorporar o .bat dentro do executável e extrair na hora do uso, é mais complexo, porém é ainda mais seguro.

[]s


Responder Citar

10/04/2006

Paulocesar1301

Ótimas idéias...
1-crie seu ´.bat´;
2-incorpore em um ´.res´:
» no ´.res´:
1 RCDATA "C:\MeuCaminhoBase\MeuBat.bat"

3-extraia o ´.bat´:
Var ResStream: TResourceStream;
Try
  Try
    ResStream := TResourceStream.CreateFromID (HInstance, 1, RT_RCDATA);
    ResStream.SaveToFile(SeuCaminho + ´SeuBat.bat´);
  Finally
    ResStream.Free;
  End;
Except
  ResStream.Free;
End;

4-execute seu ´.bat´;
5-exclua seu ´.bat´

Abs e Bons Códigos :wink:


Responder Citar

10/04/2006

Adriano Santos

Ótimas idéias... 1-crie seu ´.bat´; 2-incorpore em um ´.res´: » no ´.res´:
1 RCDATA "C:\MeuCaminhoBase\MeuBat.bat"
3-extraia o ´.bat´:
Var ResStream: TResourceStream;
Try
  Try
    ResStream := TResourceStream.CreateFromID (HInstance, 1, RT_RCDATA);
    ResStream.SaveToFile(SeuCaminho + ´SeuBat.bat´);
  Finally
    ResStream.Free;
  End;
Except
  ResStream.Free;
End;
4-execute seu ´.bat´; 5-exclua seu ´.bat´ Abs e Bons Códigos :wink:


É isso [b:e0cacade5e]Paulo[/b:e0cacade5e], na minha opnião essa é a melhor forma.


Responder Citar

10/04/2006

Mysys

blz....

criando a bat em tempo de execucao eu ja fiz.. e deletando logo em seguida.. fico show de bola...

agora vou dar uma testada ....


um abraco a todos...


Responder Citar

10/04/2006

Edilcimar

Ok, mas cuidado ao dar a testada para não se machucar!


Responder Citar

10/04/2006

Mysys

mais a ideia era essa mesmo

vo dando testada ate sai alguma coisa pelo nariz ou orelha ...

um abraço


Responder Citar

13/04/2006

Siam

executa := PChar(´command.com /c rd C:\teste /s /q´);
Pelo que me lembro, não é [b:04990517f9]/c[/b:04990517f9] e sim [b:04990517f9]/k[/b:04990517f9]


Responder Citar