Prüfen ob Anwender Administrator Rechte hat.
-
Hallo Leute,
ich möchte beim Start einer Anwendung voraussetzen das der Anwender
Administratorechte hat.
Hintergrund ist der, dass die Anwendung vollen Zugriff auf die Registry braucht sowie auch Files löschen könne soll. Was ohne Adminrechte nicht geht.
-
da gibt's verschiedene tricks. du könntest zum beispiel eine winapi-funktion aufrufen, die admin-rechte braucht. etwa diese hier: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/openscmanager.asp
dann bekommste einen ERROR_ACCESS_DENIED wenn du kein admin bist...
-
Danke, habe schon was gefunden:
bool isUserPrivAdmin() { bool Result; DWORD rc; wchar_t username[256]; USER_INFO_1 *Userinfo; DWORD size = sizeof( username ); GetUserNameW( username, &size); rc = NetUserGetInfo( NULL, username, 1, (byte **) &Userinfo ); if ( rc != NERR_Success ) return false; Result = (Userinfo->usri1_priv == USER_PRIV_ADMIN); NetApiBufferFree( Userinfo ); return Result; }