Page 1 of 1

Saber si se ejecuta el .EXE en modo administrador

PostPosted: Fri Sep 02, 2022 10:35 am
by VictorCasajuana
Hola.

Hay alguna forma en Fivewin de saber si el programa .EXE que está ejecutando lo está haciendo en modo administrador?

Es por utilizar la función RegisterServer(), si no está en modo administrador no lo registra, más que nada para avisar al usuario. En caso de que no se pueda, lo que haría sería registrar y luego comprobar si se ha registrado, pero si hay una función que detecte la ejecución en modo administrador el mensaje ya puede ir más al grano... :D

Gracias y salud!

Re: Saber si se ejecuta el .EXE en modo administrador

PostPosted: Fri Sep 02, 2022 11:31 am
by hmpaquito
Víctor,

¿ Qué operativa que requiere permisos de administrador debe hacer el programa ?

Salu2

Re: Saber si se ejecuta el .EXE en modo administrador

PostPosted: Fri Sep 02, 2022 1:22 pm
by karinha
Code: Select all  Expand view

// C:\FWH..\SAMPLES\ADMIN.PRG

#include "FiveWin.ch"

function Main()

   LOCAL lSucesso := .F.
   
   lSucesso := IsUserAdmin()

   IF lSucesso  // SI

      ? "Voce esta executando o programa como administrador."

   ELSE         // NO

      ? "Voce nao esta executando o programa como administrador."

   ENDIF

return nil


FUNCTION IsUserAdmin()

Return IsUserAnAdmin()

DLL32 STATIC FUNCTION IsUserAnAdmin() AS BOOL PASCAL LIB "Shell32.dll"
 


Regards, saludos.

Re: Saber si se ejecuta el .EXE en modo administrador

PostPosted: Fri Sep 02, 2022 4:03 pm
by VictorCasajuana
hmpaquito wrote:Víctor,

¿ Qué operativa que requiere permisos de administrador debe hacer el programa ?

Salu2
Instalar un activex

Enviado desde mi motorola edge 20 mediante Tapatalk

Re: Saber si se ejecuta el .EXE en modo administrador

PostPosted: Mon Sep 12, 2022 11:46 am
by VictorCasajuana
karinha wrote:
Code: Select all  Expand view

// C:\FWH..\SAMPLES\ADMIN.PRG

#include "FiveWin.ch"

function Main()

   LOCAL lSucesso := .F.
   
   lSucesso := IsUserAdmin()

   IF lSucesso  // SI

      ? "Voce esta executando o programa como administrador."

   ELSE         // NO

      ? "Voce nao esta executando o programa como administrador."

   ENDIF

return nil


FUNCTION IsUserAdmin()

Return IsUserAnAdmin()

DLL32 STATIC FUNCTION IsUserAnAdmin() AS BOOL PASCAL LIB "Shell32.dll"
 


Regards, saludos.


Gracias por la info Karinha, buscando sobre la función IsUserAnAdmin() he encontrado que HB ya la incorpora: https://www.forums.fivetechsupport.com/viewtopic.php?f=3&t=9505&p=253280&sid=2cff4a7bb33e2995f692add6560f9846&sid=2cff4a7bb33e2995f692add6560f9846#p253280