找回密码
 加入
搜索
查看: 4192|回复: 7

[AU3基础] [已解决]运行一个程序,让其窗口不在屏幕中间显示,关于x 坐标,y 坐标值得设置

  [复制链接]
发表于 2015-8-9 00:48:41 | 显示全部楼层 |阅读模式
本帖最后由 lhl5186381 于 2015-8-9 18:53 编辑


progressOn($biaoti, "开始安装……","", -1, -1,16)
ProgressSet(50, "正在安装......")
Run(@HomeDrive & "\setup\xxx.exe")
因其进度条的位置本身已经在屏幕中间,运行xxx.exe后这个软件也在屏幕中间被进度条挡住了,我是想运行xxx.exe后将其窗口调到屏幕下方 找了一下解决的方法是用 WinExists 与WinMove这两个函数,但

WinMove ( "标题", "文本", x坐标, Y坐标 [, 宽度 [, 高度[,速度]]] ) 中 x坐标, Y坐标 怎样填写啊 ,-1,-1 表示屏幕中间,那任务栏中上方怎样表示

本人小白 望大师赐教!
发表于 2015-8-9 10:20:24 | 显示全部楼层
WinMove ( "标题", "文本", -1, 0 [, 宽度 [, 高度[,速度]]] )
 楼主| 发表于 2015-8-9 11:28:44 | 显示全部楼层
试了一下这个可以移动到左上角 也是一种办法 谢谢了 !
发表于 2015-8-9 11:34:35 | 显示全部楼层
怎么是左上角。。
WinMove ( "标题", "文本", @desktopwidth/2 , 0 [, 宽度 [, 高度[,速度]]] )
或者   "标题", "文本",  @desktop /2 - 窗口标题宽度/2 ,0
发表于 2015-8-9 15:54:13 | 显示全部楼层
用桌面高度减去xxx.exe窗口高度再减去任务栏的高度就是X坐标,用桌面宽度减xxx.exe窗口宽度再除2就是Y坐标。(这样xxx.exe窗口就会左右居中,窗口下边框紧贴任务栏)
 楼主| 发表于 2015-8-9 18:46:54 | 显示全部楼层
谢谢啦 已经解决
#include <MsgBoxConstants.au3>

Example()

Func Example()
        ; 运行记事本程序
        Run(@HomeDrive & "\xiu.exe")
        ; 延迟 10 秒, 等待记事本窗口出现.
        WinWait("更改计算机名", "", 5)
        ; 测试窗口是否存在, 并显示结果.
        $POS = WinGetPos("更改计算机名", '')
        If WinExists("更改计算机名") Then
                WinMove("更改计算机名", "",-1, @DesktopHeight / 2)
                WinMove("更改计算机名", "", (@DesktopWidth - $POS[2]) / 2, (@DesktopHeight - $POS[3]))
        EndIf
EndFunc   ;==>Example
 楼主| 发表于 2015-8-9 18:47:32 | 显示全部楼层
多了一句 ,吧WinMove("更改计算机名", "",-1, @DesktopHeight / 2) 删了 !!!
 楼主| 发表于 2015-8-9 18:47:40 | 显示全部楼层
多了一句 ,吧WinMove("更改计算机名", "",-1, @DesktopHeight / 2) 删了 !!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 21:38 , Processed in 0.075451 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表