Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Swichdesktop del foro! (https://www.clubdelphi.com/foros/showthread.php?t=21482)

marceloalegre 18-05-2005 20:11:35

Swichdesktop del foro!
 
Que tal, en un post del foro existen unos ejemplos de crear un escritorio con HDesk y ejecutar despues una aplicacion.... (esta muy bueno)

Mi pregunta el la siguiente:

cuando hago el switchdesktop (lockdesktop);

ahi cambie al otro escritorio... despues cuaquier accion que haga queda en el escritorio anterior...

yo quiero mostrar una imagen que dice que la pc esta bloqueada, tengo un formshow donde cargo todo... como hago que eso salga en el nuevo escritorio y no en el anterior??

marceloalegre 19-05-2005 02:10:16

nadie lo ha usado? :(

FDB 19-05-2005 09:37:17

Hola!

Veamos, supongo que al hilo que te refieres, fué al que comencé yo y que Roman resolvió con un estupendo ejemplo... asi que a ver...

Código Delphi [-]
procedure TMainForm.FormCreate(Sender: TObject);
const
 Flags = DESKTOP_CREATEWINDOW or DESKTOP_SWITCHDESKTOP;
begin
 LockDesktop := CreateDesktop('LockDesktop', nil, nil, 0, Flags, nil);
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
 CloseDesktop(LockDesktop);
end;
procedure TMainForm.ExecuteLockApp;
var
 StartInfo: TStartupInfo;
 ProcInfo: TProcessInformation;
begin
 FillChar(StartInfo, SizeOf(StartInfo), 0);
 StartInfo.cb := SizeOf(StartInfo);
 StartInfo.lpDesktop := PChar('LockDesktop');
 CreateProcess('LockApp.exe', nil, nil, nil, false, 0, nil, nil, StartInfo, ProcInfo);
 SwitchDesktop(LockDesktop);
end;

Si te fijas, en la linea:

CreateProcess('LockApp.exe', nil, nil, nil, false, 0, nil, nil, StartInfo, ProcInfo);

Esta linea lo que hace es ejecutar la aplicación LockApp.exe en el escritorio que previamente se ha creado.. de forma que se te crea el escritorio (por lo tanto el anterior se te queda ocultado) y sobre el nuevo se te muestra la aplicación (lockapp.exe).

Por tanto el exe que ejecuta el nuevo escritorio es diferente al que muestra el mensaje de "Bloqueado".

Espero que lo entiendas, ya nos diras ;)

Saludos!


La franja horaria es GMT +2. Ahora son las 04:42:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi