有没有办法使一个没有边框的表单(FormBorderStyle设置为"none")可以在窗体上单击鼠标时移动,就好像有一个边框?
给定Win32窗口的句柄,我需要找到它相对于其父窗口的位置.
我知道几个函数(例如; GetWindowRect()和GetClientRect()),但它们都没有显式返回所需的坐标.
我该怎么做呢?
在我的一个程序中,我需要测试用户当前是否正在关注桌面/ shell窗口.目前我正在使用user32.dll中的GetShellWindow()并将结果与GetForegroundWindow()进行比较.
这种方法有效,直到有人更改桌面壁纸,但是一旦壁纸被更改,GetShellWindow()的句柄就不再与GetForegroundWindow()中的句柄相匹配,我不明白为什么会这样.(操作系统: Windows 7 32位)
有没有更好的方法来检查桌面是否专注?如果用户更换壁纸,最好不会破坏?
编辑:我设计了一个解决方法:我正在测试句柄以生成类"SHELLDLL_DefView"的子句.如果有,则桌面处于焦点状态.虽然它在我的电脑上工作并不意味着它会一直工作......