[DllImport(“user32.dll”)]
public static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
[DllImport("User32.dll", EntryPoint = "FindWindow")]
public extern static IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
const int SW_ShowMin = 2;//最小化
const int SW_ShowMax = 3;//最大化
const int SW_ShowStore = 1;//还原
// Use this for initialization
void Start () {
//程序窗口最小化
ShowWindow(GetForegroundWindow(),SW_ShowMin);
// hideTaskbar();
/// 隐藏任务栏和桌面图标
/// </summary>
public void hideTaskbar()
IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);
IntPtr hStar = FindWindow("Button", null);
IntPtr desktopPtr = FindWindow("Progman", null);
if (trayHwnd != IntPtr.Zero)
ShowWindow(desktopPtr, 0);//隐藏桌面图标 (0是隐藏,1是显示)
ShowWindow(trayHwnd, 0);//隐藏任务栏
ShowWindow(hStar, 0);//隐藏windows 按钮
/// <summary>
/// 显示任务栏和桌面图标
/// </summary>
public void showTaskbar()
IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);
IntPtr hStar = FindWindow("Button", null);
IntPtr desktopPtr = FindWindow("Progman", null);
if (trayHwnd != IntPtr.Zero)
ShowWindow(desktopPtr, 1);
ShowWindow(trayHwnd, 1);
ShowWindow(hStar, 1);
1. 需要修改Player -> Api Compatibility Level -> .NET 4.x;
2. WinTray脚本 : if_run(开始时自动运行,缩小到托盘);wait(等待多少运行); Hide函数,隐藏程序到托盘;
3. WinMaxAndMin脚本 : if_run(开始时自动运行,最小化);Minimize函数,最小化;Maximize函数,最大化;Restore函数,还原;
4. 默认编辑器状态下不运行,托盘的icon放置在StreamingAssets中;
5. 使用时,把WinTray预制体拖到项目中;
包含System.Deployment.dll、System.Drawing.dll、System.Windows.Forms.dll三个文件
public class ToolControlTaskBar
[DllImport("user32.dll")] //这里是引入 user32.dll 库, 这个库是windows系统自带的。
pub...
#region 窗口放大缩小
public int winPosX; //窗口左上角x
public int winPosY; //窗口左上角y
public int minWidth, maxWidth; //窗口宽度
public int minHeight, maxHeight; //窗口高度
在Unity中,隐藏导航栏(Navigation Bar)通常是指隐藏设备(如手机或平板电脑)的底部导航栏,这通常包含返回、主页和最近应用等按钮。在Unity开发移动应用时,特别是当你想让Unity的内容全屏显示时,隐藏这些原生导航栏是很常见的需求。请注意,这些步骤涉及较为复杂的原生开发知识,如果你不熟悉这方面的内容,可能需要寻求专业开发者的帮助。此外,有些游戏引擎或框架可能提供了更高级的API来简化这一过程,所以也要考虑查看你正在使用的任何第三方库或框架的文档。
大家在平时使用一些软件APP的时候,会看到有些软件打开后最顶部是没有窗口标题栏的。但是在Unity中打包的exe文件运行时顶部都会有一行标题栏,有的时候我们并不需要显示它。所以本文来介绍一种方法实现怎样将顶部标题栏给关掉,以及标题栏中的最小化 最大化 关闭按钮给隐藏掉本文简单介绍了在Unity中打包Exe文件后实现隐藏窗口标题栏、隐藏最小化最大化关闭按钮的方法。
禁用标题栏上的最大化、最小化或关闭按钮(二十五)本文讲述如何把标题栏上的最大化,最小化和关闭按钮禁用和启用。1. 创建一个单文档工程。2. 添加一个菜单项,分别为“最小化禁用”,“最大化禁用”,“关闭禁用”和相应的启用。添加两个变量如下: LONG Style; CRectRect;3. “最小化禁用”的代码如下:
本文介绍在C#窗体编程时,如何设置不显示右上角的最小化最大化关闭按钮。可以通过this.ControlBox这个属性的值来控制。
在Windows的窗体编程中,基本上每一个窗体都是一个最小化、最大化和关闭按钮的。见惯了千篇一律,我们有时需要有一点新意,比如来把右上角的这最小化、最大化和关闭三个按钮去掉。
对于最大化和最小化按钮,在C#窗体开发时,各一个属性来启用或禁用这两个按钮。对于最大化来说,this.MaximizeBox=false即可禁用最大化按钮。而这里的this是指窗体对象本身。而this.MinimizeBox=false即可禁用最小化按钮。
上面说了怎么禁用最大化、最小化按钮,
exe安装打包,打包的时候给exe加上运行参数xx.exe -popupwindow。隐藏系统自带标题栏后,有自定义标题栏,拖动自定义标题栏,移动窗口。-popupwindow 只针对unity构建出来的exe有用。隐藏窗口,显示托盘图标,点击托盘图标恢复窗口。
在这篇文章中,我们实现了点击最小化和关闭菜单将程序隐藏到任务栏的功能,但是这篇文章需要额外一个winform程序来处理任务栏的功能,有没有方法可以不需要依赖其他程序也能实现这个需求呢?当然有的,使用Windows系统提供的API就行了。
我们先来看看完全依靠调用Windows提供的API实现的效果。