janela de execução
Boa tarde,
Pesquisando aqui no fórum encontrei algumas informações sobre como utilizar o create process e estou utilizando a sintaxe abaixo:
procedure TFrm_GeraRelatorioWeb.Processa;
var
StartupInfo: TStartupInfo;
ProcessInformation: TProcessInformation;
rc : Boolean;
v_texto: string;
SI: TStartupInfo;
begin
si.wShowWindow := SW_HIDE;
if FileExists(v_executa_arquivo) then
begin
v_texto:=v_executa_arquivo;
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
with StartupInfo do
cb := SizeOf(StartupInfo);
rc := CreateProcess(NIL, PChar(v_texto), NIL, NIL, FALSE,
NORMAL_PRIORITY_CLASS, NIL, NIL, StartupInfo, ProcessInformation);
// NORMAL_PRIORITY_CLASS, NIL, NIL, SI, ProcessInformation);
if rc then
WaitForSingleObject(ProcessInformation.hProcess,INFINITE);
end;
end;
v_executa_arquivo - é uma variável que contém a localização do arquivo .bat a ser executado.
Se utilizar SI no lugar do StartupInfo a execução parece que foi feita mas não acontece nada. Retirando o SI e utilizando o StartupInfo a execução ocorre normalmente mas o conteúdo do arquivo .bat aparece na tela sobrepondo a tela que chamou a execução do mesmo.
Há alguma outra forma de deixar a janela de execução em hidden sem utilizar o SI?
Obrigado
Airton
Pesquisando aqui no fórum encontrei algumas informações sobre como utilizar o create process e estou utilizando a sintaxe abaixo:
procedure TFrm_GeraRelatorioWeb.Processa;
var
StartupInfo: TStartupInfo;
ProcessInformation: TProcessInformation;
rc : Boolean;
v_texto: string;
SI: TStartupInfo;
begin
si.wShowWindow := SW_HIDE;
if FileExists(v_executa_arquivo) then
begin
v_texto:=v_executa_arquivo;
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
with StartupInfo do
cb := SizeOf(StartupInfo);
rc := CreateProcess(NIL, PChar(v_texto), NIL, NIL, FALSE,
NORMAL_PRIORITY_CLASS, NIL, NIL, StartupInfo, ProcessInformation);
// NORMAL_PRIORITY_CLASS, NIL, NIL, SI, ProcessInformation);
if rc then
WaitForSingleObject(ProcessInformation.hProcess,INFINITE);
end;
end;
v_executa_arquivo - é uma variável que contém a localização do arquivo .bat a ser executado.
Se utilizar SI no lugar do StartupInfo a execução parece que foi feita mas não acontece nada. Retirando o SI e utilizando o StartupInfo a execução ocorre normalmente mas o conteúdo do arquivo .bat aparece na tela sobrepondo a tela que chamou a execução do mesmo.
Há alguma outra forma de deixar a janela de execução em hidden sem utilizar o SI?
Obrigado
Airton
Airoosp
Curtidas 0