@msdn=https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getstartupinfow @pinvoke=http://pinvoke.net/$$$.htm Summary: The GetStartupInfo API !!!!C# Signature: [DllImport("kernel32.dll", SetLastError = false, CharSet = CharSet.Auto)] static extern void GetStartupInfo(out STARTUPINFO lpStartupInfo); !!!!VB Signature: Declare Sub GetStartupInfo Lib "kernel32.dll" (<Out> ByRef As STARTUPINFO) !!!!User-Defined Types: [STARTUPINFO] !!!!Notes: !!!!Tips & Tricks: On my W10x64 my vshost.exe died by caling the GetStartupInfoW method. So i changed it to GetStartupInfoA and also changed the 'STARTUPINFO's StructureLayout-Attribute to CharSet.Ansi instead of Unicode. !!!!Sample Code: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct STARTUPINFO { public uint cb; public string lpReserved; public string lpDesktop; public string lpTitle; public uint dwX; public uint dwY; public uint dwXSize; public uint dwYSize; public uint dwXCountChars; public uint dwYCountChars; public uint dwFillAttribute; public uint dwFlags; public ushort wShowWindow; public ushort cbReserved2; public IntPtr lpReserved2; public IntPtr hStdInput; public IntPtr hStdOutput; public IntPtr hStdError; } [DllImport("kernel32.dll", SetLastError = true, EntryPoint = "GetStartupInfoA")] public static extern void GetStartupInfo(out STARTUPINFO lpStartupInfo); !!!!Sample Code: GetStartupPath() returns the path of the object that started the program, be it a shortcut or an EXE file Tested on VB.NET Framework 2.0 in XP and Win10 Private Declare Sub GetStartupInfo Lib "kernel32.dll" Alias "GetStartupInfoA" (ByRef lpStartupInfo As STARTUPINFO) Private Structure STARTUPINFO Public cb As UInteger Public lpReserved As String Public lpDesktop As String Public lpTitle As String Public dwX As UInteger Public dwY As UInteger Public dwXSize As UInteger Public dwYSize As UInteger Public dwXCountChars As UInteger Public dwYCountChars As UInteger Public dwFillAttribute As UInteger Public dwFlags As UInteger Public wShowWindow As UShort Public cbReserved2 As UShort Public lpReserved2 As IntPtr Public hStdInput As IntPtr Public hStdOutput As IntPtr Public hStdError As IntPtr End Structure Private Const STARTF_TITLESHORTCUT = &H800 Public Function GetStartupPath() As String Dim si As New STARTUPINFO si.dwFlags = si.dwFlags And STARTF_TITLESHORTCUT Call GetStartupInfo(si) Return si.lpTitle End Function !!!!Alternative Managed API: Do you know one? Please contribute it! Documentation: GetStartupInfo@msdn on MSDN
Edit kernel32.GetStart...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.