以编程方式处理Vista边栏

时间:2008-09-16 12:25:57

标签: c# windows-vista sidebar

是否有api将vista侧栏以编程方式带到前面(Win + Space)并执行相反操作(将其发送到后台)。

2 个答案:

答案 0 :(得分:1)

可能使用SetWindowPos,您可以将其更改为放置在z顺序的顶部/底部,甚至可以作为最顶层的窗口。您需要使用FindWindow或WinSpy等应用程序找到侧边栏的句柄。

但在那之后就像。

将窗口设置在顶部,但不是最顶层。

SetWindowPos(sidebarHandle, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NORESIZE);

设置底部的窗口。

SetWindowPos(sidebarHandle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NORESIZE);

这是我实现你所要求的最好的猜测,希望它有所帮助。

答案 1 :(得分:0)

你可能根本不应该这样做,因为这样的动作可能会在错误的时间执行时惹恼用户(95%的情况*),就像用“是/否”提示窃取焦点一样。

除非你的产品的任务是切换边栏当然。 ;)

无论如何都没有正式的API。

*纯粹假设的数字