fenhanxue 发表于 2012-10-6 20:50:33

【已解决】求助,怎么让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

veket_linux 发表于 2012-10-6 21:46:13


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

xms77 发表于 2012-10-6 22:15:13

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

fenhanxue 发表于 2012-10-6 23:35:42

回复 [url=http://www.autoitx.com/forum.php?mod=redirect&BColorImageLinkQuoteCodeSmilies
goto=findpost&pid=477084&ptid=35286]2# veket_linux


    谢谢亲哦,经过指点,发现恍然大悟哦~

fenhanxue 发表于 2012-10-6 23:42:43

回复 3# xms77

谢谢亲指点哦{:face (411):}
终于回拉,谢谢谢谢~

时代科技 发表于 2013-1-16 01:56:23

回复 1# fenhanxue
好的东西要支持
页: [1]
查看完整版本: 【已解决】求助,怎么让autoit创建的窗口,自动紧靠在文本文档的右边?