merged from work
This commit is contained in:
44
KattekerCreator/nsis/Examples/UserInfo/UserInfo.nsi
Normal file
44
KattekerCreator/nsis/Examples/UserInfo/UserInfo.nsi
Normal file
@ -0,0 +1,44 @@
|
||||
Name "UserInfo.dll test"
|
||||
OutFile UserInfo.exe
|
||||
|
||||
!define REALMSG "$\nOriginal non-restricted account type: $2"
|
||||
|
||||
Section
|
||||
ClearErrors
|
||||
UserInfo::GetName
|
||||
IfErrors Win9x
|
||||
Pop $0
|
||||
UserInfo::GetAccountType
|
||||
Pop $1
|
||||
# GetOriginalAccountType will check the tokens of the original user of the
|
||||
# current thread/process. If the user tokens were elevated or limited for
|
||||
# this process, GetOriginalAccountType will return the non-restricted
|
||||
# account type.
|
||||
# On Vista with UAC, for example, this is not the same value when running
|
||||
# with `RequestExecutionLevel user`. GetOriginalAccountType will return
|
||||
# "admin" while GetAccountType will return "user".
|
||||
UserInfo::GetOriginalAccountType
|
||||
Pop $2
|
||||
StrCmp $1 "Admin" 0 +3
|
||||
MessageBox MB_OK 'User "$0" is in the Administrators group${REALMSG}'
|
||||
Goto done
|
||||
StrCmp $1 "Power" 0 +3
|
||||
MessageBox MB_OK 'User "$0" is in the Power Users group${REALMSG}'
|
||||
Goto done
|
||||
StrCmp $1 "User" 0 +3
|
||||
MessageBox MB_OK 'User "$0" is just a regular user${REALMSG}'
|
||||
Goto done
|
||||
StrCmp $1 "Guest" 0 +3
|
||||
MessageBox MB_OK 'User "$0" is a guest${REALMSG}'
|
||||
Goto done
|
||||
MessageBox MB_OK "Unknown error"
|
||||
Goto done
|
||||
|
||||
Win9x:
|
||||
# This one means you don't need to care about admin or
|
||||
# not admin because Windows 9x doesn't either
|
||||
MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
|
||||
|
||||
done:
|
||||
SectionEnd
|
||||
|
Reference in New Issue
Block a user