首页 > 编程语言 >⭐Unity 程序运行时默认出现在屏幕的左上角

⭐Unity 程序运行时默认出现在屏幕的左上角

时间:2024-04-03 15:01:51浏览次数:30  
标签:IntPtr 程序运行 int windowPtr window Unity 左上角 SetWindowPos

using System.Runtime.InteropServices;
using UnityEngine;

public class WindowPosition : MonoBehaviour
{
    [DllImport("user32.dll", EntryPoint = "SetWindowPos")]
    private static extern bool SetWindowPos(IntPtr hwnd, int hWndInsertAfter, int x, int Y, int cx, int cy, int wFlags);

    [DllImport("user32.dll", EntryPoint = "FindWindow")]
    public static extern IntPtr FindWindow(string className, string windowName);

    void Start()
    {
        PositionWindow();
    }

    void PositionWindow()
    {
        // The window name can vary depending on the title you have set for your game window.
        IntPtr windowPtr = FindWindow(null, "Your Unity Application Name");
        if (windowPtr != IntPtr.Zero)
        {
            // Positions the window at the top-left corner of the screen with a size of 800x600.
            // You can adjust these values according to your needs.
            SetWindowPos(windowPtr, 0, 0, 0, 800, 600, 0x0040);
        }
    }
}

Unity自身并不直接提供设置窗口位置的API,但是你可以通过调用操作系统的API来达到目的。

首先,你需要在Unity项目中的C#脚本中声明对Windows API的调用。这通常涉及到使用DllImport来引入user32.dll库中的函数,比如SetWindowPos,这个函数可以用来设置窗口的位置和大小。

标签:IntPtr,程序运行,int,windowPtr,window,Unity,左上角,SetWindowPos
From: https://blog.csdn.net/weixin_53501436/article/details/137345982

相关文章

  • 关于Unity Asset Store搜不到画线插件Vectrosity的问题(附带最新版本下载)
    Vectrosity是一个很好用的画线的插件,可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案,还可以给线段添加纹理,进行碰撞检查等,如果有多段线段的话,还能够检测到当前点击的是那段线段,我在项目中一直用的它,感觉还是挺稳定挺好用的。最近要开发另一个项目了,也要画线,就想着还用Vectrosity,去Asset......
  • Unity UGUI之Text组件基础认识
    Text组件用于在游戏中显示文本。下面来细看下它的基本信息。一、基本属性:如上图所示,即为Text组件的一些基本属性,其中,Text:要显示的文本内容。Font:文本所使用的字体。FontStyle(字体样式):这个属性用于设置文本的字体样式,可以选择的选项包括Normal(正常)、Bold(加粗)、Ital......
  • 【Unity音游制作】你玩过节奏大师吗?(Koreographe插件导入游戏主体)【一】
    ......
  • Unity开发之音效相关
    目录音频文件的导入音频源相关麦克风输入相关获取麦克风设备信息开始录制获取音频数据用于存储或者传输代码控制音频源动态控制音效播放示例音频文件的导入常用格式:wav,mp3,ogg,aiffForceToMono(多声道转单声道)Normalize(强制为单声道,混合过程中被标准化)Loa......
  • iOS开发者必备的实时查看应用程序运行日志技术
    目录一、设备连接二、使用克魔助手查看日志三、过滤我们自己App的日志......
  • 程序运行要求,三角形三边的值来自于本地一个文本文件input.txt,三角形类型的值最终存储
    本周完成如下2个实验:面向对象数据持久化编程,使用java编写程序,完成三角形的类型判断,程序模块要求如下:创建三角形对象triangle,该对象属性有三边a,b,c,该对象有:方法1:isOutOfRange(intI,intmax),用于判断一个整数是否在(0,max)区间内(max值请各人自行设定),返回值:true-否;fal......
  • Unity 3D脚本编程与游戏开发(3.5)
    6.2.8总结和拓展        本节利⽤Unity官⽅素材,以有限的篇幅解释了动画状态机的原理,以及动画制作中最基本但最重要的步骤。总的来看,⽬前的动画只做了4种状态——站⽴、⾛、跑和跳跃,还缺少下蹲、下蹲移动和落地缓冲等动作。好在这些动作只是对现有动作的平⾏扩展,想要......
  • UnrealEngine UnityBuild模式编译第三方代码问题
    UnrealEngine默认开了UnityBuild模式,把多个代码文件合并到一个较大的cpp文件进行编译。这样是为了减少总编译任务数,尽量避免单个编译任务代码内容太少导致在切换任务上消耗太多时间,尤其分布式编译情况下,任务切换成本更高。UnityBuild参考日志1>[22/102]Compile[x64]Module.......
  • Unity制作本地离线数字人功能模块记录
    耗时半个月实现数字人各个功能模块记录一下个人感觉比较好的功能模块:1、TTS,语音合成,GPT-SoVITS,可本地部署使用cuda/gpu/cpu运算,https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e2、ASR,语音识别,FunASR,阿里开源模型,可本地部署当前为cpu运算版本,中文识别王......
  • Unity 窗口化设置
    在Unity中要实现窗口化,具体设置如下:在编辑器中,选择File->BuildSettings。在PlayerSettings中,找到ResolutionandPresentation部分。取消勾选"FullscreenMode",并选择"Windowed"。设置游戏的目标分辨率,通常是一个固定的分辨率,比如1280x720或1920x1080。如下图所示:另......