gpt4 book ai didi

c# - 如何让窗口出现在任务栏中?

转载 作者:行者123 更新时间:2023-11-30 16:35:52 30 4
gpt4 key购买 nike

窗口不显示在任务栏中,仅显示在系统托盘中。我怎样才能让它也显示在任务栏中?

我尝试了下面的代码,但是没有效果:

int windowStyle = GetWindowLong(pMainWindow, GWL_EXSTYLE);
SetWindowLong(pMainWindow, GWL_EXSTYLE, windowStyle & WS_EX_TOOLWINDOW);

而且,这不是我的表格!我从 Process.GetProcessesByName 获取句柄,但我不知道如何访问 Form 类的属性:

Process[] processes = Process.GetProcessesByName("somename");
someProcess = processes[0];

pMainWindow = someProcess.MainWindowHandle;

最佳答案

以下似乎可以解决问题。如果您在调用 SetWindowLong 后隐藏并重新显示窗口,则它会显示在任务栏中。

我正在努力寻找一种方法,在窗口最小化后将其从任务栏中删除...

[DllImport("User32.Dll")]                
public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

private const int SW_HIDE = 0x00;
private const int SW_SHOW = 0x05;

private const int WS_EX_APPWINDOW = 0x40000;
private const int GWL_EXSTYLE = -0x14;

private void ShowWindowInTaskbar(IntPtr pMainWindow)
{
SetWindowLong(pMainWindow, GWL_EXSTYLE, WS_EX_APPWINDOW);

ShowWindow(pMainWindow, SW_HIDE);
ShowWindow(pMainWindow, SW_SHOW);
}

关于c# - 如何让窗口出现在任务栏中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1462504/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com