hide_console 0.1.0

A library for hiding console windows in Rust applications
Documentation

Hide Console

Библиотека для скрытия консольного окна в приложениях Rust. Идеально подходит для создания фоновых приложений или приложений с графическим интерфейсом без видимого консольного окна.

Возможности

  • Скрытие консольного окна на платформе Windows
  • Кроссплатформенная поддержка (безопасно работает на всех платформах)
  • Минимальные зависимости
  • Простой и понятный API

Установка

Добавьте в ваш Cargo.toml:

[dependencies]

hide_console = "0.1.0"

Или используйте команду:

cargo add hide_console

Использование

Базовый пример

use hide_console::hide_console;

fn main() {
    // Выполните нужные действия до скрытия консоли
    println!("Это сообщение будет видно");
    
    // Скрыть консольное окно
    hide_console();
    
    // Продолжить выполнение программы без видимой консоли
    println!("Это сообщение не будет видно в консоли, но будет записано в stdout");
}

Проверка поддержки скрытия консоли

use hide_console::is_hide_console_supported;

fn main() {
    if is_hide_console_supported() {
        println!("Скрытие консоли поддерживается на этой платформе");
    } else {
        println!("Скрытие консоли не поддерживается на этой платформе");
    }
}

Примеры

Библиотека содержит несколько примеров, которые вы можете запустить:

# Простой пример скрытия консоли
cargo run --example simple

# Эмуляция GUI-приложения
cargo run --example gui_emulation

Платформы

  • Windows: Полная поддержка скрытия консоли.
  • macOS, Linux, и другие: Функция hide_console() не выполняет никаких действий, но не вызывает ошибок.

Как это работает

На платформе Windows библиотека использует WinAPI для скрытия консольного окна:

  1. Получает дескриптор консольного окна с помощью GetConsoleWindow()
  2. Скрывает окно с помощью ShowWindow() с параметром SW_HIDE

На других платформах функция hide_console() просто возвращает управление без выполнения каких-либо действий.

Лицензия

MIT

Вклад в развитие

Вклады приветствуются! Пожалуйста, отправляйте запросы на слияние (pull requests) или создавайте issues на GitHub.

Соц-сети

twitch.tv/mloccy_

t.me/mloccy