无边框非全屏模式显示屏幕坐标与大小

来源:互联网 发布:周末可以做的兼职知乎 编辑:程序博客网 时间:2024/06/06 10:06

【文章来源】http://bbs.9ria.com/thread-203326-1-1.html


如果用Unity3D来做投影项目,此段代码非常简单。

此段代码主要的功能就是可以精确方便的设定发布后的Unity3D文件执行时在显示屏幕上的坐标和大小,且可以以无边框非全屏的模式显示。

注意:要把此代码文件命名为WindowMod.cs。C#代码如下:

using System;using System.Collections;using System.Runtime.InteropServices;using System.Diagnostics;using UnityEngine;public class WindowMod: MonoBehaviour{public Rect screenPosition;[DllImport("user32.dll")]static extern IntPtr SetWindowLong (IntPtr hwnd,int _nIndex ,int dwNewLong);[DllImport("user32.dll")]static extern bool SetWindowPos (IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);[DllImport("user32.dll")]static extern IntPtr GetForegroundWindow ();// not used rigth now//const uint SWP_NOMOVE = 0x2;//const uint SWP_NOSIZE = 1;//const uint SWP_NOZORDER = 0x4;//const uint SWP_HIDEWINDOW = 0x0080;const uint SWP_SHOWWINDOW = 0x0040;const int GWL_STYLE = -16;const int WS_BORDER = 1;void Start (){SetWindowLong(GetForegroundWindow (), GWL_STYLE, WS_BORDER);bool result = SetWindowPos (GetForegroundWindow (), 0,(int)screenPosition.x,(int)screenPosition.y, (int)screenPosition.width,(int) screenPosition.height, SWP_SHOWWINDOW);}}


 

0 0