Hi,
Ja ich weiß es gibt dutzende Pingprogramme, trotzdem wollte ich nun mein eigenes Programm vorstellen, was ich mal aus Langeweile gemacht habe.
Da mir spontan kein Name einfiel, habe ich das Programm, so kreativ wie ich nunmal bin, Ping genannt.
Also das Programm nistet sich unten rechts über der Taskleiste an. Bei einer Taskleiste am linken oder rechten Rand weiß ich nicht wie es sich verhält.
So sieht es aus
Das Programm passt sich automatisch an die Auflösung (Position des Textes) und an das Hintergrundbild (Schriftfarbe) an.
Bei bestimmten Schriftfarben sieht die Schrift allerdings pixelig aus. Da weiß ich nicht, wie ich das beseitige.
Über einen Rechtsklick auf den Text kann das Programm geschlossen werden.
Download:
Das Programm ist in AutoIt geschrieben.
Standartmäßig wird www.google.de angepingt. Falls Nachfrage besteht, kann ich auch einbauen, dass man die Domain oder IP selbst bestimmen kann.
Source:
- #NoTrayIcon
- #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
- #AutoIt3Wrapper_icon=Ping.ico
- #AutoIt3Wrapper_UseUpx=n
- #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
- Opt("GUIOnEventMode", 1)
- #Region Declarations
- Dim $vDesktopWidth = -1, $vDesktopHeight = -1 ;do not change
- Dim $vGUIWidth = 0, $vGUIHeight = 0, $vGUILeft = -1, $vGUITop = -1 ;do not change
- Dim $vOldPixelColor
- Const $vTransPic = "0x47494638396101000100F700000000010000330000660000990000CC0000FF0033000033330033660033990033CC0033FF0066000066330066660066990066CC0066FF0099000099330099660099990099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF0000FF3300FF6600FF9900FFCC00FFFF3300003300333300663300993300CC3300FF3333003333333333663333993333CC3333FF3366003366333366663366993366CC3366FF3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC9933CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF6600006600336600666600996600CC6600FF6633006633336633666633996633CC6633FF6666006666336666666666996666CC6666FF6699006699336699666699996699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF3366FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF9933009933339933669933999933CC9933FF9966009966339966669966999966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC3399CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFFCC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFFCCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0000FF0033FF0066FF0099FF00CCFF00FFFF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33FFCC66FFCC99FFCCCCFFCCFFFFFF00FFFF33FFFF66FFFF99FFFFCCCCCCCC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021F90400000000002C000000000100010007080400010404003B"
- $vPingTo = "www.google.de"
- $vTextSize = 12
- $vTextWeight = 400 ;400 = default
- $vRefreshRate = 1000 ;in milliseconds
- $vAdjustmentRefreshRate = 500 ;in milliseconds
- #EndRegion
- ;height of taskbar to know where to place the GUI
- $vTaskBarPos = WinGetPos("[CLASS:Shell_TrayWnd]")
- If IsArray($vTaskBarPos) Then
- $vTaskBarHeight = $vTaskBarPos[3]
- Else
- $vTaskBarHeight = 40
- EndIf
- #region GUI
- $hGUI = GUICreate("", $vGUIWidth, $vGUIHeight, $vGUILeft, $vGUITop, 0x80000000, 0x00080000 + 0x00000080);$WS_POPUP;$WS_EX_LAYERED+$WS_EX_TOOLWINDOW
- GUISetBkColor(0x000001)
- $hGUIPing = GUICtrlCreateLabel("", 0, 0, $vGUIWidth, $vGUIHeight, 0x0002);right-aligned
- GUICtrlSetFont($hGUIPing, $vTextSize, $vTextWeight)
- $hMenu = GUICtrlCreateContextMenu($hGUIPing)
- $hMenuItemClose = GUICtrlCreateMenuItem("Close", $hMenu)
- GUICtrlSetOnEvent($hMenuItemClose, "_Exit")
- $vTransPicFile = _CreateFileFromBinary($vTransPic)
- $hGUITransPic = GUICtrlCreatePic($vTransPicFile, 0, 0, 1, 1)
- FileDelete($vTransPicFile)
- #EndRegion
- GUISetState()
- AdlibRegister("_CheckForChanges", $vAdjustmentRefreshRate)
- While Sleep($vRefreshRate)
- GUICtrlSetData($hGUIPing, Ping($vPingTo))
- WEnd
- #Region Functions
- ;Checks if resolution or color of background changed
- Func _CheckForChanges()
- ;Resolution
- If $vDesktopWidth <> @DesktopWidth Or $vDesktopHeight <> @DesktopHeight Then
- $vDesktopWidth = @DesktopWidth
- $vDesktopHeight = @DesktopHeight
- $vGUILeft = $vDesktopWidth - 4 * $vTextSize - 10
- $vGUITop = $vDesktopHeight - $vTaskBarHeight - 2 * $vTextSize
- $vGUIWidth = 4 * $vTextSize
- $vGUIHeight = 2 * $vTextSize
- WinMove($hGUI, "", $vGUILeft, $vGUITop, $vGUIWidth, $vGUIHeight)
- ControlMove($hGUI, "", $hGUIPing, 0, 0, $vGUIWidth, $vGUIHeight)
- EndIf
- ;Color
- $vNewPixelColor = PixelGetColor($vGUILeft + $vGUIWidth, $vGUITop - 1)
- If $vNewPixelColor <> $vOldPixelColor Then
- GUICtrlSetColor($hGUIPing, 0xFFFFFF-$vNewPixelColor)
- $vOldPixelColor = $vNewPixelColor
- EndIf
- EndFunc
- Func _CreateFileFromBinary($v_BinaryString, $v_FileExtension = "gif") ;creates a file from a binarystring
- $h_File = FileOpen(@TempDir & "\_File." & $v_FileExtension, BitOR(2, 16))
- FileWrite($h_File, Binary($v_BinaryString))
- FileClose($h_File)
- Return @TempDir & "\_File." & $v_FileExtension
- EndFunc
- Func _Exit()
- Exit
- EndFunc
- #EndRegion
[db]26[/db]
Bekannte Fehler:
- Manchmal pixeliger Text
- Bei meinem Bruder hat das Programm dafür gesorgt, dass der PC über Nacht eingefroren ist (bei mir passiert das nicht). Also wenn jemand solche Erfahrungen macht, über Nacht ausschalten.
PS: Das Icon habe ich mit Photoshop gemalt =)