如何通过代码Windows10window隐藏任务栏的图标
How to hide by code Windows 10 window's icon on task bar
为了在使用 JavaFx 的 Java 应用程序中显示 OpenGL,我使用了一个位于应用程序透明区域后面的 GLFW window。这给人一种 OpenGL 视图是应用程序一部分的错觉。
在Windows10下,这个GLFWwindow在任务栏中是可见的并且是可选的,它短路了它被应用程序的奴役并使其失控:
我想可以通过代码(我正在考虑通过 JNI 在 C 中)在任务栏中隐藏这个 GLFW window(给出了 window 句柄)但我不是确保在 Windows OS.
的肠子里必须访问什么
如果有人对我需要记录的部分有任何想法或可以指导我。
查看管理任务栏按钮段落:https://docs.microsoft.com/en-us/windows/win32/shell/taskbar
这是我设法找到的解决方案,用于处理 c++ 中的类似问题。显然您需要访问 win32 api。这是你需要对你的 GLFWWindow* win
变量进行隐藏它的任务栏条目:
{ /* signal not appear on task bar */
auto hwnd = glfwGetWin32Window(win);
ShowWindow(hwnd, SW_HIDE);
SetWindowLong(hwnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
ShowWindow(hwnd, SW_SHOW);
}
SetWindowLong(hwnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
是做什么用的。该段还提到使用 window 所有权来隐藏 windows 的任务栏图标,这可能是您正在寻找的更多内容,但我没有研究过。您应该能够使用 JNI 调用正确的函数。所以你可以用这样的东西制作一个 dll(注意我不经常使用 java 所以以此为起点):
#define GLFW_EXPOSE_NATIVE_WIN32
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
__declspec( dllexport ) void hide_taskbar_icon(GLFWWindow* win)
{
glfwHideWindow(win);
SetWindowLong(glfwGetWin32Window(win), GWL_EXSTYLE, WS_EX_TOOLWINDOW);
glfwShowWindow(win);
}
这是我从身边得到的最好的祝你好运。
为了在使用 JavaFx 的 Java 应用程序中显示 OpenGL,我使用了一个位于应用程序透明区域后面的 GLFW window。这给人一种 OpenGL 视图是应用程序一部分的错觉。
在Windows10下,这个GLFWwindow在任务栏中是可见的并且是可选的,它短路了它被应用程序的奴役并使其失控:
我想可以通过代码(我正在考虑通过 JNI 在 C 中)在任务栏中隐藏这个 GLFW window(给出了 window 句柄)但我不是确保在 Windows OS.
的肠子里必须访问什么如果有人对我需要记录的部分有任何想法或可以指导我。
查看管理任务栏按钮段落:https://docs.microsoft.com/en-us/windows/win32/shell/taskbar
这是我设法找到的解决方案,用于处理 c++ 中的类似问题。显然您需要访问 win32 api。这是你需要对你的 GLFWWindow* win
变量进行隐藏它的任务栏条目:
{ /* signal not appear on task bar */
auto hwnd = glfwGetWin32Window(win);
ShowWindow(hwnd, SW_HIDE);
SetWindowLong(hwnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
ShowWindow(hwnd, SW_SHOW);
}
SetWindowLong(hwnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
是做什么用的。该段还提到使用 window 所有权来隐藏 windows 的任务栏图标,这可能是您正在寻找的更多内容,但我没有研究过。您应该能够使用 JNI 调用正确的函数。所以你可以用这样的东西制作一个 dll(注意我不经常使用 java 所以以此为起点):
#define GLFW_EXPOSE_NATIVE_WIN32
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
__declspec( dllexport ) void hide_taskbar_icon(GLFWWindow* win)
{
glfwHideWindow(win);
SetWindowLong(glfwGetWin32Window(win), GWL_EXSTYLE, WS_EX_TOOLWINDOW);
glfwShowWindow(win);
}
这是我从身边得到的最好的祝你好运。