unity exe程序置顶和全屏

1.置顶和无边框
在这里插入图片描述
在这里插入图片描述
设置显示位置和范围
在这里插入图片描述

using System;
using System.Runtime.InteropServices;
using UnityEngine;
public class WindowMod : MonoBehaviour
{public enum appStyle{FullScreen,WindowedFullScreen,Windowed,WindowedWithoutBorder}public enum zDepth{Normal,Top,TopMost}private const uint SWP_SHOWWINDOW = 64u;private const int GWL_STYLE = -16;private const int WS_BORDER = 1;private const int GWL_EXSTYLE = -20;private const int WS_CAPTION = 12582912;private const int WS_POPUP = 8388608;private const int SM_CXSCREEN = 0;private const int SM_CYSCREEN = 1;public WindowMod.appStyle AppWindowStyle = WindowMod.appStyle.WindowedFullScreen;public WindowMod.zDepth ScreenDepth;private int windowLeft = 0;private int windowTop = 0;private int windowWidth = 1920;private int windowHeight = 1080;private Rect screenPosition;private IntPtr HWND_TOP = new IntPtr(0);private IntPtr HWND_TOPMOST = new IntPtr(-1);private IntPtr HWND_NORMAL = new IntPtr(-2);private int Xscreen;private int Yscreen;private int i;[DllImport("user32.dll")]private static extern IntPtr GetForegroundWindow();[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hPos, int x, int y, int cx, int cy, uint nflags);[DllImport("User32.dll")]private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport("User32.dll")]private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);[DllImport("User32.dll")]private static extern int GetWindowLong(IntPtr hWnd, int dwNewLong);[DllImport("User32.dll")]private static extern bool MoveWindow(IntPtr hWnd, int x, int y, int width, int height, bool repaint);[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern int SendMessage(IntPtr hwnd, int msg, IntPtr wP, IntPtr IP);[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern IntPtr SetParent(IntPtr hChild, IntPtr hParent);[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern IntPtr GetParent(IntPtr hChild);[DllImport("User32.dll")]public static extern IntPtr GetSystemMetrics(int nIndex);private void Start(){this.Xscreen = (int)WindowMod.GetSystemMetrics(0);this.Yscreen = (int)WindowMod.GetSystemMetrics(1);if (this.AppWindowStyle == WindowMod.appStyle.FullScreen){Screen.SetResolution(this.Xscreen, this.Yscreen, true);}if (this.AppWindowStyle == WindowMod.appStyle.WindowedFullScreen){Screen.SetResolution(this.Xscreen - 1, this.Yscreen - 1, false);this.screenPosition = new Rect(0f, 0f, (float)(this.Xscreen - 1), (float)(this.Yscreen - 1));}if (this.AppWindowStyle == WindowMod.appStyle.Windowed){Screen.SetResolution(this.windowWidth, this.windowWidth, false);}if (this.AppWindowStyle == WindowMod.appStyle.WindowedWithoutBorder){Screen.SetResolution(this.windowWidth, this.windowWidth, false);this.screenPosition = new Rect((float)this.windowLeft, (float)this.windowTop, (float)this.windowWidth, (float)this.windowHeight);//this.screenPosition = new Rect(300,180,(float)this.windowWidth,(float)this.windowHeight);}}private void Update(){if (this.i < 5){if (this.AppWindowStyle == WindowMod.appStyle.WindowedFullScreen){WindowMod.SetWindowLong(WindowMod.GetForegroundWindow(), -16, 369164288);if (this.ScreenDepth == WindowMod.zDepth.Normal){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_NORMAL, (int)this.screenPosition.x, (int)this.screenPosition.y, (int)this.screenPosition.width, (int)this.screenPosition.height, 64u);}if (this.ScreenDepth == WindowMod.zDepth.Top){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOP, (int)this.screenPosition.x, (int)this.screenPosition.y, (int)this.screenPosition.width, (int)this.screenPosition.height, 64u);}if (this.ScreenDepth == WindowMod.zDepth.TopMost){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOPMOST, (int)this.screenPosition.x, (int)this.screenPosition.y, (int)this.screenPosition.width, (int)this.screenPosition.height, 64u);}WindowMod.ShowWindow(WindowMod.GetForegroundWindow(), 3);}if (this.AppWindowStyle == WindowMod.appStyle.Windowed){if (this.ScreenDepth == WindowMod.zDepth.Normal){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_NORMAL, 0, 0, 0, 0, 3u);WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_NORMAL, 0, 0, 0, 0, 35u);}if (this.ScreenDepth == WindowMod.zDepth.Top){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOP, 0, 0, 0, 0, 3u);WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOP, 0, 0, 0, 0, 35u);}if (this.ScreenDepth == WindowMod.zDepth.TopMost){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOPMOST, 0, 0, 0, 0, 3u);WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOPMOST, 0, 0, 0, 0, 35u);}}if (this.AppWindowStyle == WindowMod.appStyle.WindowedWithoutBorder){WindowMod.SetWindowLong(WindowMod.GetForegroundWindow(), -16, 369164288);if (this.ScreenDepth == WindowMod.zDepth.Normal){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_NORMAL, (int)this.screenPosition.x, (int)this.screenPosition.y, (int)this.screenPosition.width, (int)this.screenPosition.height, 64u);}if (this.ScreenDepth == WindowMod.zDepth.Top){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOP, (int)this.screenPosition.x, (int)this.screenPosition.y, (int)this.screenPosition.width, (int)this.screenPosition.height, 64u);}if (this.ScreenDepth == WindowMod.zDepth.TopMost){WindowMod.SetWindowPos(WindowMod.GetForegroundWindow(), this.HWND_TOPMOST, (int)this.screenPosition.x, (int)this.screenPosition.y, (int)this.screenPosition.width, (int)this.screenPosition.height, 64u);}}}this.i++;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2661736.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

本地部署Python Flask并搭建web问答应用程序框架实现远程访问

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架&#xff0c;让我们可以使用Python语言快速实现一个网站或Web服务&#xff0c;本期教程…

概率论相关题型

文章目录 概率论的基本概念放杯子问题条件概率与重要公式的结合独立的运用 随机变量以及分布离散随机变量的分布函数特点连续随机变量的分布函数在某一点的值为0正态分布标准化随机变量函数的分布 多维随机变量以及分布条件概率max 与 min 函数的相关计算二维随机变量二维随机变…

2023中国企业级存储市场:整体韧性成长,领域此消彼长

多年之后回头看&#xff0c;2023年也许是中国企业级存储市场标志性的一年。 后疫情时代的开启&#xff0c;中国数字经济快速发展、数据产业方兴未艾&#xff0c;为数据存储市场带来了前所未有的活力&#xff1b;与此同时&#xff0c;外部环境的不确定性骤增&#xff0c;人工智…

关于“Python”的核心知识点整理大全49

目录 16.2.10 加亮颜色主题 16.3 小结 第&#xff11;7 章 使用API 17.1 使用 Web API 17.1.1 Git 和 GitHub 17.1.2 使用 API 调用请求数据 17.1.3 安装 requests 17.1.4 处理 API 响应 python_repos.py 注意 17.1.5 处理响应字典 python_repos.py import json i…

1.Linux快速入门

Linux快速入门 Linux操作系统简介Linux操作系统优点Linux操作系统发行版1. Red Hat Linux2. CentOS3. Ubuntu4. SUSE Linux5. Fedora Linux 32位与64位操作系统的区别Linux内核命名规则 Linux操作系统简介 Linux操作系统是基于UNIX以网络为核心的设计思想&#xff0c;是一个性…

什么是计算机视觉

计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说&#xff0c;计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标&#xff0c;计算机视觉结合了图像处理、机器学习、模…

JavaSE基础50题:28.(数组练习)冒泡排序

概述 给定一个整型数组&#xff0c;实现冒泡排序。 如&#xff1a;给一组数组{5&#xff0c;10&#xff0c;8&#xff0c;3&#xff0c;7}进行冒泡排序。 j一直往下走&#xff0c;和下一个数字进行比较&#xff0c;如果当前数字大于下一个数字&#xff0c;则两个数字交换&…

什么是高并发系统?

1.1 什么是高并发&#xff1f; 高并发&#xff08;High Concurrency&#xff09;&#xff0c;通常是指通过设计保证系统能够同时处理很多请求。即在同一个时间点&#xff0c;有很多的请求同时访问同一个接口。高并发意味着大流量&#xff0c;需要运用技术手段去抵抗这种大流量…

大数据实践之路 读后感

欢迎关注公众号&#xff1a;数据运营入表资产化服务&#xff0c;获取更多算法源码材料 2023数据资源入表白皮书&#xff0c;推荐系统源码下载-CSDN博客 浅析研发支出费用化和资本化的区别-CSDN博客 商业银行数据资产估值白皮书&#xff0c;推荐系统源码下载-CSDN博客 用友B…

工业以太网交换机的出色优势是什么?

网络交换机可以分为商用网络交换机和工业以太网交换机两种类别。就其灵活性和抗干扰性而言&#xff0c;工业交换机和商用交换机之间存在着显著差异&#xff0c;工业交换机的功能更加实用。 工业以太网和商业网络在数据链路层、网络层和协议层等方面基本上没有本质区别。工业以…

白话机器学习的数学-2-分类

1、设置问题 图片分类&#xff1a;只根据尺寸把它分类为 纵向图像和横向图像。 如果只用一条线将图中白色的点和黑色的点分开&#xff1a; 这次分类的目的就是找到这条线。 2、内积 找到一条线&#xff0c;这是否意味着我们要像学习回归时那样&#xff0c;求出一次函数的斜率…

2024年第三届服务机器人国际会议(ICoSR 2024) | Ei、Scopus双检索

会议简介 Brief Introduction 2024年第三届服务机器人国际会议(ICoSR 2024) 会议时间&#xff1a;2024年7月26日-28日 召开地点&#xff1a;中国杭州 大会官网&#xff1a;www.iwosr.org 进入新时代&#xff0c;科技更新迭代快速发展&#xff0c;机器人不仅变得更加节能&#x…

创新型产品说明书模板的设计与实践,我悟了!

在当今这个快节奏、高效率的时代&#xff0c;产品说明书已经不再仅仅是一纸简单的使用指南。它既是产品的重要组成部分&#xff0c;也是品牌形象和用户体验的关键环节。然而&#xff0c;传统的产品说明书制作方式往往效率低下&#xff0c;管理混乱&#xff0c;难以满足市场的多…

vue3+ts打开echarts的正确方式

实例项目使用 vite5 vue3 ts&#xff0c;项目地址 vite-vue3-charts&#xff0c;预览地址 https://weizwz.com/vite-vue3-charts 准备工作 1. 注册为百度地图开发者 官网地址&#xff0c;然后在 应用管理 -> 我的应用 里&#xff0c;创建应用&#xff0c;创建好后复制 AK …

线上发布稳定性方案介绍

目录 一、方案说明 二、线上发布问题描述 2.1 无损上下线背景说明 2.1.1 服务⽆法及时下线 2.1.2 初始化慢 2.1.3 注册太早 2.1.4 发布态与运⾏态未对⻬ 三、问题解决方案 3.1 无损下线方案 3.1.1 什么是无损下线 3.1.2 传统解决方式 3.1.3 云原生场景解决方案 3.1…

Net6 Core webApi发布到IIS

Net6 Core Api发布到IIS不同于webapi&#xff0c;依赖框架不同&#xff0c;配置也移至项目内Program.cs 一、发布到指定文件夹和IIS&#xff0c;不过注意IIS应用程序池选择的是 “无托管代码“ 在IIS管理器中点击浏览&#xff0c;访问接口路径报500.19&#xff0c;原因是所依赖…

HALCON报错#2021:System clock has been set back 解决方案

如果操作系统修改过时间&#xff0c;再更新到正常的时间后&#xff0c;打开halcon可能会报错#2021&#xff1a;System clock has been set back. 解决方案&#xff1a; 1、联网同步Windows 系统时间。 2、检查以下目录中是否有超过当前时间的文件&#xff08;删除&#xff09…

o2o生活通全开源尊享版+多城市切换+企业付款+交友IM+平台快报

搭建教程 1.把 pigo2ov282.sql 文件里面的网址 test.souho.net 全部批量替换为你的自己的 2.使用 phpmyadmin 导入 pigo2ov282.sql 到你的数据库&#xff08;直接访问/phpmyadmin 即可&#xff09; 3.修改数据库文件/conf/db.php 里的数据库连接信息&#xff08;请勿使用记事本…