Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=26)
-   -   Cerrar sesion Windows XP (https://www.clubdelphi.com/foros/showthread.php?t=35406)

Caral 09-09-2006 00:25:10

Cerrar sesion Windows XP
 
Hola
Aqui con una pregunta
Primero inicio una sesion con escritorio remoto, bien con usuario x,
Este inicia un programa que tengo definido.
Al salir del programa quiero que se cierre la sesion en windows
Actualmente lo que me cierra es windows completo y me apaga el ordenador
Estoy usando una funcion para apagar, pero no se como modificarla para cerrar la sesion.
Esta es la funcion

Código Delphi [-]
 
function ShutDownWindows(Flag: word): Boolean;
  //Función que permite apagar la computadora
  var
    TokenPriv: TTokenPrivileges;
    H: DWord;
    HToken: THandle;
  begin
    if Win32Platform = VER_PLATFORM_WIN32_NT then
  begin
     OpenProcessToken(GetCurrentProcess,
      TOKEN_ADJUST_PRIVILEGES,HToken);
     LookUpPrivilegeValue(NIL, 'SeShutdownPrivilege',
      TokenPriv.Privileges[0].Luid);
     TokenPriv.PrivilegeCount := 1;
     TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
     H := 0;
     AdjustTokenPrivileges(HToken, FALSE,
     TokenPriv, 0, PTokenPrivileges(NIL)^, H);
     CloseHandle(HToken);
   end;
    Result := ExitWindowsEx(Flag, 0);
 end;

y con esto apaga

Código Delphi [-]
ShutDownWindows(EWX_POWEROFF);

Me pueden explicar que modifico para que cierre en vez de apagar.

Gracias de antemano
Saludos

seoane 09-09-2006 00:54:36

Prueba usando EWX_LOGOFF en lugar de EWX_POWEROFF.

PD: Intenta usar las etiquetas [delphi] [/delphi] cuando escribas código, resulta mucho mas fácil de leer.

jachguate 09-09-2006 01:01:59

También es tiempo que use la etiqueta [ delphi ] para publicar trozos de código. Después de 76 mensajes... ya es hora que respetes las reglas del club.

En buen plan.

;)

Caral 11-09-2006 17:27:03

Hola
A seoane:
Tan solo decirte que eres un genio, funciono a la perfeccion, te agradezco que me dieras tu tiempo, gracias.
A Jachguate:
Necesito un curso intensivo de manejo de esto ya que por mas que intento no me sale el codigo tan bonito y donde quieres, por mas que voy a avanzado, es demasiado avanzado para mi.
En tal caso, lo importante creo es ayudar y ser ayudado, voy mas con la politica de roman, y su guia de estilo.
Si no tienes nada bueno que decir, es mejor no decir nada.
Insisto gracias SEOANE.
Saludos

dec 11-09-2006 17:37:07

Hola,

Cita:

Empezado por Caral
Necesito un curso intensivo de manejo de esto ya que por mas que intento no me sale el codigo tan bonito y donde quieres, por mas que voy a avanzado, es demasiado avanzado para mi.

No veo la dificultad de escribir antes de comenzar el bloque de código [ DELPHI ] y luego, al terminar el bloque de código [ / DELPHI ]

Entiendo que si no se conoce no se haga, pero, que no se haga por que sea complicado...

Voy a editar tu mensaje y luego tú podrás echarle un vistazo (editándolo), así tendrás un "ejemplo" en donde fijarte.

Por otro lado recuerda que se cuenta también con etiquetas [ CODE ], [ PHP ] y [ SQL ].

Es verdad que lo importante es ayudar y que te ayuden, pero, resaltar el código fuente de turno sirve a los que necesitan ayuda y a los que puedan prestarla.

Caral 11-09-2006 17:52:14

Hola
Dec. Voy a Hacer una prueba mas, la verdad es que me da pena que veais la pura ignorancia.
Código Delphi [-]
//Creo que esta es la forma que necesitan, siento ser tan burro
//Tratare de que no vuelva a pasar
.
Dec y Jachguate:
Leccion aprendida.
Saludos

dec 11-09-2006 17:58:47

Hola,

Cita:

Empezado por Caral
Voy a Hacer una prueba mas, la verdad es que me da pena que veais la pura ignorancia.

Si no es eso, pero, ¿a que tu primer mensaje en este Hilo ha "mejorado"? ¿Verdad que ahora se ve mejor? Lo ves tú mejor y lo ve cualquiera... Su presencia ha ganado, pero, también es más sencillo de leer el código fuente que incluye. Es decir, que, a todas luces merece la pena "aprender" en este caso, ¿que no? :)

Y eso por no contar conque alguien tuvo que llevar a cabo el asunto de las etiquetas en los Foros... que es algo que no viene "de serie", y se tuvo que pasar unas cuantas "tardes entretenidas" haciéndolo... pero, ya digo, olvidándonos de esto (que no lo hacemos) con lo dicho arriba ya debería bastarnos, en mi opinión. ;)

jachguate 11-09-2006 18:45:54

Buen día.

En primer lugar, me alegra que descubrieras que publicar con las etiquetas no es nada complicado, y espero que notes la diferencia. En lo particular te comento que me resulta mucho mas cómodo y fácil de entender cuando leo código con resaltado de sintaxis y una indentación correcta, pero todo es cúlpa de los de borland, que me acostumbraron a eso desde turbo pascal 6!! :mad:

Por tanto, cuando me intereso en ayudar a alguien, espero que él haya tenido la delicadeza de ayudar en este punto. Esto es particularmente cierto cuando se trata de trozos de código de mas de 10 líneas

Cita:

Empezado por Caral
En tal caso, lo importante creo es ayudar y ser ayudado, voy mas con la politica de roman, y su guia de estilo.

Honestamente nunca he visto a roman ir en contra del uso de las etiquetas, mas siendo él uno de los directamente responsables de su creación, que no dudo muchas horas de sueño le habrá quitado!

Cita:

Empezado por Caral
Si no tienes nada bueno que decir, es mejor no decir nada.

¿Realmente pensas que soy yo quien no tenía nada bueno que decir?

Hasta luego.

;)

aom 19-09-2006 00:36:24

Hola,
sólo una puntualización Caral. Si quieres que un usuario sólo pueda abrir un programa al acceder a través de escritorio remoto, configúralo pulsando el botón "Opciones" en la ventana de conexión. Se configura en la pestaña "Programas". Al cerrar el programa, cerrará la sesión remota. En este caso el programa lo has creado tú y puedes configurarlo, pero en la mayoría de ocasiones supongo que no será así.

Saludos

Caral 19-09-2006 00:42:34

Te agradezco tu comentario aom
El problema ya lo solucione con la opcion que me dio seoane, de todos modos siempre es bueno tener mas opciones muchas gracias a todos los que participasteis de este hilo y en especial a Jachguate que me enseño una leccion de humildad que he aprendido bien.
Gracias a todos.


La franja horaria es GMT +2. Ahora son las 15:42:50.

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