顽固不化修改的悬浮窗,请能帮加个提示呀(鼠标移动到时悬浮窗有提示)!
本帖最后由 fyhwaijxnt78 于 2010-3-28 19:28 编辑这是顽固不化修改的悬浮窗
http://dvedit.5d6d.com/thread-8802-1-1.html
请能帮加个提示呀(鼠标移动到时悬浮窗有提示)!
还有就可以打开多个工具! 每次运行一个软件,想打开第二个软件,非要等第一个软件运行完或者关闭才可以!
谁能帮改成打开个工具的!
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#NoTrayIcon
Global $start
Global $n = 0
Global $pos
Global $clickspeed = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed")
$title2 = "双击了"
$AForm1 = GUICreate("", 38, 38, 600, 60, BitOR($WS_SYSMENU, $WS_POPUP, $WS_POPUPWINDOW, $WS_BORDER), $WS_EX_TOOLWINDOW)
GUISetBkColor(0xBFDBFF)
$icon = GUICtrlCreateIcon(@ScriptDir & "\Canon.ani", -1, 3, 3)
GUICtrlSetState(-1, $GUI_DISABLE)
$ContextMenu = GUICtrlCreateContextMenu()
Dim $JiaNMC, $i
$JiaNMC = IniReadSection(@ScriptDir & "\Canon.ini", "Name")
Dim $RunProAr[$JiaNMC + 1]
For $i = 1 To $JiaNMC
$RunProAr[$i] = GUICtrlCreateMenuItem($JiaNMC[$i], $ContextMenu)
Next
GUICtrlCreateMenuItem("", $ContextMenu)
$Help = GUICtrlCreateMenuItem("关于", $ContextMenu)
GUICtrlCreateMenuItem("", $ContextMenu)
$exit = GUICtrlCreateMenuItem("退出", $ContextMenu)
$AForm2 = GUICreate($title2, 200, 50, -1, -1)
$Label1 = GUICtrlCreateLabel("这是个双击后的进程...", 0, 18, 200, 13, $SS_CENTER)
GUISetState(@SW_SHOW, $AForm1)
WinSetOnTop($AForm1, "", 1)
WinSetTrans($AForm1, "", 200)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $RunProAr To $RunProAr[$JiaNMC]
_RunPro()
Case $GUI_EVENT_PRIMARYDOWN
_PRIMARYdown()
Case $Help
about()
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE, $AForm2)
Case $exit
Exit
EndSwitch
WEnd
Func about()
MsgBox(262144, "关于:", "这是一个关于悬浮窗的演示程序。" & @CRLF & @CRLF _
& " By Pcbar 2007.09.21" & @CRLF & " Modify By 顽固不化 2009.11.3")
EndFunc ;==>about
Func _RunPro()
For $i = 1 To $JiaNMC
If $RunProAr[$i] = $nMsg Then
ShellExecuteWait($JiaNMC[$i])
ExitLoop
EndIf
Next
EndFunc ;==>_RunPro
Func Move()
Dim $PosDiff, $MousePos, $WinPos
$MousePos = MouseGetPos()
$WinPos = WinGetPos($AForm1)
$PosDiff = $WinPos - $MousePos
$PosDiff = $WinPos - $MousePos
While _IsPressed("01", DllOpen("user32.dll"))
$MousePos = MouseGetPos()
WinMove($AForm1, "", $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
$n = 0
ShowHidemain()
Else
$start = TimerInit()
$n = 1
EndIf
EndIf
EndFunc ;==>_PRIMARYdown
Func ShowHidemain()
If _WinIsVisible($AForm2) Then
If BitAND(WinGetState($title2, ""), 16) Then WinSetState($title2, "", @SW_RESTORE)
WinActivate($AForm2)
Return
Else
GUISetState(@SW_SHOW, $AForm2)
EndIf
EndFunc ;==>ShowHidemain
Func _WinIsVisible($hWnd, $Text = "")
Return BitAND(WinGetState($hWnd, $Text), 2)
EndFunc ;==>_WinIsVisible GUICtrlSetTip 学习了呵呵 谢谢分享!顶一个!! 呵呵。老问题啦 :face (23): 谢谢了 到时候部署工具时可以用用 虽然我不能给你帮助
但是支持你 #include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#NoTrayIcon
Global $start
Global $n = 0
Global $pos
Global $clickspeed = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed")
$title2 = "双击了"
$AForm1 = GUICreate("", 38, 38, 600, 60, BitOR($WS_SYSMENU, $WS_POPUP, $WS_POPUPWINDOW, $WS_BORDER), $WS_EX_TOOLWINDOW)
GUISetBkColor(0xBFDBFF)
$icon = GUICtrlCreateIcon(@ScriptDir & "\Canon.ani", -1, 3, 3)
GUICtrlSetTip($icon,"asdfaa fdadsfafasdf addfdafdasdf");改动
;GUICtrlSetState(-1, $GUI_DISABLE);改动
$ContextMenu = GUICtrlCreateContextMenu($icon);改动
Dim $JiaNMC, $i
$JiaNMC = IniReadSection(@ScriptDir & "\Canon.ini", "Name")
Dim $RunProAr[$JiaNMC + 1]
For $i = 1 To $JiaNMC
$RunProAr[$i] = GUICtrlCreateMenuItem($JiaNMC[$i], $ContextMenu)
Next
GUICtrlCreateMenuItem("", $ContextMenu)
$Help = GUICtrlCreateMenuItem("关于", $ContextMenu)
GUICtrlCreateMenuItem("", $ContextMenu)
$exit = GUICtrlCreateMenuItem("退出", $ContextMenu)
$AForm2 = GUICreate($title2, 200, 50, -1, -1)
$Label1 = GUICtrlCreateLabel("这是个双击后的进程...", 0, 18, 200, 13, $SS_CENTER)
GUISetState(@SW_SHOW, $AForm1)
WinSetOnTop($AForm1, "", 1)
WinSetTrans($AForm1, "", 200)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $RunProAr To $RunProAr[$JiaNMC]
_RunPro()
Case $GUI_EVENT_PRIMARYDOWN
_PRIMARYdown()
Case $Help
about()
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE, $AForm2)
Case $exit
Exit
EndSwitch
WEnd
Func about()
MsgBox(262144, "关于:", "这是一个关于悬浮窗的演示程序。" & @CRLF & @CRLF _
& " By Pcbar 2007.09.21" & @CRLF & " Modify By 顽固不化 2009.11.3")
EndFunc ;==>about
Func _RunPro()
For $i = 1 To $JiaNMC
If $RunProAr[$i] = $nMsg Then
ShellExecute($JiaNMC[$i]);这里改了
ExitLoop
EndIf
Next
EndFunc ;==>_RunPro
Func Move()
Dim $PosDiff, $MousePos, $WinPos
$MousePos = MouseGetPos()
$WinPos = WinGetPos($AForm1)
$PosDiff = $WinPos - $MousePos
$PosDiff = $WinPos - $MousePos
While _IsPressed("01", DllOpen("user32.dll"))
$MousePos = MouseGetPos()
WinMove($AForm1, "", $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
$n = 0
ShowHidemain()
Else
$start = TimerInit()
$n = 1
EndIf
EndIf
EndFunc ;==>_PRIMARYdown
Func ShowHidemain()
If _WinIsVisible($AForm2) Then
If BitAND(WinGetState($title2, ""), 16) Then WinSetState($title2, "", @SW_RESTORE)
WinActivate($AForm2)
Return
Else
GUISetState(@SW_SHOW, $AForm2)
EndIf
EndFunc ;==>ShowHidemain
Func _WinIsVisible($hWnd, $Text = "")
Return BitAND(WinGetState($hWnd, $Text), 2)
EndFunc ;==>_WinIsVisible 谢谢分享!! 天天向上好好学习
!!! 太好了。。 学习了。。 :face (33): 太好了
以后可能用得上,谢谢! 不错啊,谢谢楼主分享!
页:
[1]
2