116154801 发表于 2009-7-26 07:08:18

如何让一个GUI在最底层或鼠标穿透

如何让一个GUI在最底层或鼠标穿透,鼠标不管是左键或右键在这个GUI上面都等于是不会碰到这个GUI的任何界面上。小弟急用,恳请各位帮帮忙啦。

116154801 发表于 2009-7-26 07:30:38

看了http://www.autoitx.com/forum.php?mod=viewthread&tid=1585&highlight=%D7%EE%B5%D7%B2%E3最底层已经解决了#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

Example1()


; example 1
Func Example1()
    Local $msg,$Child,$hwnd

    $Child=GUICreate("My GUI")

      $hwnd=WinGetHandle("Program Manager","")

      DllCall("user32.dll","hwnd","SetParent","hwnd",$Child,"hwnd",$hwnd)

    GUISetState(@SW_SHOW)      


    While 1
      $msg = GUIGetMsg()

      If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==>Example1

lynfr8 发表于 2009-7-27 00:21:23

能自行搜索解决问题
赞一个

kn007 发表于 2009-7-27 00:31:58

回楼上的,但还没解决,有两个问题呢!?只解决了一个

lynfr8 发表于 2009-7-27 03:30:08

GUI在最底层,鼠标不管是左键或右键不会碰到这个GUI的任何界面#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

    Local $msg,$Child

    $Child=GUICreate("My GUI")
    GUISetState(@SW_DISABLE ,$Child)

    GUISetState(@SW_SHOW)      

    While 1
      $msg = GUIGetMsg()
      If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()

116154801 发表于 2009-7-28 02:29:46

本帖最后由 116154801 于 2009-7-28 02:44 编辑



谢谢 lynfr8 大哥

不好意思啦,我可能没说清楚了。有这么多人这么人心的帮助,我感到很荣幸。很谢谢各位的帮助。

我不知道如何说明这个问题。只好拿发图上来给各位看看, 希望各位理解

浮动在桌面的窗口,点鼠标则会点到下边的桌面

crazy715 发表于 2009-7-28 12:03:02

是不是可以理解成图片悬浮在桌面上方,鼠标是从图片下面经过而点击不到图片?

116154801 发表于 2009-7-29 05:31:58

7# crazy715


恩,就是这个意思了,我都想进办法做到这个效果,都没做到过。所以恳请各位大哥帮帮忙

116154801 发表于 2009-7-30 00:12:34

哎。。。。。。

menfan 发表于 2009-10-15 19:59:45

呵呵,学习一下。。

ndyndy 发表于 2009-11-2 13:50:07

新思路啊,呵呵。。。。

ljsoso 发表于 2009-11-25 19:05:06

额。。没听过 学习学习

menfan1 发表于 2009-11-27 20:47:26

搜索一下就知道啦

gyy444 发表于 2009-12-14 03:49:48

先 试用一下

lubb 发表于 2010-4-13 12:33:34

学习了,很好。。
页: [1] 2
查看完整版本: 如何让一个GUI在最底层或鼠标穿透