WinExec Caminho Variável
Senhores, estou tentando utilizar o WinExec porém só consegui utiliza-lo com caminho estático. Gostaria de saber como utiliza-lo através de um caminho contido em uma variável ou edit. encontrei este comando aqui no forum porém nao funcionou. Uso XP e 3KServer, como posso fazer?
Codigo encontrado aqui no Forun: WinExec(Pchar(Edit.text), SW_SHOW);
Muito obrigado :oops:
Codigo encontrado aqui no Forun: WinExec(Pchar(Edit.text), SW_SHOW);
Muito obrigado :oops:
Aurino003
Curtidas 0
Respostas
Paulo_amorim
17/05/2004
Olá
Ele não funciona com o PChar?
Dá erro ou simplesmente não abre?
Sempre usei o Pchar com o Win2k e funciona..
Dá uma explicada ae...
Até+
Ele não funciona com o PChar?
Dá erro ou simplesmente não abre?
Sempre usei o Pchar com o Win2k e funciona..
Dá uma explicada ae...
Até+
GOSTEI 0
Aurino003
17/05/2004
Obrigado pela força!
Com este código nada acontece (nenhum erro), simplesmente não finciona!
O que é que pode estar acontecendo?
Valeu! :)
Com este código nada acontece (nenhum erro), simplesmente não finciona!
O que é que pode estar acontecendo?
Valeu! :)
GOSTEI 0
Vinicius2k
17/05/2004
Colega,
Correndo o risco de parecer bobo, mas a linha de comando a ser executada presente do Edit está correta ?
Tente executar algo bem sismples, tipo c:\windows\notepad.exe...
T+
Correndo o risco de parecer bobo, mas a linha de comando a ser executada presente do Edit está correta ?
Tente executar algo bem sismples, tipo c:\windows\notepad.exe...
T+
GOSTEI 0
Nerdex
17/05/2004
verifique se vc incluiu - shellapi no seu uses...
... pode ser?
... pode ser?
GOSTEI 0
Aurino003
17/05/2004
Caros colegas, Vinícius2K e NerdeX
A linha a ser executada e a abaixo mostrada e a shellapi foi corretamente declarada.
Winexec(´C:\WINDOWS\EXPLORER.EXE /n,C:\Documents and
Settings\Escritorio Executivo´,sw_showNormal);
Obs. o código funciona se executado de maneira estática (colocada diretamente no onclique do botão.
como resolvo?
Obrigado :oops:
A linha a ser executada e a abaixo mostrada e a shellapi foi corretamente declarada.
Winexec(´C:\WINDOWS\EXPLORER.EXE /n,C:\Documents and
Settings\Escritorio Executivo´,sw_showNormal);
Obs. o código funciona se executado de maneira estática (colocada diretamente no onclique do botão.
como resolvo?
Obrigado :oops:
GOSTEI 0
Andcarpi
17/05/2004
tente isso:
procedure TfrmPrincipal.btnEditaCClick(Sender: TObject);
Var
a: Array[0..1024] of Char;
begin
if edit1.text <> ´´ then begin
strpcopy(a, edit1.text);
ShellExecute (0, Nil, a, nil, Nil, SW_ShowNormal);
end else
showmessage(´Nada digitado´);
end;
deve funcionar!
procedure TfrmPrincipal.btnEditaCClick(Sender: TObject);
Var
a: Array[0..1024] of Char;
begin
if edit1.text <> ´´ then begin
strpcopy(a, edit1.text);
ShellExecute (0, Nil, a, nil, Nil, SW_ShowNormal);
end else
showmessage(´Nada digitado´);
end;
deve funcionar!
GOSTEI 0
Vinicius2k
17/05/2004
aurino003,
Testei mais algumas vezes, fixo e com o conteúdo no TEdit... funciona perfeitamente...
Só tem um detalhe... por acaso vc não está colocando o conteúdo do TEdit entre aspas simples (´linha a executar´) ? se estiver, remova as aspas... colocando as aspas eu consegui simular o seu problema... a linha do WinExec tem que ser idêntica ao q vc digitaria no ´Iniciar->Executar´...
PS : a ShellAPI não é necessária ao WinExec, apenas ao ShellExecute...
Espero ter ajudado...
T+
Testei mais algumas vezes, fixo e com o conteúdo no TEdit... funciona perfeitamente...
Só tem um detalhe... por acaso vc não está colocando o conteúdo do TEdit entre aspas simples (´linha a executar´) ? se estiver, remova as aspas... colocando as aspas eu consegui simular o seu problema... a linha do WinExec tem que ser idêntica ao q vc digitaria no ´Iniciar->Executar´...
PS : a ShellAPI não é necessária ao WinExec, apenas ao ShellExecute...
Espero ter ajudado...
T+
GOSTEI 0
Aurino003
17/05/2004
aurino003,
Testei mais algumas vezes, fixo e com o conteúdo no TEdit... funciona perfeitamente...
Só tem um detalhe... por acaso vc não está colocando o conteúdo do TEdit entre aspas simples (´linha a executar´) ? se estiver, remova as aspas... colocando as aspas eu consegui simular o seu problema... a linha do WinExec tem que ser idêntica ao q vc digitaria no ´Iniciar->Executar´...
PS : a ShellAPI não é necessária ao WinExec, apenas ao ShellExecute...
Espero ter ajudado...
T+
Obrigado amigo, você está correto, fucionol perfeitamente,
Muito obrigado
Um abraço
GOSTEI 0
Aurino003
17/05/2004
tente isso:
procedure TfrmPrincipal.btnEditaCClick(Sender: TObject);
Var
a: Array[0..1024] of Char;
begin
if edit1.text <> ´´ then begin
strpcopy(a, edit1.text);
ShellExecute (0, Nil, a, nil, Nil, SW_ShowNormal);
end else
showmessage(´Nada digitado´);
end;
deve funcionar!
Caro Andcarpi,
Muito obrigado pelo código,
Funciona perfeitamente,
Um abraço
Valleu
Aurino
GOSTEI 0