 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Jue 25 Ago, 2005 4:53 pm Asunto: Visualizar ScreenSaver en un Form |
|
|
Creamos un nuevo proyecto y al Form1 le damos un Width de 275 y un Height de 230. (Se puede poner cualquier otra medida, yo uso estas para que aparezca proporcionado).
Declaramos dos variables globales al formulario:
| Código: |
HANDLE hProcess;
DWORD Code;
|
En el constructor principal del Form1:
| Código: |
AnsiString st = "ss3dfo.scr /p" + IntToStr((int)this->Handle) ;
STARTUPINFO StUpInfo;
PROCESS_INFORMATION ProcessInfo;
StUpInfo.cb = sizeof(StUpInfo);
StUpInfo.lpReserved = NULL;
StUpInfo.lpDesktop = NULL;
StUpInfo.lpTitle = NULL;
StUpInfo.dwFlags = 0;
StUpInfo.cbReserved2 = 0;
StUpInfo.lpReserved2 = NULL;
CreateProcess(NULL, st.c_str(), NULL, NULL, false, DETACHED_PROCESS,
NULL, NULL, &StUpInfo, &ProcessInfo);
hProcess = ProcessInfo.hProcess;
GetExitCodeProcess(hProcess,&Code);
|
Y finalmente en el evento OnClose del formulario:
| Código: |
TerminateProcess(hProcess,Code);
|
Todo ello con permiso de:
http://chgi.developpez.com/tips4/#tips59 _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 26 Ago, 2005 3:55 pm Asunto: |
|
|
Otra manera de hacerlo usando, un dialogo, y un panel
| Código: |
HWND child = GetWindow(this->Panel3->Handle, GW_CHILD);
if (child)
SendMessage(child, WM_CLOSE, 0, 0);
this->OpenDialog1->InitialDir = "%systemroot%\\system32";
this->OpenDialog1->Filter = "Archivos Screen (*.scr)|*.scr";
if(this->OpenDialog1->Execute())
{
String file = this->OpenDialog1->FileName;
String args;
args.sprintf("%s /p %d", file.c_str(), this->Panel3->Handle);
STARTUPINFO si = {0,};
PROCESS_INFORMATION pi = {0,};
si.cb = sizeof(si);
CreateProcess(file.c_str(), args.c_str(), 0, 0,true, IDLE_PRIORITY_CLASS, 0, 0, &si, &pi);
}
|
_________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|