Windows下的unity单机版播放器是一个 Windows.Form
? 如果是,我们如何访问它的句柄?
if(Form.ActiveForm != null)
{
m_form = Form.ActiveForm;
Debug.Log("m_form.Name");
}
我使用的是 Mono
版 System.Windows.Forms.dll
. 我正在尝试用上面的代码来访问 Form
句柄,但它总是返回 null
甚至当窗口处于活动状态时,这让我怀疑单机版的windows建构是不是一种 Windows.Form
.
我基本上需要访问工具栏,这样我就可以改变它的颜色(不是标题,对于标题,我们已经有了一个不需要访问的变通方法。Form
实例)。) 另外,我需要设置窗口的最小尺寸。任何解决方案都会对我有帮助。
你总是可以pinvoke winapi,所以为了得到当前活动窗口的句柄就用这个。
[DllImport("user32.dll")]
static extern IntPtr GetActiveWindow();
而为了移动调整窗口的位置u可以使用其中的一个。
另外,为了得到一个窗口的手柄......。
[DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
或:
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);