Загрузка...

Используем разные пользовательские графические интерфейсы в одном приложение программно

Тема в разделе C# создана пользователем r3xq1 14 окт 2021. 207 просмотров

  1. r3xq1
    r3xq1 Автор темы 14 окт 2021 https://t.me/DarkSoft_Extra 119 27 июл 2018
    Создаём приложение Windows Forms и делаем следующее...

    В начале как обычно создаём класс NativeMethods.cs
    Код
    namespace Test
    {
    using System.Runtime.InteropServices;

    internal static class NativeMethods
    {
    [DllImport("kernel32.dll", SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool AllocConsole();

    [DllImport("kernel32.dll", SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool FreeConsole();
    }
    }
    И в главной точке входа Program.cs

    Код
    namespace Test
    {
    using System;
    using System.IO;
    using System.Reflection;
    using System.Windows.Forms;

    public static class Program
    {
    // Текущий путь до нашего .exe файла
    private static readonly string exeName = Path.GetFileName(Assembly.GetExecutingAssembly().Location);

    [STAThread]
    public static void Main()
    {
    // Если имя файла называется Test.exe
    if ("Test.exe".Equals(exeName, StringComparison.CurrentCultureIgnoreCase))
    {
    Application.Run(new MyFrm()); // Запускаем форму
    }
    else // Если имя файла не Test.exe
    {
    if (NativeMethods.AllocConsole()) // Вызываем консоль
    {
    Console.Title = "Console Appllication started";
    Console.ReadLine();
    NativeMethods.FreeConsole();
    }
    }
    }
    }
    }
    Если имя файла называется Test.exe то запускается форма, если нет, консоль.
    Собственно на этом всё!)
     
  2. keronkess
    keronkess 14 окт 2021 Заблокирован(а) 44 2 апр 2021
    лучший зенкс муа целукаю спасибо за тему :takeMyMoney:
     
  3. Supremacy
    Supremacy 19 фев 2022 Efficiency 1233 13 янв 2020
    АААААААААААА ШОК ТУТОРИАЛ ПО AllocConsole
     
Загрузка...
Top