@ -3,6 +3,7 @@
using System ;
using System.Runtime.InteropServices ;
using System.Runtime.Versioning ;
namespace DepotDownloader
{
@ -146,36 +147,24 @@ namespace DepotDownloader
}
}
#region WIN32_CONSOLE_STUFF
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
static extern uint GetConsoleProcessList ( uint [ ] processList , uint processCount ) ;
[DllImport("user32.dll", SetLastError = true, ExactSpelling = true, CharSet = CharSet.Unicode)]
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
static extern int MessageBoxW ( IntPtr hWnd , string text , string caption , uint type ) ;
const uint MB_OK = 0x0 ;
const uint MB_ICONWARNING = 0x30 ;
[SupportedOSPlatform("windows5.0")]
public static void VerifyConsoleLaunch ( )
{
// Reference: https://devblogs.microsoft.com/oldnewthing/20160125-00/?p=92922
var processList = new uint [ 2 ] ;
var processCount = GetConsoleProcessList( processList , ( uint ) processList . Length ) ;
var processCount = Windows . Win32 . PInvoke . GetConsoleProcessList ( processList ) ;
if ( processCount ! = 1 )
{
return ;
}
_ = MessageBoxW (
IntPtr. Zero ,
_ = Windows. Win32 . PInvoke . MessageBox(
Windows. Win32 . Foundation . HWND . Null ,
"Depot Downloader is a console application; there is no GUI.\n\nIf you do not pass any command line parameters, it prints usage info and exits.\n\nYou must use this from a terminal/console." ,
"Depot Downloader",
MB_OK | MB_ICONWARNING
"Depot Downloader",
Windows. Win32 . UI . WindowsAndMessaging . MESSAGEBOX_STYLE . MB_OK | Windows . Win32 . UI . WindowsAndMessaging . MESSAGEBOX_STYLE . MB_ICONWARNING
) ;
}
# endregion
}
}