【已解决】求助,怎么让autoit创建的窗口,自动紧靠在文本文档的右边?
本帖最后由 fenhanxue 于 2012-10-6 23:33 编辑求助哦,就是我autoit 建了个窗口,然后我有个已经打开的标题为“新建 - 记事本”的tet文档,
我想实现的功能是,
1、aotoit生成的窗口,一运行就自动紧挨在“新建 - 记事本”的右边缘
2、将“新建 - 记事本”最小化时,aotoit生成的窗口也一起最小化
3、将最小化的“新建 - 记事本”还原时,aotoit生成的窗口也一起还原,紧挨在“新建 - 记事本”的右边缘
应该用什么语言来实现哦?
小菜鸟发现autoit乐趣好无穷哦,下面是我建的窗口的代码,想跟“新建”紧挨着,求高手帮忙哦
谢谢veket_linux 和 xms77 亲哦,经过你们的代码点拨,我发现懂了好多,已经按照亲的指点,改好啦,再次感激哦~
修正后的代码:Dim $i,$b,$a
Dim $List,$ok
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 362, 269, 262, 158)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 50)
$List = GUICtrlCreateList("", 160, 0, 193, 152)
GUICtrlSetData($List, "123")
GUICtrlSetData($List, "345")
GUICtrlSetData($List, "789")
$List = GUICtrlCreateList("", 160, 160,193, 153)
GUICtrlSetData($List, "bhg")
GUICtrlSetData($List, "llj")
GUICtrlSetData($List, "87u")
$ok=GUICtrlCreateButton("ok1",20,80,30,30)
$ok=GUICtrlCreateButton("ok2",20,150,30,30)
$ok=GUICtrlCreateButton("ok3",20,200,30,30)
;GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
GUISetState()
While 1
;;;;;;;;;;;;;;;;;;;;加了这段;;;;;;;;;;;;;;;;;;;;;;;;;
WinWaitActive("新建-记事本")
$array = WinGetPos("新建-记事本")
If IsArray($array) Then
WinMove("Form1", "", $array+$array, $array )
WinSetOnTop("Form1","",1)
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Dim $i,$b,$a
Dim $List,$ok
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 362, 269, 262, 158)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 50)
$List = GUICtrlCreateList("", 160, 0, 193, 152)
GUICtrlSetData($List, "123")
GUICtrlSetData($List, "345")
GUICtrlSetData($List, "789")
$List = GUICtrlCreateList("", 160, 160,193, 153)
GUICtrlSetData($List, "bhg")
GUICtrlSetData($List, "llj")
GUICtrlSetData($List, "87u")
$ok=GUICtrlCreateButton("ok1",20,80,30,30)
$ok=GUICtrlCreateButton("ok2",20,150,30,30)
$ok=GUICtrlCreateButton("ok3",20,200,30,30)
;GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
GUISetState()
While 1
;;;;;;;;;;;;;;;;;;;;加了这段;;;;;;;;;;;;;;;;;;;;;;;;;
WinActivate("新建 - 记事本")
$array = WinGetPos("新建 - 记事本")
If IsArray($array) Then
WinMove("Form1", "", $array+$array, $array )
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Dim $i, $b, $a
Dim $List, $ok, $positon
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>
$positon = WinGetPos("新建文本文档.txt - 记事本", "")
If Not @error Then
$Form1 = GUICreate("Form1", 362, 269, $positon + $positon + 3, $positon + 4)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 50)
$List = GUICtrlCreateList("", 160, 0, 193, 152)
GUICtrlSetData($List, "123")
GUICtrlSetData($List, "345")
GUICtrlSetData($List, "789")
$List = GUICtrlCreateList("", 160, 160, 193, 153)
GUICtrlSetData($List, "bhg")
GUICtrlSetData($List, "llj")
GUICtrlSetData($List, "87u")
$ok = GUICtrlCreateButton("ok1", 20, 80, 30, 30)
$ok = GUICtrlCreateButton("ok2", 20, 150, 30, 30)
$ok = GUICtrlCreateButton("ok3", 20, 200, 30, 30)
;GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
GUISetState()
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$status = WinGetState("新建文本文档.txt - 记事本", "")
;MsgBox(0,0,$status)
If BitAnd($status, 16) Then WinSetState($Form1,"",@SW_MINIMIZE)
If BitAnd($status, 8) Then WinSetState($Form1,"",@SW_RESTORE)
Sleep(50)
WEnd 回复 [url=http://www.autoitx.com/forum.php?mod=redirect&BColorImageLinkQuoteCodeSmilies
goto=findpost&pid=477084&ptid=35286]2# veket_linux
谢谢亲哦,经过指点,发现恍然大悟哦~ 回复 3# xms77
谢谢亲指点哦{:face (411):}
终于回拉,谢谢谢谢~ 回复 1# fenhanxue
好的东西要支持
页:
[1]