Solved

launch app as different user

Posted on 2001-08-30
16
1,012 Views
Last Modified: 2008-02-07
hi, is it possible to launch an application from vb, and have it run in the context of another user?
0
Comment
Question by:acsmith
  • 4
  • 4
  • 3
  • +5
16 Comments
 

Expert Comment

by:kuppachi
ID: 6440107
what do u mean by in the context of another user?
0
 
LVL 8

Expert Comment

by:glass_cookie
ID: 6440127
Hi!

Not sure what you want exactly, but here's the code to run an application:

Shell "C:\MyFolder\MyApp.exe", vbNormalFocus

where "C:\MyFolder\MyApp.exe" is the path of the desired program.

That's it!

glass cookie : )
0
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 6440130
Hi acsmith,

The context of another user, maybe you can put your info into a database, retrieve the 'context' from database according to the logon user.

regards
0
 
LVL 6

Expert Comment

by:anthony_glenwright
ID: 6440209
You could try calling LogonUser first...

Public Declare Function Lib "kernel32" Alias "LogonUserA" (ByVal lpszUsername As String, ByVal lpszDomain As String, ByVal lpszPassword As String, ByVal dwLogonType As Long, ByVal dwLogonProvider As Long, phToken As Long) As Long


Let me know if you need help with the VB code to call it.
0
 
LVL 6

Expert Comment

by:anthony_glenwright
ID: 6440212
0
 
LVL 1

Expert Comment

by:BlaZer
ID: 6440253
First..Make an shortcut to anything...then check the run as a other user...then rename it to another extension in dos then open the file in a hex editor and then replace the path of the program with

---<ProPath>--- then in vb load the file nad replace the ---<ProPath>---  with your program and then copy it with the  shortcut extension and then run the shortcut...

or..if it is only for one program then just run the shortcutr file
0
 
LVL 1

Author Comment

by:acsmith
ID: 6440272
blaZer, where is the "run as other user" box when creating a shortcut? (I'm running NT4)
0
 
LVL 1

Expert Comment

by:BlaZer
ID: 6440571
umm...2000 here and it is right  click on shortcut, choose preferences, then under destination and right to run in seperate memory thread
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 7

Expert Comment

by:Z_Beeblebrox
ID: 6440580
Yes, that is a new feature in Windows 2000. Before that, it was available, only for NT as far as I know, in the NT resource kit. There is an exe called something like runas.exe which you use to run apps under different contexts.

Zaphod.
0
 
LVL 1

Expert Comment

by:BlaZer
ID: 6440611
umm...im playing a littel with my hexeditor...lemme c what i can do
0
 
LVL 1

Expert Comment

by:BlaZer
ID: 6440638
do u know the username and password or do the user have to enter it?
0
 
LVL 1

Author Comment

by:acsmith
ID: 6440690
ok, using anthony_glenwright's suggesting of calling LogonUser, I can now get the token handle of the user I want to run the new app as. Now I need to call CreateProcessAsUser, passing in this token....but I can't get it working. The call just returns false, and doing a getlasterror returns 0.
any ideas??
0
 
LVL 1

Expert Comment

by:dekeldate
ID: 6442741
I don't know if this will help since you don't seem to be getting errors, but it might give you some other pointers.
check http://support.microsoft.com/support/kb/articles/Q223/3/34.asp
0
 
LVL 6

Accepted Solution

by:
anthony_glenwright earned 300 total points
ID: 6443088
You could try calling ImpersonateLoggedOnUser() first, then just running it with Shell...  That might work.
0
 
LVL 1

Author Comment

by:acsmith
ID: 6444162
cheers!
called LogonUser, ImpersonateLoggedOnUser, shell "prog.exe", then revertToSelf.
works a treat.
0
 
LVL 6

Expert Comment

by:anthony_glenwright
ID: 6444389
WOO HOO... i made it to 3000 points on the last day of the month :-)

I get to keep my KB pro user interface :-)

BTW:  Does anyone know if the search function works for the regular interface?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now