gpt4 book ai didi

C# 在桌面上定位窗口

转载 作者:行者123 更新时间:2023-11-30 14:19:54 25 4
gpt4 key购买 nike

假设我在 C# 中有一个普通窗口。它没有边框样式,因此无法移动或调整大小等。我将如何定位该窗口,使其显示在与桌面相同的级别或上面的级别?

就像一个小部件或雨量计皮肤。有什么想法吗?

最佳答案

如果我对您的理解是正确的,并且您基本上想在桌面上绘图,那么这可能会有所帮助:http://www.neowin.net/forum/lofiversion/index.php/t293883.html

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr FindWindow(
[MarshalAs(UnmanagedType.LPTStr)] string lpClassName,
[MarshalAs(UnmanagedType.LPTStr)] string lpWindowName);
[DllImport("user32.dll")]
public static extern IntPtr SetParent(
IntPtr hWndChild, // handle to window
IntPtr hWndNewParent // new parent window
);


IntPtr hwndf = this.Handle;
IntPtr hwndParent = FindWindow("ProgMan", null);
SetParent(hwndf,hwndParent);
this.TopMost = false;

这会将您的表单重新定位为桌面本身的子窗口。

在多次阅读代码后,我不确定为什么他们使用 FindWindow() 查找“ProgMan”而不是使用

[DllImport("user32.dll")]
static extern IntPtr GetDesktopWindow();

但到目前为止我自己还没有尝试过。

关于C# 在桌面上定位窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1966229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com