Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Try this Module:</p> <pre><code>Module Impersonation #Region "API Structures" &lt;StructLayout(LayoutKind.Sequential)&gt; _ Public Structure PROCESS_INFORMATION Dim hProcess As System.IntPtr Dim hThread As System.IntPtr Dim dwProcessId As Integer Dim dwThreadId As Integer End Structure &lt;StructLayout(LayoutKind.Sequential)&gt; _ Public Structure STARTUPINFO Dim cb As Integer Dim lpReserved As System.IntPtr Dim lpDesktop As System.IntPtr Dim lpTitle As System.IntPtr Dim dwX As Integer Dim dwY As Integer Dim dwXSize As Integer Dim dwYSize As Integer Dim dwXCountChars As Integer Dim dwYCountChars As Integer Dim dwFillAttribute As Integer Dim dwFlags As Integer Dim wShowWindow As Short Dim cbReserved2 As Short Dim lpReserved2 As System.IntPtr Dim hStdInput As System.IntPtr Dim hStdOutput As System.IntPtr Dim hStdError As System.IntPtr End Structure #End Region #Region "API Constants" Private Const LOGON_NETCREDENTIALS_ONLY As Integer = &amp;H2 Private Const NORMAL_PRIORITY_CLASS As Integer = &amp;H20 Private Const CREATE_DEFAULT_ERROR_MODE As Integer = &amp;H4000000 Private Const CREATE_NEW_CONSOLE As Integer = &amp;H10 Private Const CREATE_NEW_PROCESS_GROUP As Integer = &amp;H200 Private Const LOGON_WITH_PROFILE As Integer = &amp;H1 #End Region #Region "API Functions" Private Declare Unicode Function CreateProcessWithLogon Lib "Advapi32" Alias "CreateProcessWithLogonW" _ (ByVal lpUsername As String, _ ByVal lpDomain As String, _ ByVal lpPassword As String, _ ByVal dwLogonFlags As Integer, _ ByVal lpApplicationName As String, _ ByVal lpCommandLine As String, _ ByVal dwCreationFlags As Integer, _ ByVal lpEnvironment As System.IntPtr, _ ByVal lpCurrentDirectory As System.IntPtr, _ ByRef lpStartupInfo As STARTUPINFO, _ ByRef lpProcessInfo As PROCESS_INFORMATION) As Integer Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As System.IntPtr) As Integer #End Region Public Sub RunProgram(ByVal UserName As String, ByVal Password As String, ByVal Domain As String, ByVal Application As String, ByVal CommandLine As String) Dim siStartup As STARTUPINFO Dim piProcess As PROCESS_INFORMATION Dim intReturn As Integer If CommandLine Is Nothing OrElse CommandLine = "" Then CommandLine = String.Empty siStartup.cb = Marshal.SizeOf(siStartup) siStartup.dwFlags = 0 intReturn = CreateProcessWithLogon(UserName, Domain, Password, LOGON_WITH_PROFILE, Application, CommandLine, _ NORMAL_PRIORITY_CLASS Or CREATE_DEFAULT_ERROR_MODE Or CREATE_NEW_CONSOLE Or CREATE_NEW_PROCESS_GROUP, _ IntPtr.Zero, IntPtr.Zero, siStartup, piProcess) If intReturn = 0 Then Throw New System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error()) End If CloseHandle(piProcess.hProcess) CloseHandle(piProcess.hThread) End Sub End Module </code></pre> <p>Use Runprogram() To start your Program with user/pw y like. Programm means the .exe only, parameters ar written into "commandline"</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload