Muchas gracias a los tres,
,vaya ya decia yo que talves podria ir por el nombre, y muy buena esa herramienta Neftali
.
Mi codigo quedo asi:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var
h2:HWND;
begin
WinExec('calc.exe',SW_SHOWNORMAL);h2:=FindWindow('SciCalc',nil);
if h2<>0 then
SetWindowPos(h2,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
Empesado por Neftali>
Cita:
...pues tampoco es infalible si tienes 2 o 3 calculadoras ejecutándose.
|
Pues para evitar dos o mas ventanas abiertas se me ocurre esto:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var
h2,h1:HWND;
begin
h1:=FindWindow('SciCalc',nil);if h1=0 then begin
WinExec('calc.exe',SW_SHOWNORMAL); h2:=FindWindow('SciCalc',nil);
if h2<>0 then
SetWindowPos(h2,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end
else ShowMessage('Ya tiene una calculadora abierta..Usela no sea flojo'+#13 +'Y trabaje duro para ganarse el pan de cada dia.');
end;
Desde luego que quisas sea trucha mi solucion pero funciona y me evita que el usuario desde la aplicacion me habra dos o mas calculadoras.
.
Como dicen los españoles:
"si teneis otra solucion posteala."
Saludos...