home *** CD-ROM | disk | FTP | other *** search
- 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
-
-