Creio que precisas colocar todo o path para executar o regedit.exe: 
"c:\windows\regedit.exe".
Funciona com o command /c porque usando assim ele busca no path.

Alessandro DUARTE de Moraes
A.C. Santa Casa do Rio Grande.
http://www.santacasarg.com.br
(53) 3233-7118
  ----- Original Message ----- 
  From: silvaburro 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, July 07, 2008 11:58 PM
  Subject: [delphi-br] Onde tá o erro nesse ShellExecute?


  var
  i : integer;
  begin
  i := ShellExecute(0,Nil,'regedit.exe',PChar('/E ' +
  ExpandFileName(PastaDesk)),PChar(SysWinDir),SW_HIDE);

  if i = 0 then
  begin
  RemoveRestricoes := True;
  ShowMessage('Backup criado com sucesso!');
  end
  else
  ShowMessage('Não foi possível criar um backup correto do "Registro do
  Windows"');
  end;

  Só dá a segunda mensagem e não cria o backup de jeito nenhum. Já
  pesquisei na internet e só encontro para salvar uma chave e nunca o
  regedit inteiro, essa foi a forma que encontrei no pau. Se colocar
  command.com /c dá certo se eu colocar o path em c:\ (acho que é por
  causa dos nomes longos). Estou pegando a pasta do Desktop + o nome do
  arquivo na variável PastaDesk.

  Ajudem por favor

  Silva B. Uri de Rodrigues
  [EMAIL PROTECTED]

  P.S. - Desculpem o e-mail, mas a porcaria do Yahoo só disponibilizava
  esse e eu precisava entrar neste grupo.



   
  -------------------------- 
  E-mail Seguro Vetorial.net 

  Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, 
  encaminhe para [EMAIL PROTECTED] 

  Chave de Identificação: 54568,4873464d935967215643955 


[As partes desta mensagem que não continham texto foram removidas]

Responder a