找回密码
 加入
搜索
查看: 7427|回复: 32

请问这个[调用游戏悬浮窗源码]哪里出了错,哪个帮修整下

[复制链接]
发表于 2009-6-9 12:20:48 | 显示全部楼层 |阅读模式
本帖最后由 fyhwaijxnt78 于 2009-6-11 12:15 编辑

原代码在这网址!
http://redapple2008.5d6d.com/thread-1362-1-1.html

她这个网页代码加了别的字,复制了有其它字!
打过好像哪会出错,不指一个地方!

这是我照这写的,运行出错了,不知哪写错了!
请帮忙修改好下,谢谢了!

#Region ;**** 参数创建于 AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=game.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Description=恢复时游戏调用
#AutoIt3Wrapper_Res_LegalCopyright=linbsp
#EndRegion ;**** 参数创建于 AutoIt3Wrapper_GUI ****
#include "misc.au3"
#include <GUIConstants.au3>
#include <A3LToolTip.au3>
_Singleton("myScript")
Global $start
Global $n = 0
Global $pos
Global $clickspeed = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed")
Opt("GUIOnEventMode", 1)
$title = "lin"
$AForm1 = GUICreate($title, 38, 38,  @DesktopWidth-120, @DesktopHeight-500, BitOR($WS_SYSMENU, $WS_POPUP, $WS_POPUPWINDOW, $WS_BORDER), $WS_EX_TOOLWINDOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit", $AForm1)
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_PRIMARYdown', $AForm1)
GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_PRIMARYup', $AForm1)
GUISetBkColor(0xBFDBFF)
$hTool = _ToolTip_Create($AForm1)
_ToolTip_AddTool ($hTool, $AForm1, "右击", 0, 0, 0, 400, 300)
$icon = GUICtrlCreateIcon(@WindowsDir & "\cursors\stopwtch.ani", -1, 3, 3)
GUICtrlSetState(-1, $GUI_DISABLE)
$Rm = GUICtrlCreateContextMenu()
$title1 = GUICtrlCreateMenuItem("挖雷", $Rm)
GUICtrlSetOnEvent(-1, "walei")
GUICtrlCreateMenuItem("", $Rm)
$title2 = GUICtrlCreateMenuItem("纸牌", $Rm)
QGUICtrlSetOnEvent(-1, "zipai")
GUICtrlCreateMenuItem("", $Rm)
$title3 = GUICtrlCreateMenuItem("红心大战", $Rm)
GUICtrlSetOnEvent(-1, "hongxin")
GUICtrlCreateMenuItem("", $Rm)
$title3 = GUICtrlCreateMenuItem("连连看", $Rm)
GUICtrlSetOnEvent(-1, "flash")
GUICtrlCreateMenuItem("", $Rm)
$Help = GUICtrlCreateMenuItem("关于", $Rm)
GUICtrlSetOnEvent(-1, "about")
GUICtrlCreateMenuItem("", $Rm)
$exit = GUICtrlCreateMenuItem("退出", $Rm)
GUICtrlSetOnEvent(-1, "_exit")
GUISetState(@SW_SHOW, $AForm1)
GUIRegisterMsg($WM_NOTIFY, "_ToolTip_WM_NOTIFY")
WinSetOnTop($AForm1, "", 1)
WinSetTrans($AForm1, "", 200)
ToolTip("休息一下,右键休闲", @DesktopWidth-160, @DesktopHeight-460)
sleep(8000)
GUIDelete()
Exit
While 1
Sleep(100)
WEnd
Func _exit()
GUIDelete()
Exit
EndFunc   ;==>_exit
Func walei()
run("c:\windows\system32\winmine.exe")
GUIDelete()
Exit
EndFunc   ;==>walei
Func zipai()
run("c:\windows\system32\sol.exe")
GUIDelete()
Exit
EndFunc   ;==>zipai
Func hongxin()
run("c:\windows\system32\mshearts.exe")
GUIDelete()
Exit
EndFunc   ;==>walei
Func flash()
run("c:\windows\flash.exe")
(GUIDelete()
Exit
EndFunc   ;==>walei
Func about()
MsgBox(262144, "关于", "为打发恢复时无聊的等待时间," & @CRLF &"请右击上面的悬浮窗选择游戏。"& @CRLF [email=&@CRLF]&@CRLF[/email] & "    红苹果工作室出品")
EndFunc   ;==>about
Func Move()
Dim $PosDiff[2], $MousePos, $WinPos
$MousePos = MouseGetPos()
$WinPos = WinGetPos($title, "")
$PosDiff[0] = $WinPos[0] - $MousePos[0]
$PosDiff[1] = $WinPos[1] - $MousePos[1]
While _IsPressed("01", DllOpen("user32.dll"))
  $MousePos = MouseGetPos()
  WinMove($title, "", $MousePos[0] + $PosDiff[0], $MousePos[1] + $PosDiff[1])
Sleep(10)
WEnd
EndFunc   ;==>Move
Func _PRIMARYdown()
BMove()
$pos = MouseGetPos()
$guiPos = WinGetPos($AForm1, '')
If ($pos[0] >= $guiPos[0] And $pos[0] <= $guiPos[0] + $guiPos[2]) And _
   ($pos[1] >= $guiPos[1] And $pos[1] <= $guiPos[1] + $guiPos[3]) Then
   $n += 1
EndIf
EndFunc   ;==>_PRIMARYdown
Func _PRIMARYup()
If $n = 2 Then
   $n = 0
Else
  $start = TimerInit()
EndIf
EndFunc   ;==>_PRIMARYup
Func _WinIsVisible($hWnd, $Text="")
    Return BitAND(WinGetState($hWnd, $Text), 2)
EndFunc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-9 12:45:57 | 显示全部楼层
本帖最后由 kn007 于 2009-6-9 12:47 编辑

差了个叫  a3ltooltip.au3的文件?

把第10行去掉能行不,不行就要找到a3ltooltip.au3文件到D:\autoit3\Include
发表于 2009-6-9 12:46:07 | 显示全部楼层
少了头文件...
发表于 2009-6-9 12:51:02 | 显示全部楼层
不知a3ltooltip.au3与ToolTipConstants.au3相不相同,自己改下试试
发表于 2009-6-9 12:54:27 | 显示全部楼层
可能是因为版本问题。。。。。。文件名都不一样了,毕竟2007年的贴,你也拿来用
 楼主| 发表于 2009-6-9 15:30:27 | 显示全部楼层
本帖最后由 fyhwaijxnt78 于 2009-6-9 15:31 编辑

试了下没什么用,没解决!

希望高手来看看怎么处理下好!
发表于 2009-6-9 15:31:02 | 显示全部楼层
他出现什么错误啊?
发表于 2009-6-9 15:31:17 | 显示全部楼层
肯定不是同个错误了吧,上图来看看
发表于 2009-6-9 15:32:14 | 显示全部楼层
#include <A3LToolTip.au3>
替换为
#include <ToolTipConstants.au3>
不行?
发表于 2009-6-9 16:27:24 | 显示全部楼层
本帖最后由 lynfr8 于 2009-6-9 21:49 编辑

好像是2007年的旧库文件了,新库文件是没有的,网上也找不到了

给个新版本可以顺利执行的演示悬浮窗代码
当然,自己参照下上面那段代码也可以写出同样效果的
 
#Include <Misc.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $start
Global $n = 0
Global $pos
Global $clickspeed = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed")
Opt("GUIOnEventMode", 1)
$title = "mygui"
$title2="悬浮窗演示"
$AForm1 = GUICreate($title, 38, 38, 750, 100, BitOR($WS_SYSMENU, $WS_POPUP, $WS_POPUPWINDOW, $WS_BORDER), $WS_EX_TOOLWINDOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit", $AForm1)
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_PRIMARYdown', $AForm1)
GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_PRIMARYup', $AForm1)
GUISetBkColor(0xBFDBFF)
$icon = GUICtrlCreateIcon(@WindowsDir & "\cursors\horse.ani", -1, 3, 3)
GUICtrlSetState(-1, $GUI_DISABLE)

$Rm = GUICtrlCreateContextMenu()
$title3 = GUICtrlCreateMenuItem("打开/隐藏主窗口", $Rm)
GUICtrlSetOnEvent(-1, "showhidemain")
GUICtrlCreateMenuItem("", $Rm)
$Help = GUICtrlCreateMenuItem("关于", $Rm)
GUICtrlSetOnEvent(-1, "about")
GUICtrlCreateMenuItem("", $Rm)
$exit = GUICtrlCreateMenuItem("退出", $Rm)
GUICtrlSetOnEvent(-1, "_exit")

$AForm2 = GUICreate($title2, 400, 300, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "showhidemain", $AForm2)
$label1 = GUICtrlCreateLabel("这是主程序窗口", 50, 100)
GUISetState(@SW_SHOW, $AForm1)

WinSetOnTop($AForm1, "", 1)
WinSetTrans($AForm1, "", 200)
While 1
    Sleep(100)
WEnd

Func _exit()
    GUIDelete()
    Exit
EndFunc   ;==>_exit

Func about()
    MsgBox(262144, "关于:", "这是一个关于悬浮窗的演示程序。" & @CRLF & @CRLF & "     By Pcbar 2007.09.21")
EndFunc   ;==>about

Func Move()
    Dim $PosDiff[2], $MousePos, $WinPos
    $MousePos = MouseGetPos()
    $WinPos = WinGetPos($title, "")
    $PosDiff[0] = $WinPos[0] - $MousePos[0]
    $PosDiff[1] = $WinPos[1] - $MousePos[1]
    While _IsPressed("01", DllOpen("user32.dll"))
        $MousePos = MouseGetPos()
        WinMove($title, "", $MousePos[0] + $PosDiff[0], $MousePos[1] + $PosDiff[1])
        Sleep(10)
    WEnd
EndFunc   ;==>Move
Func _PRIMARYdown()
    Move()
    $pos = MouseGetPos()
    $guiPos = WinGetPos($AForm1, '')
    If ($pos[0] >= $guiPos[0] And $pos[0] <= $guiPos[0] + $guiPos[2]) And _
            ($pos[1] >= $guiPos[1] And $pos[1] <= $guiPos[1] + $guiPos[3]) Then
        $n += 1
        If $n = 2 And (TimerDiff($start) < $clickspeed) Then
            ShowHidemain()
        Else
            $start = TimerInit()
            $n = 1
        EndIf
    EndIf
EndFunc   ;==>_PRIMARYdown
Func _PRIMARYup()
    If $n = 2 Then
        $n = 0
    Else
        $start = TimerInit()
    EndIf
EndFunc   ;==>_PRIMARYup

Func ShowHidemain()
    If _WinIsVisible($AForm2) Then
        GUISetState(@SW_HIDE,$AForm2)
    Else
        GUISetState(@SW_SHOW,$AForm2)
        if BitAND(WinGetState($title2,""),16) then WinSetState($title2,"",@SW_RESTORE)
        WinActivate($AForm2)
    EndIf
EndFunc

Func _WinIsVisible($hWnd, $Text="")
    Return BitAND(WinGetState($hWnd, $Text), 2)
EndFunc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-6-9 19:53:23 | 显示全部楼层
#include
替换为
#include
不行?
kn007 发表于 2009-6-9 15:32

替换你哪个,这个错没有了!

但又来了这个错!你在帮看看,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-9 20:02:52 | 显示全部楼层
搞好一个,又错一个,叫原作者重写,那代码与现在的代码相差太多,重写最好。。。没法改
 楼主| 发表于 2009-6-9 20:03:46 | 显示全部楼层
本帖最后由 fyhwaijxnt78 于 2009-6-9 20:04 编辑

后来又下载过一个版低的3.0版试了下,以前的错没有,但是又有了这个错!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-9 20:04:13 | 显示全部楼层
2007年,现在是2009年了。。。。
 楼主| 发表于 2009-6-9 20:17:44 | 显示全部楼层
搞好一个,又错一个,叫原作者重写,那代码与现在的代码相差太多,重写最好。。。没法改
kn007 发表于 2009-6-9 20:02


给他留言,发信息都联系不上哪个版主!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 02:33 , Processed in 0.085199 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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