fyhwaijxnt78 发表于 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 &@CRLF & "    红苹果工作室出品")
EndFunc   ;==>about
Func Move()
Dim $PosDiff, $MousePos, $WinPos
$MousePos = MouseGetPos()
$WinPos = WinGetPos($title, "")
$PosDiff = $WinPos - $MousePos
$PosDiff = $WinPos - $MousePos
While _IsPressed("01", DllOpen("user32.dll"))
$MousePos = MouseGetPos()
WinMove($title, "", $MousePos + $PosDiff, $MousePos + $PosDiff)
Sleep(10)
WEnd
EndFunc   ;==>Move
Func _PRIMARYdown()
BMove()
$pos = MouseGetPos()
$guiPos = WinGetPos($AForm1, '')
If ($pos >= $guiPos And $pos <= $guiPos + $guiPos) And _
   ($pos >= $guiPos And $pos <= $guiPos + $guiPos) 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

kn007 发表于 2009-6-9 12:45:57

本帖最后由 kn007 于 2009-6-9 12:47 编辑

差了个叫a3ltooltip.au3的文件?

把第10行去掉能行不,不行就要找到a3ltooltip.au3文件到D:\autoit3\Include

lxz 发表于 2009-6-9 12:46:07

少了头文件...

kn007 发表于 2009-6-9 12:51:02

不知a3ltooltip.au3与ToolTipConstants.au3相不相同,自己改下试试

kn007 发表于 2009-6-9 12:54:27

可能是因为版本问题。。。。。。文件名都不一样了,毕竟2007年的贴,你也拿来用

fyhwaijxnt78 发表于 2009-6-9 15:30:27

本帖最后由 fyhwaijxnt78 于 2009-6-9 15:31 编辑

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

希望高手来看看怎么处理下好!

kn007 发表于 2009-6-9 15:31:02

他出现什么错误啊?

kn007 发表于 2009-6-9 15:31:17

肯定不是同个错误了吧,上图来看看

kn007 发表于 2009-6-9 15:32:14

#include <A3LToolTip.au3>
替换为
#include <ToolTipConstants.au3>
不行?

lynfr8 发表于 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, $MousePos, $WinPos
    $MousePos = MouseGetPos()
    $WinPos = WinGetPos($title, "")
    $PosDiff = $WinPos - $MousePos
    $PosDiff = $WinPos - $MousePos
    While _IsPressed("01", DllOpen("user32.dll"))
      $MousePos = MouseGetPos()
      WinMove($title, "", $MousePos + $PosDiff, $MousePos + $PosDiff)
      Sleep(10)
    WEnd
EndFunc   ;==>Move
Func _PRIMARYdown()
    Move()
    $pos = MouseGetPos()
    $guiPos = WinGetPos($AForm1, '')
    If ($pos >= $guiPos And $pos <= $guiPos + $guiPos) And _
            ($pos >= $guiPos And $pos <= $guiPos + $guiPos) 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

fyhwaijxnt78 发表于 2009-6-9 19:53:23

#include
替换为
#include
不行?
kn007 发表于 2009-6-9 15:32 http://www.autoitx.com/images/common/back.gif
替换你哪个,这个错没有了!

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

kn007 发表于 2009-6-9 20:02:52

搞好一个,又错一个,叫原作者重写,那代码与现在的代码相差太多,重写最好。。。没法改

fyhwaijxnt78 发表于 2009-6-9 20:03:46

本帖最后由 fyhwaijxnt78 于 2009-6-9 20:04 编辑

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

kn007 发表于 2009-6-9 20:04:13

2007年,现在是2009年了。。。。

fyhwaijxnt78 发表于 2009-6-9 20:17:44

搞好一个,又错一个,叫原作者重写,那代码与现在的代码相差太多,重写最好。。。没法改
kn007 发表于 2009-6-9 20:02 http://www.autoitx.com/images/common/back.gif

给他留言,发信息都联系不上哪个版主!
页: [1] 2 3
查看完整版本: 请问这个[调用游戏悬浮窗源码]哪里出了错,哪个帮修整下