Как добавить горячую клавишу для запуска программы?

я развернул проект на клиентском компьютере. Можно ли добавить горячую клавишу для вызова этой программы. Как сделать его свернутым в трей, когда он срабатывает? (Пользователь все еще может открыть его, нажав на значок в трее)
Можно ли это сделать на уровне программирования?

11
задан Wolf5370
08.04.2023 1:53 Количество просмотров материала 3181
Распечатать страницу

2 ответа

нельзя задать горячую клавишу с помощью кода C#... Ваше приложение должно выполняться, если вы хотите что-то установить, и вы хотите, чтобы вызвать его для запуска с помощью короткой клавиши... Конечно, это может быть установлено в настройках Вашего приложения... щелкните правой кнопкой мыши приложение, Настройки ru найти элемент, который позволяет указать короткую клавишу для запуска приложения.

к вопросу значок в трее. Вам просто нужно скрыть свою форму, я предполагаю, что для этого нужно создать приложение форм.

вы можете сделать это с помощью следующего кода:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace MyTrayApp
{
    public class SysTrayApp : Form
    {
        [STAThread]
        public static void Main()
        {
            Application.Run(new SysTrayApp());
        }

        private NotifyIcon  trayIcon;
        private ContextMenu trayMenu;

        public SysTrayApp()
        {
            // Create a simple tray menu with only one item.
            trayMenu = new ContextMenu();
            trayMenu.MenuItems.Add("Exit", OnExit);

            // Create a tray icon. In this example we use a
            // standard system icon for simplicity, but you
            // can of course use your own custom icon too.
            trayIcon      = new NotifyIcon();
            trayIcon.Text = "MyTrayApp";
            trayIcon.Icon = new Icon(SystemIcons.Application, 40, 40);

            // Add menu to tray icon and show it.
            trayIcon.ContextMenu = trayMenu;
            trayIcon.Visible     = true;
        }

        protected override void OnLoad(EventArgs e)
        {
            Visible       = false; // Hide form window.
            ShowInTaskbar = false; // Remove from taskbar.

            base.OnLoad(e);
        }

        private void OnExit(object sender, EventArgs e)
        {
            Application.Exit();
        }

        protected override void Dispose(bool isDisposing)
        {
            if (isDisposing)
            {
                // Release the icon resource.
                trayIcon.Dispose();
            }

            base.Dispose(isDisposing);
        }
    }
}

этот код взят из http://alanbondo.wordpress.com/2008/06/22/creating-a-system-tray-app-with-c/ который работает как шарм!

2
отвечен 2023-04-09 09:41

вы можете использовать продукт, как Авто Горячие Клавиши что свободно и хорошо для определения горячих клавиш (и автоматическая проверка орфографии и т. д.).

для системного трея, обычный способ сделать это, чтобы не иметь проект как проект формы, но как консольный проект, который вызывает форму. Таким образом, форма не используется, пока он не вызывается из контекстного меню системного трея-посмотрите в NotifyIcon-простой пример здесь. Другой (более менее аккуратный) путь иметь основу от hiden на начала, но если форма не нужна, это пустая трата действительно respources.

1
отвечен Wolf5370 2023-04-09 11:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх