|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2008
Messaggi: 242
|
[C] Riconsocere se si possiedono i privilegi di amministratore
Ciao a tutti, ho bisogno di implementare una cosa nel mio programma dopodichè l'ho finito al 100%. Mi servirebbe semplicemente sapere come faccio riconoscere al programma se ci sono o meno i privilegi di amministratore in un programma. Ad esempio se si è in un account che si hanno questi privilegi il programma si essegue normalmente, se si è loggati con un account limitato o su guest, il programma si avvia ma restituisce sulla finestra un errore che dice che bisogna essere in amministratore per poter esegure il programma. Inoltre se è possibile vorrei sapere anche come si implementa nel programma quella cosa in windows vista che per eseguire il programma bisogna avere obbligatoriamente i privilegi di amministratore (per farmi capire meglio quei programmi che sull'icona hanno quello scudo e se gli esegui diventa lo sfondo tutto scuro e ti appare una finestra che dice se vuoi eseguire o meno il programma in modalità amministratore).
La prima cosa mi serve assolutamente, la seconda cosa (quella di windows vista) non necessariamente. Ragà per favore rispondete perchè ho quasi finito il mio PRIMO e VERO programma (considerando che conosco il C da poco tempo) e vorrei tanto portarlo a termine privo di bug. Grazie a tutti ^^ |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 207
|
http://www.astercity.net/~azakrze3/h...ml#GetUserName
http://msdn2.microsoft.com/en-us/lib...35(VS.85).aspx penso tu ti voglia riferire a questo se ritorna Administrator significa che in quel momento l'utente corrente e' appunto Administrator altrimenti se e' guest e' ospite oppure uno degli utenti |
|
|
|
|
|
#3 |
|
Registered User
Iscritto dal: Feb 2008
Messaggi: 77
|
|
|
|
|
|
|
#4 | |||
|
Member
Iscritto dal: Jan 2008
Messaggi: 242
|
Quote:
Quote:
Quote:
Se risolvo questo piccolo problema oggi stesso rilascio finalmente il programma =) |
|||
|
|
|
|
|
#5 |
|
Registered User
Iscritto dal: Feb 2008
Messaggi: 77
|
Puoi provare a chiamare la funzione dinamicamente:
Codice:
BOOL IsAdmin()
{
BOOL bAdmin = FALSE;
HMODULE hDll = LoadLibrary("shell32.dll");
if(hDll)
{
typedef BOOL(*P_PROC)(void);
P_PROC pProc = (P_PROC)GetProcAddress(hDll, "IsUserAnAdmin");
if(pProc)
bAdmin = pProc();
FreeLibrary(hDll);
}
return bAdmin;
}
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jan 2008
Messaggi: 242
|
Grazie milleeeee, funziona alla grande!! L'ho testato su Windows XP e Windows Vista e va bene!! Il programma è compatibile con Windows 2000, XP, Server 2003, Vista e Server 2008. Ho provato ad allegarlo al post ma purtroppo il file eccede di 3kb >.< chi vuole provare il programma mi più inviare un messaggio privato che gli dò il link per il download =)
Ultima modifica di xeeynamo : 31-03-2008 alle 13:08. |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 207
|
gia vero non avevo pensato ai possibili gruppi admin :S
vabbe ho imparato una API pure io ihih |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:04.



















