Posicionar a Janela do Executavel utilizando o CreateProcess

07/07/2004

0

Olá pessoal,

preciso abrir um aplicativo, por exemplo o notepad, mas como vou utilizar 2 monitores, um para acesso e outro para publicidade, quando o usuário abrir um aplicativo tera que abrir na tela de acesso, para isso estaou fazendo um simples programa em delphi que limita a movimentação do mouse e abre os programas apenas na tela de acesso.

A movimentação do mouse esta Ok, consigo abrir o aplicativo utilizando o CreateProcess, mas não consigo posiciona-lo nas coordenadas X e Y que eu forneço. Quem puder me dar um help, o código esta abaixo, coloco os valores para dwX e dwY, mas nada...

function TForm1.ExecAndWait(const FileName, Params: string;
const WindowState: Word): boolean;
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: string;
begin
{ Coloca o nome do arquivo entre aspas. Isto é necessário devido aos espaços contidos em nomes longos }
CmdLine := ´´´ + Filename + ´´´ + Params;
FillChar(SUInfo, SizeOf(SUInfo), #0);
with SUInfo do begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WindowState;
dwX := 100;
dwY := 100;
dwXSize := 300;
dwYSize := 300;
end;


Result := CreateProcess(nil, PChar(CmdLine), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
PChar(ExtractFilePath(Filename)), SUInfo, ProcInfo);
{ Aguarda até ser finalizado }
if Result then begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
{ Libera os Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);

end;
end;

Desde ja agradeço;

Luiz Fernando Alessi


Luiz.alessi

Luiz.alessi

Responder

Posts

07/07/2004

Nildo

Dê uma olhada na função SetWindowPos()


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar