vc 禁止窗口最小化 WIN+d “显示桌面”也不能最小化

禁止窗口最小化WIN+d“显示桌面”也不能最小化本人想做一个程序一直显示在桌面上,而且不在最前端。像桌面的一部分一样贴在桌面上。谁知道麻烦说一声。... 禁止窗口最小化 WIN+d “显示桌面”也不能最小化

本人想做一个程序一直显示在桌面上,而且不在最前端。
像桌面的一部分一样贴在桌面上。
谁知道麻烦说一声。
展开
 我来答
qry26uz
2011-03-29 · TA获得超过380个赞
知道答主
回答量:637
采纳率:100%
帮助的人:389万
展开全部
ent这个函数有点神奇就测试了一个果然不同凡响!1

如果在.net中做一个顶级窗体很简单

可是当你点显示桌面的时候他回最小化!

怎么才能使它不最小化呢?在必须在它的SizeChanged事件里面写:

if (this.WindowState==FormWindowState.Minimized)
{
this.WindowState=FormWindowState.Normal;
}

可是你如果SetParent函数就不用在这里写了!

申明:

[DllImport("user32.dll", EntryPoint="SetParent")]
public static extern int SetParent (int hWndChild, int hWndNewParent);

这个函数的第一个参数的要是要一个要处理第 窗口的句柄

第二个参数为你要把这个窗口放到上面的那个窗口的句柄:

如果你用SetParent(this.Handle.ToInt32(),this.Handle.ToInt32());

窗体就是定级窗体了且不会因为你按了显示桌面它最小化!

同样如果你能得到桌面窗体的句柄那么窗体将会永远在任何窗体的最下面!!

可是怎么得到桌面的窗口的句柄呢!!

呵呵!!

API提供了一找窗口句柄的APIFindWindow (string lpClassName,string lpWindowName);

lpClassName参数为窗口所属的类名lpWindowName为窗口的标题

呵呵

现在我们就可以用这函数得到桌面窗口的句柄了

FindWindow("Progman", "Program Manager");

现在它就能返回桌面窗口的句柄了

嘿嘿

再用SetParent函数将窗体填加到桌面上看看!!

嘿嘿是不是很爽啊!!!!
田螺煲
2011-03-28 · TA获得超过126个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:152万
展开全部
鱼鱼桌面秀有你说的这个功能,不妨看一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式