Foxtable(狐表)用户栏目专家坐堂 → 求助,能不能获取窗口的位置?并跟随?


  共有2393人关注过本帖树形打印复制链接

主题:求助,能不能获取窗口的位置?并跟随?

帅哥哟,离线,有人找我吗?
zto001
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/8/19 8:54:00 [只看该作者]

https://www.cnblogs.com/lefour/p/5464111.html

是这个吗?

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/8/19 8:56:00 [只看该作者]

窗口跟随吸附http://www.codesc.net/tech/3405.shtml

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/8/19 9:05:00 [只看该作者]

这个可以获取窗口的坐标吗?
https://zhidao.baidu.com/question/919821440279377859.html 

或者是这个?
https://zhidao.baidu.com/question/573177526.html


 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/8/19 11:40:00 [只看该作者]

'在窗体上画一个Timer控件,设置其Interval属性为100
'把代码复制到Form1的代码窗口中

'获得活动窗口句柄的API
Private Declare Function GetForegroundWindow Lib "user32" () As Long
'获得窗口区域结构的API
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, wndRect As RECT) As Long

Private Type RECT '自定义区域结构类型
x As Long
y As Long
Right As Long
Bottom As Long
End Type

Dim ActiveWindowRECT As RECT '用於保存活动窗口区域的结构
Dim ActiveWindowHwnd As Long '活动窗口的句柄

Private Sub Timer1_Timer()
ActiveWindowHwnd = GetForegroundWindow '获得活动窗口的句柄
GetWindowRect ActiveWindowHwnd, ActiveWindowRECT '获得活动窗口的区域并保存在 ActiveWindowRECT 变量中
'在窗口上输出信息
Me.Cls
Print "活动窗口的坐标是(" & ActiveWindowRECT.x & "," & ActiveWindowRECT.y & ")"
End Sub 


这个不懂,我执行提示关键字作为标识无效

 回到顶部
帅哥,在线噢!
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/19 14:36:00 [只看该作者]

试了几下,GetWindowRect 都无法获取正确的值,不知道什么原因,不玩了。可以自己试试

全局代码

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

Public Structure  myRECT '自定义区域结构类型
Public Left As Integer
Public Top As Integer
Public Right As Integer
Public Bottom As Integer
End Structure 

Public ActiveWindowRECT As myRECT '用於保存活动窗口区域的结构
Public ActiveWindowHwnd As Long '活动窗口的句柄

Public Declare Function GetForegroundWindow Lib "user32" () As Long

Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, ByRef wndRect As myRECT) As Boolean

调用测试


Dim ret = FindWindow(vbNullString, "命令窗口") 
Output.Show(ret)

ActiveWindowHwnd = GetForegroundWindow
Output.Show(ActiveWindowHwnd )

Dim aa As new myRECT

Dim lng As Boolean = GetWindowRect(ret, aa)
Output.Show(lng)
Output.Show("活动窗口的坐标是(" & aa.left & "," & aa.Top & "," & aa.Right  & "," & aa.Bottom  & ")")

lng  = GetWindowRect(ActiveWindowHwnd , ActiveWindowRECT )
Output.Show(lng)
Output.Show("活动窗口的坐标是(" & ActiveWindowRECT .left & "," & ActiveWindowRECT .Top & "," & ActiveWindowRECT .Right  & "," & ActiveWindowRECT .Bottom  & ")")



 回到顶部
总数 15 上一页 1 2