Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在窗口外壳中注册桌面应用程序shorcut密钥_C#_Vb.net_Desktop Application - Fatal编程技术网

C# 在窗口外壳中注册桌面应用程序shorcut密钥

C# 在窗口外壳中注册桌面应用程序shorcut密钥,c#,vb.net,desktop-application,C#,Vb.net,Desktop Application,我想在windows shell中注册我的桌面应用程序快捷键。因此,如果我的桌面应用程序处于最小化模式,则我想运行快捷键,即我在创建的桌面应用程序中设置的快捷键。 我的主要动机是,当我的应用程序处于最小化模式时,我想运行一个快捷键来拍摄活动屏幕的截图。 我已经尝试了下面的代码,它将最小化我的桌面应用程序 public TemplatesCreation() { InitializeComponent(); trayMenu = ne

我想在windows shell中注册我的桌面应用程序快捷键。因此,如果我的桌面应用程序处于最小化模式,则我想运行快捷键,即我在创建的桌面应用程序中设置的快捷键。 我的主要动机是,当我的应用程序处于最小化模式时,我想运行一个快捷键来拍摄活动屏幕的截图。 我已经尝试了下面的代码,它将最小化我的桌面应用程序

public TemplatesCreation()
        {
            InitializeComponent();
            trayMenu = new ContextMenu();
            trayMenu.MenuItems.Add("Exit", OnExit);
            trayIcon = new NotifyIcon();
            trayIcon.Text = "MyTrayApp";
            trayIcon.Icon = new Icon(SystemIcons.Application, 40, 40);
            trayIcon.ContextMenu = trayMenu;
            trayIcon.Visible = true;

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

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

提前谢谢

我想你必须编写一个键盘挂钩来拥有你自己的快捷键,或者你可以挂钩到一个标准快捷键,比如ctrl-shift-p。这些由windows监控。但是,监视剪贴板可能更容易,因此用户按下print screen,并将屏幕截图存储在剪贴板中。你可以从那里保存它吗?(从未尝试过,但没有理由不起作用)链接到一个看起来不错的开始项目。钩住印刷屏幕button@SmithMart非常感谢史密斯上面的链接对我很有帮助