精华内容
下载资源
问答
  • windows窗口标题栏隐藏
    2020-07-08 17:25:11

    //隐藏窗口标题栏
    procedure FormHideTitle(AForm: TCustomForm);
    begin
      SetWindowLong(AForm.Handle, GWL_STYLE, GetWindowLong(AForm.Handle, GWL_STYLE) AND NOT WS_CAPTION);
      AForm.ClientHeight := AForm.Height;
    end;

    更多相关内容
  • 内容索引:VC/C++源码,界面编程,标题栏 VC++ 显示、隐藏窗口标题栏,可以将标题栏删除掉,只显示窗体的主体,感觉 不习惯,这里主要是演示一下用VC++获得窗口的标题栏,然后去控制标题栏,除了显示、隐藏外,还有...
  • 可以对您的 Windows 操作系统窗口标题栏按钮进行优化增强的小工具,如果您正需要进行窗口优化一定要下载这款 Actual Title Buttons(窗口标题栏按钮增强)使用。Actual Title Buttons 允许您在任何程序的标题栏按钮旁...
  • 可以对您的 Windows 操作系统窗口标题栏按钮进行优化增强的小工具,如果您正需要进行窗口优化一定要下载这款 Actual Title Buttons(窗口标题栏按钮增强)使用。Actual Title Buttons 允许您在任何程序的标题栏按钮旁...
  • 内容索引:VC/C++源码,界面编程,标题栏 VC++实现窗体标题栏的显示与隐藏功能,一像折叠菜单一样,可以把标题栏完全隐藏掉,只留下菜单栏和正文部分,这个程序有利于大家实现折叠窗体之类的功能,对控制窗体起到一定...
  • 可否让玩家点击窗口的关闭按钮的时候不关闭程序,而是执行最小化。 说实话,这样做不是很厚道,不过,技术上是可以实现的。 二、创建脚本 创建一个WindowsStyle脚本,挂到场景的某个物体上,比如我挂到Main Camera...

    一、前言

    游戏项目是使用Unity开发的,发布了PC平台的exe
    然后策划提出这么一个需求:

    可否让玩家点击窗口的关闭按钮的时候不关闭程序,而是执行最小化。
    

    说实话,这样做不是很厚道,不过,技术上是可以实现的。
    本文实现的效果如下:
    在这里插入图片描述

    二、创建脚本

    创建一个WindowsStyle脚本,挂到场景的某个物体上,比如我挂到Main Camera上。
    在这里插入图片描述

    三、代码

    using System;
    using System.Runtime.InteropServices;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class WindowsStyle : MonoBehaviour
    {
        public Button hideBarBtn;
        public Button showBarBtn;
        public Button hideCloseBtn;
        public Button showCloseBtn;
    
    
        private void Awake()
        {
            // 获得窗口句柄
            var hwd = GetForegroundWindow();
            // 隐藏标题栏
            hideBarBtn.onClick.AddListener(() =>
            {
                var wl = GetWindowLong(hwd, GWL_STYLE);
                wl &= ~WS_CAPTION;
                SetWindowLong(hwd, GWL_STYLE, wl);
            });
            // 显示标题栏
            showBarBtn.onClick.AddListener(() =>
            {
                var wl = GetWindowLong(hwd, GWL_STYLE);
                wl |= WS_CAPTION;
                SetWindowLong(hwd, GWL_STYLE, wl);
            });
            // 隐藏关闭按钮
            hideCloseBtn.onClick.AddListener(() =>
            {
                var wl = GetWindowLong(hwd, GWL_STYLE);
                wl &= ~WS_SYSMENU;
                SetWindowLong(hwd, GWL_STYLE, wl);
            });
            // 显示关闭按钮
            showCloseBtn.onClick.AddListener(() =>
            {
                var wl = GetWindowLong(hwd, GWL_STYLE);
                wl |= WS_SYSMENU;
                SetWindowLong(hwd, GWL_STYLE, wl);
            });
        }
    
    
    
        /// <summary>
        /// 点击窗口的x按钮,会执行这个函数
        /// </summary>
        private void OnApplicationQuit()
        {
            Application.wantsToQuit += () =>
            {
                // 获得窗口句柄
                var hwd = GetForegroundWindow();
                // 设置窗口最小化
                ShowWindow(hwd, SW_SHOWMINIMIZED);
                // 阻止程序被关闭
                return false;
            };
        }
    
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();
    
        [DllImport("user32.dll")]
        public static extern bool ShowWindow(IntPtr hwd, int cmdShow);
    
        [DllImport("user32.dll")]
        public static extern long GetWindowLong(IntPtr hwd, int nIndex);
    
        [DllImport("user32.dll")]
        public static extern void SetWindowLong(IntPtr hwd, int nIndex, long dwNewLong);
    
        /// <summary>
        /// 最小化
        /// </summary>
        const int SW_SHOWMINIMIZED = 2;
    
        /// <summary>
        /// 最大化
        /// </summary>
        const int SW_SHOWMAXIMIZED = 3;
    
        /// <summary>
        /// 还原
        /// </summary>
        const int SW_SHOWRESTORE = 1;
    
        /// <summary>
        /// 窗口风格
        /// </summary>
        const int GWL_STYLE = -16;
        /// <summary>
        /// 标题栏
        /// </summary>
        const int WS_CAPTION = 0x00c00000;
        /// <summary>
        /// 标题栏按钮
        /// </summary>
        const int WS_SYSMENU = 0x00080000;
    }
    

    四、赋值脚本的按钮成员

    使用UGUI创建四个按钮,赋值给脚本的按钮成员对象。
    在这里插入图片描述

    五、打包运行测试

    发布PC平台的exe
    在这里插入图片描述
    发布成功后,运行测试效果如下:
    在这里插入图片描述

    展开全文
  • c++ 隐藏和显示标题栏

    2021-04-18 11:17:33
    void CTitleDlg::OnButton1() { LONG lStyle = ::GetWindowLong(this->m_hWnd, GWL_STYLE);...//取消窗体标题栏 ::SetWindowPos(this->m_hWnd, NULL, 0, 0, 0, 0,SWP_NOSIZE | SWP_NOMOV.
    void CTitleDlg::OnButton1() 
    {
    	LONG lStyle = ::GetWindowLong(this->m_hWnd, GWL_STYLE);//获取窗体样式
    	::SetWindowLong(this->m_hWnd, GWL_STYLE, lStyle & ~WS_CAPTION);//取消窗体标题栏
    	::SetWindowPos(this->m_hWnd, NULL, 0, 0, 0, 0,SWP_NOSIZE 
    		| SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);//重新设置窗体大小
    }
    
    void CTitleDlg::OnButton2() 
    {
    	LONG lStyle = ::GetWindowLong(this->m_hWnd, GWL_STYLE);//获取窗体样式
    	::SetWindowLong(this->m_hWnd, GWL_STYLE, lStyle | WS_CAPTION);//添加窗体标题栏
    	::SetWindowPos(this->m_hWnd, NULL, 0, 0, 0, 0,SWP_NOSIZE 
    		| SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);//重新设置窗体样式
    }
    

     

    展开全文
  • 写这篇博客的目的,就是防止忘记找不到。 实际项目中使用,测试有效。 调用: IntPtr CurrentAppHandle = GetForegroundWindow();...HandleRef ...// 初始化窗口风格 IntPtr Style = GetWindowLongPtr(C...

    写这篇博客的目的,就是防止忘记找不到。

    实际项目中使用,测试有效。

    调用

    IntPtr CurrentAppHandle = GetForegroundWindow();
    HandleRef ParentHandle = new HandleRef(this, CurrentAppHandle);
    
    // 初始化窗口风格
    IntPtr Style = GetWindowLongPtr(CurrentAppHandle, GWL_STYLE);
    uint tempStyle = (uint)Style.ToInt32() & ~WS_CAPTION & ~WS_SYSMENU & ~WS_SIZEBOX;
    WinAPI.SetWindowLongPtr(ParentHandle, GWL_STYLE, new IntPtr(tempStyle));

    WindowsAPI

        /// <summary>
        /// 检索有关指定窗口的信息。该函数还将以指定的偏移量将值检索到额外的窗口内存中。
        /// </summary>
        /// <param name="hWnd"></param>
        /// <param name="nIndex"></param>
        /// <returns></returns>
        public static IntPtr GetWindowLongPtr(IntPtr hWnd, int nIndex)
        {
            if (IntPtr.Size == 8)
                return GetWindowLongPtr64(hWnd, nIndex);
            else
                return GetWindowLongPtr32(hWnd, nIndex);
        }
        [DllImport("user32.dll", EntryPoint = "GetWindowLong")]
        private static extern IntPtr GetWindowLongPtr32(IntPtr hWnd, int nIndex);
    
        [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")]
        private static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex);
    
        /// <summary>
        /// 这种静态方法是必需的,因为早期操作系统不支持
        /// </summary>
        /// <param name="hWnd"></param>
        /// <param name="nIndex"></param>
        /// <param name="dwNewLong"></param>
        /// <returns></returns>
        public static IntPtr SetWindowLongPtr(HandleRef hWnd, int nIndex, IntPtr dwNewLong)
        {
            if (IntPtr.Size == 8)
                return SetWindowLongPtr64(hWnd, nIndex, dwNewLong);
            else
                return new IntPtr(SetWindowLong32(hWnd, nIndex, dwNewLong.ToInt32()));
        }
    
        [DllImport("user32.dll", EntryPoint = "SetWindowLong")]
        private static extern int SetWindowLong32(HandleRef hWnd, int nIndex, int dwNewLong);
    
        [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")]
        private static extern IntPtr SetWindowLongPtr64(HandleRef hWnd, int nIndex, IntPtr dwNewLong);
    
        /// <summary>
        /// 获取置顶窗口
        /// </summary>
        /// <returns></returns>
    
        [DllImport("user32", CharSet = CharSet.Auto, ExactSpelling = true)]
        public static extern IntPtr GetForegroundWindow();

     

     

    参数

        /// <summary>
        /// 设置一个新的窗口样式
        /// </summary>
        public const int GWL_STYLE = -16;
    
        /// <summary>
        /// 标题
        /// </summary>
        public const uint WS_CAPTION = 0x00C00000;     /* WS_BORDER | WS_DLGFRAME  */
    
        /// <summary>
        /// 系统菜单
        /// </summary>
        public const uint WS_SYSMENU = 0x00080000;
    
    
        /// <summary>
        /// 设置调整窗口大小的厚的结构的窗口。
        /// </summary>
        public const uint WS_THICKFRAME = 0x00040000;
    
        /// <summary>
        /// 创建一个可调边框的窗口,与 WS_THICKFRAME 风格相同
        /// </summary>
        public const uint WS_SIZEBOX = WS_THICKFRAME;

     

    展开全文
  • 这样即使隐藏标题栏窗口标题也是可见的。 您可以从安装它。 元主题在 Gnome 3.16 中不再工作,使用 instate 打补丁的 mutter 版本 ##用法导航到系统主题文件夹。 cd /usr/share/themes 克隆这个存储库(需要 ...
  • 隐藏标题栏和边框 win32 C

    热门讨论 2009-12-16 10:21:34
    win32程序隐藏标题栏和边框的方法,设定特定的窗口风格,窗口置顶。
  • //指定位置 设置窗口置顶 SetWindowPos(hWnd, HWND_TOPMOST,//置顶 (GetSystemMetrics(SM_CXFULLSCREEN) - 800) / 2, (GetSystemMetrics(SM_CYFULLSCREEN) - 800) / 2,//坐标 800, 800,.
  • C#如何隐藏窗体的标题栏

    千次阅读 2019-06-12 22:46:44
    如何隐藏窗体的标题栏,使得窗体只剩下一个客户区域呢?(下图所示,左图为隐藏标题栏之前,右图为隐藏标题栏之后) 实现方法很简单,第一种方法是通过代码实现的。 方法一、代码法 using System; using ...
  • // 隐藏标题栏 hideBarBtn.onClick.AddListener(() => { var wl = GetWindowLong(hwd, GWL_STYLE); wl &= ~WS_CAPTION; SetWindowLong(hwd, GWL_STYLE, wl); }); // 显示标题栏 showBarBtn.onClick.AddListener(() ...
  • using System.Runtime.InteropServices; //control the task bar hide or show //liuyanlei public class ToolControlTaskBar ...)] //这里是引入 user32.dll 库, 这个库是windows系统自带的。 pub...
  • 修改Windows窗口标题

    万次阅读 2019-08-21 08:07:48
    通过C/C++语言调用windows APi函数修改正在运行的程序窗口标题
  • 隐藏和显示标题栏

    千次阅读 2015-03-12 16:06:17
    在设计窗体时,有时需要动态的显示或者隐藏窗体标题栏,可以通过API函数GetWindowLong、SetWindowLong和SetWindowPos来实现。 GetWindowLong函数能够获得指定窗口的信息,其语法结构为: LONG WINAPI ...
  • 下面解决标题栏隐藏功能 找到函数:   GLView::initWithRect(const std::string&amp; viewName, Rect rect, float frameZoomFactor) 函数里面有:   glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);//...
  • Windows API去掉窗口标题栏以及边框

    万次阅读 2014-04-26 00:35:57
    本文中代码由http://bbs.csdn.net/topics/370099236中的VB代码修改而来。
  • COCOS2D是移动端开发游戏的免费引擎,功能非常强大,由于在移动端没有标题栏不存在问题,在windows下会有默认的标题栏,如果做得游戏为了在windows下也有统一的游戏风格,修改标题栏就必不可少。 1.隐藏标题栏 ...
  • 本文介绍三种方法,可以实现隐藏窗口在任务中的图标。其中前两种比较坑爹,不建议使用。 转载: 原文:https://www.xuebuyuan.com/1338887.html 方法1: ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); ...
  • 方法一 :首先,修改appDelegate::applicationDidFinishLaunching() 函数 auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) { glview = GLViewImpl::create
  • 隐藏标题栏 SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_CAPTION); SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_DRAWFRAME); 菜单栏为空 ...
  • 使用Delphi源码实现一个无边框窗口,把标题栏去掉了,同时也去掉了标题栏上的最大化、最小化和关闭按钮,测试发现,这个无标题栏无边框的窗体不能拖动,要是能拖动就更好了。 运行环境:Windows/Delphi7
  • using System.Runtime.InteropServices; //control the task bar hide or show //liuyanlei public class ... [DllImport("user32.dll")] //这里是引入 user32.dll 库, 这个库是windows系统自带的。 publ...
  • c#自定义标题栏

    千次阅读 2019-10-16 16:24:19
    最近在编写C/S结构应用程序时,感觉窗体的标题栏样式太死板了,标题文字不能更改大小、颜色、字体等,按钮不能隐藏等问题,在网上也查找了许多相关的资料,没有找到合适的解决方案,发现许多人也在寻求这个问题,...
  • 阐述 一开始网上搜索,只能在app.json中的window里面设置 “navigationStyle”: ...全局设置导航隐藏 app.json设置 – “navigationStyle”: “custom” PS:从app.json中设置所有页面都会生效,导航消失。 "wind
  • 本文记录了 在 plasma 上设置取消标题栏和自动隐藏任务栏的设置。 总体效果如下 取消标题栏 找到 System setting -> Workspace -> Windows Management -> Windows Rules. 选择新建,在 description 中...
  • 1. pb里实现无标题栏 api解决: SetWindowLong(Handle, // 当前窗体句柄  GWL_STYLE, // 表示当前是要设置新的窗体(普通)样式  // 得到指定窗体信息  GetWindowLong(Hand
  • 用js代码弹出一个窗口,如何设置弹出窗口不显示地址栏和标题栏 ``` function openModelWindow(){ var url = "subWindow.html"; window.open(url,'','location=no,width=500,height=100,left=500,top=300'); ...
  • this.WindowState = System.Windows.WindowState.Normal; this.WindowStyle = System.Windows.WindowStyle.None; this.ResizeMode = System.Windows.ResizeMode.NoResize; this.Topmost = true; this.Left = 0.0; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,267
精华内容 10,506
关键字:

windows窗口标题栏隐藏