Link to home
Start Free TrialLog in
Avatar of Shabzt
ShabztFlag for India

asked on

Finding the current log in user in windows

How can I find that which user is currently logged in windows using java? I want user name and user type(like administrator,user...).My target os is Windows XP.
Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

System.getProperty("user.name");

Can't get the permissions though
Use the proeprty: user.name
Avatar of Ajay-Singh
Ajay-Singh

system property "user.name" gives you that
You should be able to find some characteristics of the current user in his/her
C:\Documents and Settings\<username as above>\NTuser.dat
It will be hard work, because that's the binary, per-user, Registry, but what you want is inthere.

;JOOP!
Avatar of Shabzt

ASKER

but how can we find the user type....and other details about this user
Use Regedit.exe to see the readable part of "Current User".
Then you might try to read the binaries from that file.

Of course direct Registry access would be better, but I leave that to you.

;JOOP!
>> and other details about this user
You can get his home directory :
   System.getProperty("user.home");

What exactly are you trying to do? If you want to find out if the current user has permissions to do something, you can use the class SecurityManager and call checkpermission on the action.
Avatar of Shabzt

ASKER

I want to check first before starting of my program that which user has logged in. If it is administrator then do this. If it is "user" then do that.
Avatar of Shabzt

ASKER

>> Use Regedit.exe to see the readable part of "Current User".
>>Then you might try to read the binaries from that file.

>>Of course direct Registry access would be better, but I leave that to you.

Which registry key I should check?
If it only concerns if someone is Administrator (or member) you might
check his access rights on a restricted area.
Locate a folder of file "private" to Administrator and use new File(...).canWrite();

;JOOP!
Avatar of Shabzt

ASKER

yes its a good idea...let me try this...But it would have been good for me if  some how I can know the registry key from where I can get the current user type...any idea ?
I have been searching for you, but ... no idea. I just never had this need.

;JOOP!
Why do you want to know what type of user it is btw?
Avatar of Shabzt

ASKER

Bcoz I am developing a custom made installer...and in that it will act as action...
So you need to know if it has write access?

Runtime.exec

cacls "C:\Documents and Settings\Administrator"

and if you're not an admin, it'll come back access denied
So you need to know if it has write access?
=
So you need to know if it has install access?
Avatar of Shabzt

ASKER

User can use this action according to his own requirement....n I want all the details of user, because this action should be scalable...
ASKER CERTIFIED SOLUTION
Avatar of Webstorm
Webstorm

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial