相关疑难解决方法(0)

从NW.JS中的程序切换器隐藏窗口

我正在用NW.JS(node-webkit)编写桌面应用程序.在我的应用程序中,用户可能会打开许多​​窗口,我想将它们从程序切换器(alt + tab)和任务栏中隐藏起来.我已经找到了从taksbar隐藏窗口的选项,但找不到任何方法将其隐藏在程序切换器中.它甚至可能吗?或者至少可以将所有窗口组合为一个(就像在Windows上的Sticky Notes中一样)?

javascript node.js node-webkit nw.js

12
推荐指数
1
解决办法
616
查看次数

如何使程序不显示在Alt-Tab或任务栏上

我有一个需要坐在后台的程序,当用户连接到RDP会话时,它会进行一些环境设置,然后启动一个程序.当程序关闭时,它将执行一些内务处理并注销会话.

我目前的做法是让终端服务器启动这个应用程序.这是作为Windows窗体应用程序构建的,以防止控制台窗口出现:

public static void Main()
{
    //(Snip...) Do some setup work

    Process proc = new Process();
    //(Snip...) Setup the process
    proc.Start();
    proc.WaitForExit();

    //(Snip...) Do some housecleaning

    NativeMethods.ExitWindowsEx(0, 0);
}
Run Code Online (Sandbox Code Playgroud)

我真的很喜欢这个,因为任务栏中没有任何项目,并且alt-tab中没有任何内容显示.但是为了做到这一点,我放弃了对void WndProc(ref Message m) So等函数的访问权限.现在我无法收听Windows消息(喜欢WTS_REMOTE_DISCONNECT或者WTS_SESSION_LOGOFF)并且没有使用的句柄,因为bool WTSRegisterSessionNotification(IntPtr hWnd, int dwFlags);我希望我的代码更强大,所以它会做清理工作如果用户在关闭程序之前注销或断开会话.

关于我如何吃蛋糕和吃它的任何建议?

c# handle message-pump

11
推荐指数
3
解决办法
6703
查看次数

通过 Alt+Tab 隐藏 WPF 表单

我想从任务菜单(Alt+Tab)中隐藏具有WindowStyle="None",AllowTransparency="True"和的 WPF 窗口。ShowInTaskbar="False"

我已经对此进行了研究,但所有结果似乎都是针对 WinForms 的,或者没有答案。以下是我已经研究过的一些来源:

  1. VS 社区上有同样的问题,没有答案
  2. StackOverflow 上有同样的问题,但适用于 WinForms
  3. 同样的问题,但针对通用网站上的 WinForms
  4. 这不符合我的要求,因为我仍然希望 WPF 窗口可见,只是在 Alt+Tab 菜单中看不到

这是我的 XAML 代码:

<Window x:Class="DesktopInfo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:DesktopInfo"
        mc:Ignorable="d"
        Title="MainWindow" SizeToContent="WidthAndHeight" WindowStyle="None" AllowsTransparency="True"  Background="Transparent" ShowInTaskbar="False" Loaded="FormLoaded">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <TextBlock Text="Testing" Name="UsernameTextBlock" FontSize="20" FontWeight="Bold" Foreground="White"/>
        <TextBlock Name="ComputernameTextBlock" Grid.Row="1" FontSize="20" FontWeight="Bold" Foreground="White"/>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

这是我的 C# 代码:

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

namespace DesktopInfo
{
    /// <summary>
    /// Interaction logic for …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml

10
推荐指数
1
解决办法
2201
查看次数

标签 统计

c# ×2

handle ×1

javascript ×1

message-pump ×1

node-webkit ×1

node.js ×1

nw.js ×1

wpf ×1

xaml ×1