Need help with CreateProcessAsUser?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

murrayju
252 Stars 95 Forks MIT License 10 Commits 17 Opened issues

Description

Creates a process in a different Windows session

Services available

!
?

Need anything else?

Contributors list

# 281,393
C#
HTML
Shell
docker-...
6 commits
# 128,684
HTML
sql-ser...
JavaScr...
org
1 commit

CreateProcessAsUser

This uses the Win32 apis to:

  1. Find the currently active user session
  2. Spawn a new process in that session

This allows a process running in a different session (such as a windows service) to start a process with a graphical user interface that the user must see.

Note that the process must have the appropriate (admin) privileges for this to work correctly.

Usage

using murrayju.ProcessExtensions;
// ...
ProcessExtensions.StartProcessAsCurrentUser("calc.exe");

Parameters

The second argument is used to pass the command line arguments as a string. Depending on the target application,

argv[0]
might be expected to be the executable name, or it might be the first parameter. See this stack overflow answer for details. When in doubt, try it both ways.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.