如何使用Windows API创建一个窗口总是位于屏幕最上方
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Windows API创建一个窗口总是位于屏幕最上方相关的知识,希望对你有一定的参考价值。
创建置顶窗口: CreateWindowEx( WS_EX_TOPMOST, ......如果在创建窗口以后,置顶 ::SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)
取消置顶
::SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)
用AAuto写个示范:
import win.ui;
/*DSG*/
var winform = win.form(
text="置顶窗口测试";
right=449;
bottom=203
)
winform.add(
checkbox=
cls="checkbox";
text="置顶此窗口";
left=109;
top=92;
right=352;
bottom=126;
z=1
)
/**/
winform.checkbox.oncommand = function(id,event)
win.setTopmost(
winform.hwnd,
winform.checkbox.checked
)
winform.show()
win.loopMessage(); 参考技术A MFC:
创建一个置顶的窗口,在窗口的OnInitDialog()方法中添加
::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE); //先取消置顶
::SetWindowPos(this->m_hWnd,HWND_TOPMOST,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE);//再置顶
设置其他窗口置顶,把this换成那个窗口的窗口句柄就行了
如何在应用程序窗口外设置光标位置? (C ++)
我正在使用C ++创建一个应用程序来设置光标位置,即使鼠标离开应用程序窗口...
Win32
库具有SetCursorPos
功能,根据文档
只有当光标位于窗口的客户区域时,窗口才会移动光标
但是我想把光标移到窗外:即使窗口隐藏了...... 我希望它更像是一个鼠标驱动程序:Windows从中读取光标位置......
答案
似乎虽然文档说:
只有当光标位于窗口的客户区域时,窗口才会移动光标
即使窗口是HIDDEN,它也可以控制鼠标
以上是关于如何使用Windows API创建一个窗口总是位于屏幕最上方的主要内容,如果未能解决你的问题,请参考以下文章
Windows API编程(不是MFC)用CreateWindowEx创建的按钮等子窗口控件是默认的Windows经典样式,如何改变?