Coding
Ionic – Fast Start
Table of Contents
Install Ionic
You have to Install nodejs first! To use “npm”
npm -version // Check npm Version
node --version // Check node Version
Then run in console as ADMIN
npm install -g @ionic/cli // install ionic global on your system
npm uninstall -g ionic // try this if it didn't work
npm install -g @ionic/cli
First Ionic App
ionic start myApp tabs
cd myApp // navigate to dir
ionic serve // start webserver
Add new componets
ionic g // with console inputs
ionic g page "NAME_PAGE" // Direct
Deploy for Android
ionic build // build if never built
ionic cap add android // add android support if not added while start
ionic cap copy // Builds and Copy Web Assets to Capacitor native platform
ionic cap sync // update Project Data
ionic cap open android // opens Project in Android Studio
Debug
adb devices //checks android device connection
AutoIt- Pinger
Table of Contents
Description
Little Ping Overlay
Downloads
When you Download the Pinger.exe – Windows will tell you the Program is a Trojan. Just compile it yourself with SciTe if you don’t trust.
INFO LINKS
Code
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=ico_apM_icon.ico
#AutoIt3Wrapper_Res_Description=Pinging tool
#AutoIt3Wrapper_Res_Fileversion=0.0.0.7
#AutoIt3Wrapper_Res_ProductVersion=0.0.0.7
#AutoIt3Wrapper_Res_CompanyName=4Wobi
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------------------------
Program: Ping-Overlay
Author: Wobi
Date: 12.06.2021
Version: 0.0.0.7
Copyright (C) 2021 4Wobi.com - All rights reserved.
UPDATE: LOG System
PING Adresses Selection
#ce ----------------------------------------------------------------------------------------------
#include-once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
Opt('MustDeclareVars', 1)
Opt("TrayOnEventMode", 0)
Opt("TrayMenuMode", 3)
Opt("TrayAutoPause", 0)
TraySetIcon("ico_apM_icon.ico")
TraySetClick(16)
#Region ### ------ Global Variable ------ ###
Global $VERSION = "0.0.0.7"
Global $VDate = "15.06.2021"
Dim Const $logpath = @ScriptDir & "\log\" & _NowDate() & ".log"
Dim Const $settingspath = @ScriptDir & "\config\" & "settings.ini"
Global $is_minimized = 0
Global $SleepTime = 1000
Global $ActualTime = TimerInit()
Global $DiffTime
Global $StartPing = 0
Global $gSleep = 1
Global $maxping = 1000
Global $GUI_cor_PingOverlayW = 71
Global $GUI_cor_PingOverlayH = 38
Global $ZeroPing = 0
Global $ZeroPingMin = 9
Global $ZeroPingMax = 10
Global $DebugGuiState = 0
Global $is_overlayd
; Create custom (4 x 5) color palette
Dim $aPalette[20] = _
[0xFFFFFF, 0x000000, 0xC0C0C0, 0x808080, _
0xFF0000, 0x800000, 0xFFFF00, 0x808000, _
0x00FF00, 0x008000, 0x00FFFF, 0x008080, _
0x0000FF, 0x000080, 0xFF00FF, 0x800080, _
0xC0DCC0, 0xA6CAF0, 0xFFFBF0, 0xA0A0A4]
#EndRegion ### ------ Global Variable ------ ###
#Region ### Folders ###
If FileExists(@ScriptDir & "\log") Then
Else
DirCreate(@ScriptDir & "\log")
EndIf
If FileExists(@ScriptDir & "\config") Then
Else
DirCreate(@ScriptDir & "\config")
EndIf
#EndRegion ### Folders ###
#Region ### Load_File ###
; Create Variable
Global $pingVal = 500
Global $DebugState = 0
Global $pingadress = "8.8.8.8"
Global $PingOverlayOffsetX = 50
Global $PingOverlayOffsetY = $PingOverlayOffsetX
Global $PingOVerlayColorTrans = 0x009DE7
Global $OverlayLabelColor = 0xFFFF00
Global $PingBGColor = 0x000000
Global $OverlayPingLabelLow = 0xFF0000
Global $SavePingtoFile = 0
Global $Debug_AutoScoll = 1
Global $pingTransVal = 255
Global $pingPos = 0
Global $OverlayActive = 1
Global $OVerlayBgActive = 0
Global $PingFont = "Rubik"
loadSettings()
#EndRegion ### Load_File ###
#Region ### ------ GUI ------ ###
Global $GUI_f_Pinger = GUICreate("4Wobi - Pinger", 256, 178, 317, 231)
Global $GUI_smi_Program = GUICtrlCreateMenu("&Program")
Global $GUI_smi_Start = GUICtrlCreateMenuItem("Start" & @TAB & "F5", $GUI_smi_Program)
Global $GUI_smi_Stop = GUICtrlCreateMenuItem("&Stop" & @TAB & "F6", $GUI_smi_Program)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $GUI_smi_Save = GUICtrlCreateMenuItem("Save Settings", $GUI_smi_Program)
Global $GUI_smi_ = GUICtrlCreateMenuItem("", $GUI_smi_Program)
Global $GUI_smi_Exit = GUICtrlCreateMenuItem("&Exit", $GUI_smi_Program)
Global $GUI_smi_Options = GUICtrlCreateMenu("&Options")
Global $GUI_smi_AlwaysOnTop = GUICtrlCreateMenuItem("&AlwaysOnTop", $GUI_smi_Options)
Global $GUI_smi_Debug = GUICtrlCreateMenuItem("Debug", $GUI_smi_Options)
Global $GUI_smi_Help = GUICtrlCreateMenu("&Help")
Global $GUI_smi_HelpSub = GUICtrlCreateMenuItem("Help" & @TAB & "F1", $GUI_smi_Help)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $GUI_smi_About = GUICtrlCreateMenuItem("&About", $GUI_smi_Help)
Global $GUI_smi_Update = GUICtrlCreateMenuItem("&Update", $GUI_smi_Help)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $GUI_sb = _GUICtrlStatusBar_Create($GUI_f_Pinger, -1, "", -1, $WS_EX_STATICEDGE)
Global $aParts[] = [55, 135, 190, 250]
_GUICtrlStatusBar_SetParts($GUI_sb, $aParts)
_GUICtrlStatusBar_SetText($GUI_sb, "Status", 0)
_GUICtrlStatusBar_SetText($GUI_sb, "Ping", 1)
_GUICtrlStatusBar_SetText($GUI_sb, "ErrorMsg", 2)
_GUICtrlStatusBar_SetText($GUI_sb, "", 3)
Global $GUI_t_MainTab = GUICtrlCreateTab(0, 0, 249, 137)
Global $GUI_ts_Ping = GUICtrlCreateTabItem("Ping")
Global $GUI_g_Ping = GUICtrlCreateGroup("Ping", 4, 25, 241, 106)
Global $GUI_i_Delay = GUICtrlCreateInput($pingVal, 52, 49, 106, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
Global $GUI_l_Delay = GUICtrlCreateLabel("Delay", 12, 51, 31, 17)
Global $GUI_cb_SavePingToFile = GUICtrlCreateCheckbox("Save Data", 160, 49, 80, 17)
Global $GUI_l_Adress = GUICtrlCreateLabel("Adress", 12, 75, 36, 17)
Global $GUI_i_Adress = GUICtrlCreateInput("8.8.8.8", 52, 73, 106, 21)
Global $GUI_comb_Address = GUICtrlCreateCombo("Default", 52, 97, 106, 21, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Dead by Daylight|Costum")
Global $GUI_b_Edit = GUICtrlCreateButton("Edit", 170, 97, 59, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $GUI_ts_Overlay = GUICtrlCreateTabItem("Overlay")
Global $GUI_g_Overlay = GUICtrlCreateGroup("Overlay", 4, 25, 241, 105)
Global $GUI_cb_Overlay = GUICtrlCreateCheckbox("Overlay", 10, 40, 57, 17)
Global $GUI_cb_OverlayBG = GUICtrlCreateCheckbox("Background", 68, 40, 80, 17)
Global $GUI_rb_TopLeft = GUICtrlCreateRadio("TopLeft", 12, 94, 57, 17)
Global $GUI_rb_TopRight = GUICtrlCreateRadio("TopRight", 84, 94, 65, 17)
Global $GUI_rb_BottomLeft = GUICtrlCreateRadio("BottomLeft", 12, 110, 65, 17)
Global $GUI_rb_BottomRight = GUICtrlCreateRadio("BottomRight", 84, 110, 73, 17)
Global $GUI_l_OverlayOffSetX = GUICtrlCreateLabel("X", 190, 40, 11, 17)
Global $GUI_l_OverlayOffSetY = GUICtrlCreateLabel("Y", 190, 64, 11, 17)
Global $GUI_i_OverlayOffSetX = GUICtrlCreateInput($PingOverlayOffsetX, 205, 40, 33, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
Global $GUI_i_OverlayOffSetY = GUICtrlCreateInput($PingOverlayOffsetY, 205, 64, 33, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
; Create Picker2 with custom color palette
Global $GUI_cp_PingLabel = _GUIColorPicker_Create('', 10, 60, 50, 23, $OverlayLabelColor, BitOR($CP_FLAG_CHOOSERBUTTON, $CP_FLAG_ARROWSTYLE, $CP_FLAG_MOUSEWHEEL), $aPalette, 4, 5, 0, '', 'More...')
Global $GUI_cp_PingBG = _GUIColorPicker_Create('', 75, 60, 50, 23, $PingBGColor, BitOR($CP_FLAG_CHOOSERBUTTON, $CP_FLAG_ARROWSTYLE, $CP_FLAG_MOUSEWHEEL), $aPalette, 4, 5, 0, '', 'More...')
Global $GUI_s_OverlayTP = GUICtrlCreateSlider(168, 96, 70, 29, BitOR($GUI_SS_DEFAULT_SLIDER, $TBS_NOTICKS))
GUICtrlSetLimit(-1, 255, 0)
GUICtrlSetData(-1, $pingTransVal)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")
Dim $GUI_f_Pinger_AccelTable[3][2] = [["{F5}", $GUI_smi_Start], ["{F6}", $GUI_smi_Stop], ["{F1}", $GUI_smi_HelpSub]]
GUISetAccelerators($GUI_f_Pinger_AccelTable)
If $DebugState = 1 Then
$DebugGuiState = 1
Global $GUI_ts_Debug = GUICtrlCreateTabItem("Debug")
Global $GUI_g_Overlay = GUICtrlCreateGroup("Debug", 4, 25, 241, 105)
Local $aTabs[4] = [3, 33, 43, 65] ;Tabs in list
Global $GUI_list_Debug = GUICtrlCreateList("", 10, 40, 228, 90, BitOR($WS_BORDER, $WS_VSCROLL, $LBS_USETABSTOPS))
GUICtrlSetLimit($GUI_list_Debug, 5)
_GUICtrlListBox_SetTabStops($GUI_list_Debug, $aTabs)
_GUICtrlListBox_BeginUpdate($GUI_list_Debug)
_GUICtrlListBox_InsertString($GUI_list_Debug, "Time" & @TAB & " - " & @TAB & "Message")
_GUICtrlListBox_EndUpdate($GUI_list_Debug)
EndIf
GUISetState(@SW_SHOW)
#EndRegion ### ------ GUI ------ ###
#Region ### ------ PingGUI ------ ###
Global $PingOverlay = GUICreate("4Wobi-PingerOverlay", $GUI_cor_PingOverlayW, $GUI_cor_PingOverlayH, 0, 0, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOOLWINDOW)
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, 0 + $PingOverlayOffsetY)
GUISetBkColor($PingOVerlayColorTrans)
_WinAPI_SetLayeredWindowAttributes($PingOverlay, $PingOVerlayColorTrans, 255) ; Bildhintergrund transparent machen.
WinSetOnTop($PingOverlay, "", $WINDOWS_ONTOP)
Global $GUI_l_PingOverlay = GUICtrlCreateLabel("Ping", 0, 0, 71, 42, $SS_CENTER)
GUICtrlSetFont(-1, 25, 700, 0, $PingFont)
GUICtrlSetColor(-1, $OverlayLabelColor)
;GUISetState(@SW_HIDE, $PingOverlay)
GUISetState(@SW_SHOW, $PingOverlay)
#EndRegion ### ------ PingGUI ------ ###
Global $Tray_mi_OpenClose = TrayCreateItem("Open/Close")
Global $Tray_m_Overlay = TrayCreateMenu("Overlay")
Global $Tray_mi_HideShowOverlay = TrayCreateItem("Hide/Show", $Tray_m_Overlay)
Global $Tray_mi_StartStopOverlay = TrayCreateItem("Start/Stop", $Tray_m_Overlay)
TrayCreateItem("")
Global $Tray_mi_Exit = TrayCreateItem("Exit")
TraySetState($TRAY_ICONSTATE_SHOW)
TraySetToolTip("4Wobi - Pinger")
setGUI()
While 1
Sleep($gSleep)
Local $nMsg = GUIGetMsg()
If $nMsg <> 0 Then
If $nMsg <> -11 Then
debug("$nMsg:" & $nMsg)
EndIf
EndIf
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE, $GUI_f_Pinger)
$is_minimized = 1
debug("$is_minimized: " & $is_minimized)
Case $GUI_smi_Exit
Exit
Case $GUI_smi_Start
StartPing()
Case $GUI_smi_Stop
StopPing()
Case $GUI_smi_Save
saveSettings()
Case $GUI_smi_AlwaysOnTop
AoT()
Case $GUI_smi_Debug
DebugTab()
Case $GUI_smi_HelpSub
ShellExecute(@ScriptDir & "\4Wobi-Pinger.chm")
Case $GUI_i_Delay
$pingVal = GUICtrlRead($GUI_i_Delay)
debug("$GUI_i_Delay: " & GUICtrlRead($GUI_i_Delay))
Case $GUI_i_Adress
InputAddress()
Case $GUI_comb_Address
debug("$GUI_comb_Address: " & GUICtrlRead($GUI_comb_Address))
AddressComb()
Case $GUI_cp_PingLabel
$OverlayLabelColor = _GUIColorPicker_GetColor($GUI_cp_PingLabel)
GUICtrlSetColor($GUI_l_PingOverlay, $OverlayLabelColor)
Case $GUI_cp_PingBG
$PingBGColor = _GUIColorPicker_GetColor($GUI_cp_PingBG)
If GUICtrlRead($GUI_cb_OverlayBG) = 1 Then
GUISetBkColor($PingBGColor, $PingOverlay)
EndIf
Case $GUI_smi_About
AboutFunc()
Case $GUI_cb_SavePingToFile
Switch GUICtrlRead($GUI_cb_SavePingToFile)
Case 1
$SavePingtoFile = 1
Case 4
$SavePingtoFile = 0
EndSwitch
Case $GUI_s_OverlayTP
_WinAPI_SetLayeredWindowAttributes($PingOverlay, $PingOVerlayColorTrans, GUICtrlRead($GUI_s_OverlayTP))
$pingTransVal = GUICtrlRead($GUI_s_OverlayTP)
debug(GUICtrlRead($GUI_s_OverlayTP))
Case $GUI_rb_TopLeft
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, 0 + $PingOverlayOffsetY)
Case $GUI_rb_TopRight
WinMove($PingOverlay, "", @DesktopWidth - $PingOverlayOffsetX - $GUI_cor_PingOverlayW, 0 + $PingOverlayOffsetY)
Case $GUI_rb_BottomLeft
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, @DesktopHeight - $PingOverlayOffsetY - $GUI_cor_PingOverlayH)
Case $GUI_rb_BottomRight
WinMove($PingOverlay, "", @DesktopWidth - $PingOverlayOffsetX - $GUI_cor_PingOverlayW, @DesktopHeight - $PingOverlayOffsetY - $GUI_cor_PingOverlayH)
Case $GUI_cb_Overlay
Switch GUICtrlRead($GUI_cb_Overlay)
Case 1
GUISetState(@SW_SHOW, $PingOverlay)
$is_overlayd = 0
$OverlayActive = 1
Case 4
GUISetState(@SW_HIDE, $PingOverlay)
$is_overlayd = 1
$OverlayActive = 0
EndSwitch
Case $GUI_cb_OverlayBG
Switch GUICtrlRead($GUI_cb_OverlayBG)
Case 1
GUISetBkColor($PingBGColor, $PingOverlay)
$OVerlayBgActive = 1
Case 4
GUISetBkColor($PingOVerlayColorTrans, $PingOverlay)
$OVerlayBgActive = 0
EndSwitch
Case $GUI_i_OverlayOffSetX
OverlayOffset()
Case $GUI_i_OverlayOffSetY
OverlayOffset()
EndSwitch
$nMsg = TrayGetMsg()
Switch $nMsg
Case $TRAY_EVENT_PRIMARYUP
ToggleTray()
Case $Tray_mi_Exit
Exit
Case $Tray_mi_OpenClose
ToggleTray()
Case $Tray_mi_HideShowOverlay
ToggleOverlay()
Case $Tray_mi_StartStopOverlay
Switch $StartPing
Case 0
StartPing()
Case 1
StopPing()
EndSwitch
EndSwitch
If $StartPing = 1 Then
UDF_Ping()
EndIf
WEnd
Func StartPing()
$StartPing = 1 ;TurnOnPingUDF
GUICtrlSetState($GUI_smi_Start, $GUI_DISABLE)
GUICtrlSetState($GUI_smi_Stop, $GUI_ENABLE)
_GUICtrlStatusBar_SetText($GUI_sb, "Running", 0) ;ChangeStatusBar(0) to Running
_GUICtrlStatusBar_SetText($GUI_sb, "", 2)
debug("$StartPing: " & $StartPing)
EndFunc ;==>StartPing
Func StopPing()
$StartPing = 0 ;TurnOffPingUDF
GUICtrlSetState($GUI_smi_Stop, $GUI_DISABLE)
GUICtrlSetState($GUI_smi_Start, $GUI_ENABLE)
_GUICtrlStatusBar_SetText($GUI_sb, "Stoped", 0) ;ChangeStatusBar(0) to Stoped(0)
_GUICtrlStatusBar_SetText($GUI_sb, "Ping", 1) ;ChangeStatusBar(1) RemovePing
GUICtrlSetData($GUI_l_PingOverlay, "Stop") ;ChangeStateOverlay Stop
TraySetToolTip("4Wobi - Pinger: Stoped")
debug("$StartPing: " & $StartPing)
EndFunc ;==>StopPing
Func UDF_Ping()
If $ZeroPing >= $ZeroPingMin And $ZeroPing < $ZeroPingMax Then
$SleepTime = 1000 * $ZeroPing
ElseIf $ZeroPing >= $ZeroPingMax Then
$SleepTime = 1000 * $ZeroPingMax
Else
$SleepTime = (GUICtrlRead($GUI_i_Delay) + 10)
EndIf
$DiffTime = TimerDiff($ActualTime)
If $DiffTime > $SleepTime Then
$ActualTime = TimerInit()
If _IsInternetConnected() = True Then
debug("IsInternet=TRUE")
Else
debug("IsInternet=FALSE")
EndIf
Local $ping = Ping($pingadress, ($GUI_i_Delay))
If $ping Then
debug("Pinging: " & $ping)
_GUICtrlStatusBar_SetText($GUI_sb, "", 2)
Else
Local $pingerror = @error
debug("PingErrorCode: " & @error)
If $pingerror = 1 Then
_GUICtrlStatusBar_SetText($GUI_sb, "Error 1", 1)
StopPing()
Return
ElseIf $pingerror = 2 Then
_GUICtrlStatusBar_SetText($GUI_sb, "Error 2", 2)
ElseIf $pingerror = 3 Then
_GUICtrlStatusBar_SetText($GUI_sb, "Error 3", 2)
StopPing()
Return
ElseIf $pingerror = 4 Then
_GUICtrlStatusBar_SetText($GUI_sb, "Error 4", 2)
StopPing()
MsgBox(48 + 4096, "Error 4", "Please Check Your Ping - Address!", 0, $GUI_f_Pinger)
GUICtrlSetBkColor($GUI_i_Adress, 0xFF0000)
Return
EndIf
EndIf
If $ping = 0 Then
$ZeroPing += 1
Else
$ZeroPing = 0
EndIf
If $ZeroPing >= $ZeroPingMin And $ZeroPing < $ZeroPingMax Then
debug("$ZeroPing: " & $ZeroPing)
_GUICtrlStatusBar_SetText($GUI_sb, $ZeroPing & "s", 3)
GUICtrlSetFont(-1, 25, 700, 8, "MS Sans Serif")
ElseIf $ZeroPing >= 30 Then
debug("$ZeroPing: " & $ZeroPing)
_GUICtrlStatusBar_SetText($GUI_sb, "30s", 3)
GUICtrlSetFont(-1, 25, 700, 8, "MS Sans Serif")
Else
_GUICtrlStatusBar_SetText($GUI_sb, "", 3)
GUICtrlSetFont(-1, 25, 700, 0, "MS Sans Serif")
EndIf
GUICtrlSetData($GUI_l_PingOverlay, $ping)
If $ping < 1 Then
GUICtrlSetColor($GUI_l_PingOverlay, $OverlayPingLabelLow)
Else
GUICtrlSetColor($GUI_l_PingOverlay, $OverlayLabelColor)
EndIf
_GUICtrlStatusBar_SetText($GUI_sb, "Ping " & $ping & "ms", 1)
TraySetToolTip("4Wobi - Pinger: " & $ping & "ms")
If $SavePingtoFile = 1 Then
Local $message = _Now() & @TAB & $pingadress & @TAB & $ping
FileWriteLine($logpath, $message)
debug("Save to File: " & @TAB & $logpath & @CRLF & @TAB & @TAB & @TAB & "msg:" & $message)
EndIf
EndIf
EndFunc ;==>UDF_Ping
Func SavePingToFile()
EndFunc
Func InputAddress()
$pingadress = GUICtrlRead($GUI_i_Adress)
GUICtrlSetBkColor($GUI_i_Adress, 0xFFFFFF)
GUICtrlSetData($GUI_comb_Address, "Costum")
EndFunc ;==>InputAddress
Func OverlayOffset()
$PingOverlayOffsetX = GUICtrlRead($GUI_i_OverlayOffSetX)
$PingOverlayOffsetY = GUICtrlRead($GUI_i_OverlayOffSetY)
If GUICtrlRead($GUI_rb_TopLeft) = $GUI_CHECKED Then
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, 0 + $PingOverlayOffsetY)
ElseIf GUICtrlRead($GUI_rb_TopRight) = $GUI_CHECKED Then
WinMove($PingOverlay, "", @DesktopWidth - $PingOverlayOffsetX - $GUI_cor_PingOverlayW, 0 + $PingOverlayOffsetY)
ElseIf GUICtrlRead($GUI_rb_BottomLeft) = $GUI_CHECKED Then
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, @DesktopHeight - $PingOverlayOffsetY - $GUI_cor_PingOverlayH)
ElseIf GUICtrlRead($GUI_rb_BottomRight) = $GUI_CHECKED Then
WinMove($PingOverlay, "", @DesktopWidth - $PingOverlayOffsetX - $GUI_cor_PingOverlayW, @DesktopHeight - $PingOverlayOffsetY - $GUI_cor_PingOverlayH)
Else
EndIf
debug("$PingOverlayOffsetX: " & $PingOverlayOffsetX & @CRLF & "$PingOverlayOffsetX: " & $PingOverlayOffsetY)
EndFunc ;==>OverlayOffset
Func AoT()
If BitAND(GUICtrlRead($GUI_smi_AlwaysOnTop), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($GUI_smi_AlwaysOnTop, $GUI_UNCHECKED)
WinSetOnTop($GUI_f_Pinger, "", $WINDOWS_NOONTOP)
Else
GUICtrlSetState($GUI_smi_AlwaysOnTop, $GUI_CHECKED)
WinSetOnTop($GUI_f_Pinger, "", $WINDOWS_ONTOP)
EndIf
debug("$GUI_smi_AlwaysOnTop: " & GUICtrlRead($GUI_smi_AlwaysOnTop))
EndFunc ;==>AoT
Func DebugTab()
If BitAND(GUICtrlRead($GUI_smi_Debug), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($GUI_smi_Debug, $GUI_UNCHECKED)
$DebugState = 0
Else
GUICtrlSetState($GUI_smi_Debug, $GUI_CHECKED)
$DebugState = 1
EndIf
debug("$DebugState: " & $DebugState)
EndFunc ;==>DebugTab
Func AddressComb()
Local $string = GUICtrlRead($GUI_comb_Address)
If $string = "Dead by Daylight" Then
GUICtrlSetData($GUI_i_Adress, "steam.live.bhvrdbd.com")
$pingadress = GUICtrlRead($GUI_i_Adress)
Else
GUICtrlSetData($GUI_i_Adress, "8.8.8.8")
$pingadress = GUICtrlRead($GUI_i_Adress)
EndIf
debug("AddressComb(): " & $string)
EndFunc ;==>AddressComb
Func ToggleOverlay()
If $is_overlayd = 1 Then
GUISetState(@SW_SHOW, $PingOverlay)
GUICtrlSetState($GUI_cb_Overlay, $GUI_CHECKED)
$is_overlayd = 0
Else
GUISetState(@SW_HIDE, $PingOverlay)
GUICtrlSetState($GUI_cb_Overlay, $GUI_UNCHECKED)
$is_overlayd = 1
EndIf
EndFunc ;==>ToggleOverlay
Func ToggleTray()
If $is_minimized = 1 Then
GUISetState(@SW_SHOW, $GUI_f_Pinger)
$is_minimized = 0
Else
GUISetState(@SW_HIDE, $GUI_f_Pinger)
$is_minimized = 1
EndIf
debug("$is_minimized: " & $is_minimized)
EndFunc ;==>ToggleTray
Func AboutFunc()
GUISetState(@SW_DISABLE, $GUI_f_Pinger)
GUICtrlSetData($GUI_l_PingOverlay, "---")
Local $GUI_f_About = GUICreate('About', 322, 194, -1, -1, BitXOR($GUI_SS_DEFAULT_GUI, $WS_MINIMIZEBOX), BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE), WinGetHandle(AutoItWinGetTitle()))
Local $GUI_g_About = GUICtrlCreateGroup("", 8, 8, 305, 145)
Local $GUI_im_Image = GUICtrlCreatePic("", 16, 24, 105, 97)
Local $GUI_l_ProductName = GUICtrlCreateLabel("Pinger Tool", 128, 24, 72, 17)
Local $GUI_l_Version = GUICtrlCreateLabel("Version: " & $VERSION, 128, 64, 100, 17)
Local $GUI_l_Version = GUICtrlCreateLabel("Date: " & $VDate, 128, 84, 100, 17)
Local $GUI_l_Copyright = GUICtrlCreateLabel("by 4Wobi", 16, 128, 48, 17)
Local $GUI_g_Buttons = GUICtrlCreateGroup("", 232, 8, 81, 81)
Local $GUI_b_Donate = GUICtrlCreateButton("Donate", 232, 16, 75, 25)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $GUI_b_Website = GUICtrlCreateButton("Website", 232, 40, 75, 25)
Local $GUI_b_Forum = GUICtrlCreateButton("Forum", 232, 64, 75, 25)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Local $GUI_b_AboutOK = GUICtrlCreateButton("&OK", 236, 160, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
If $nMsg <> 0 Then
If $nMsg <> -11 Then
debug("$nMsg:" & $nMsg)
EndIf
EndIf
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($GUI_f_About)
ExitLoop
Case $GUI_b_AboutOK
GUIDelete($GUI_f_About)
ExitLoop
Case $GUI_b_Website
ShellExecute("https://4wobi.com/pinger")
Case $GUI_b_Forum
Case $GUI_b_Donate
EndSwitch
WEnd
GUISetState(@SW_ENABLE, $GUI_f_Pinger)
WinActivate($GUI_f_Pinger)
If $StartPing = 0 Then
GUICtrlSetData($GUI_l_PingOverlay, "Ping")
EndIf
EndFunc ;==>AboutFunc
Func checkSettings()
;If Not Exist Create Settings.ini File
If Not FileExists($settingspath) Then
IniWrite($settingspath, "OVERLAY", "OverlayOn", "1")
IniWrite($settingspath, "OVERLAY", "BackgroundOn", "0")
IniWrite($settingspath, "OVERLAY", "ColorText", "0xFFFF00")
IniWrite($settingspath, "OVERLAY", "ColorBackground", "0x000000")
IniWrite($settingspath, "OVERLAY", "OffsetX", "50")
IniWrite($settingspath, "OVERLAY", "OffsetY", "50")
IniWrite($settingspath, "OVERLAY", "Position", "0")
IniWrite($settingspath, "OVERLAY", "Transparency", "255")
IniWrite($settingspath, "OVERLAY", "Font", "Rubik")
IniWrite($settingspath, "PING", "Delay", "500")
IniWrite($settingspath, "PING", "Adress", "8.8.8.8")
IniWrite($settingspath, "PING", "SaveData", "0")
IniWrite($settingspath, "DEBUG", "Debug", "0")
IniWrite($settingspath, "DEBUG", "DebugAutoScroll", "1")
EndIf
EndFunc ;==>checkSettings
Func saveSettings()
; Check File
checkSettings()
; Save To File
; OVERLAY
IniWrite($settingspath, "OVERLAY", "OverlayOn", $OverlayActive)
IniWrite($settingspath, "OVERLAY", "BackgroundOn", $OVerlayBgActive)
IniWrite($settingspath, "OVERLAY", "ColorText", String($OverlayLabelColor))
IniWrite($settingspath, "OVERLAY", "ColorBackground", String($PingBGColor))
IniWrite($settingspath, "OVERLAY", "OffsetX", $PingOverlayOffsetX)
IniWrite($settingspath, "OVERLAY", "OffsetY", $PingOverlayOffsetY)
IniWrite($settingspath, "OVERLAY", "Position", evalOverlayPos())
IniWrite($settingspath, "OVERLAY", "Transparency", $pingTransVal)
IniWrite($settingspath, "OVERLAY", "Font", $PingFont)
; PING
IniWrite($settingspath, "PING", "Delay", $pingVal)
IniWrite($settingspath, "PING", "Adress", $pingadress)
IniWrite($settingspath, "PING", "SaveData", $SavePingtoFile)
; DEBUG
IniWrite($settingspath, "DEBUG", "Debug", $DebugState)
IniWrite($settingspath, "DEBUG", "DebugAutoScroll", $Debug_AutoScoll)
EndFunc ;==>saveSettings
Func loadSettings()
; Check File
checkSettings()
; Set Variable ;READ FILE
; OVERLAY
$OverlayActive = IniRead($settingspath, "OVERLAY", "OverlayOn", "1")
$OVerlayBgActive = IniRead($settingspath, "OVERLAY", "BackgroundOn", "0")
$OverlayLabelColor = IniRead($settingspath, "OVERLAY", "ColorText", "0xFFFF00")
$PingBGColor = IniRead($settingspath, "OVERLAY", "ColorBackground", "0x000000")
$PingOverlayOffsetX = IniRead($settingspath, "OVERLAY", "OffsetX", "50")
$PingOverlayOffsetY = IniRead($settingspath, "OVERLAY", "OffsetY", "50")
$pingPos = IniRead($settingspath, "OVERLAY", "Position", "0")
$pingTransVal = IniRead($settingspath, "OVERLAY", "Transparency", "255")
$PingFont = IniRead($settingspath, "OVERLAY", "Font", "Rubik")
; PING
$pingVal = IniRead($settingspath, "PING", "Delay", "500")
$pingadress = IniRead($settingspath, "PING", "Adress", "8.8.8.8")
$SavePingtoFile = IniRead($settingspath, "PING", "SaveData", "0")
; DEBUG
$DebugState = IniRead($settingspath, "DEBUG", "Debug", "0")
$Debug_AutoScoll = IniRead($settingspath, "DEBUG", "DebugAutoScroll", "1")
EndFunc ;==>loadSettings
Func evalOverlayPos()
Local $l_i_pos = 0
If GUICtrlRead($GUI_rb_TopLeft) = $GUI_CHECKED Then
$l_i_pos = 0
ElseIf GUICtrlRead($GUI_rb_TopRight) = $GUI_CHECKED Then
$l_i_pos = 1
ElseIf GUICtrlRead($GUI_rb_BottomLeft) = $GUI_CHECKED Then
$l_i_pos = 2
ElseIf GUICtrlRead($GUI_rb_BottomRight) = $GUI_CHECKED Then
$l_i_pos = 3
Else
$l_i_pos = 0
EndIf
Return $l_i_pos
EndFunc ;==>evalOverlayPos
Func setGUI()
; SET GUI STUFF
If $pingPos = 0 Then
GUICtrlSetState($GUI_rb_TopLeft, $GUI_CHECKED)
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, 0 + $PingOverlayOffsetY)
ElseIf $pingPos = 1 Then
GUICtrlSetState($GUI_rb_TopRight, $GUI_CHECKED)
WinMove($PingOverlay, "", @DesktopWidth - $PingOverlayOffsetX - $GUI_cor_PingOverlayW, 0 + $PingOverlayOffsetY)
ElseIf $pingPos = 2 Then
GUICtrlSetState($GUI_rb_BottomLeft, $GUI_CHECKED)
WinMove($PingOverlay, "", 0 + $PingOverlayOffsetX, @DesktopHeight - $PingOverlayOffsetY - $GUI_cor_PingOverlayH)
ElseIf $pingPos = 3 Then
GUICtrlSetState($GUI_rb_BottomRight, $GUI_CHECKED)
WinMove($PingOverlay, "", @DesktopWidth - $PingOverlayOffsetX - $GUI_cor_PingOverlayW, @DesktopHeight - $PingOverlayOffsetY - $GUI_cor_PingOverlayH)
EndIf
; OVERLAY
If $OverlayActive >= 1 Then GUICtrlSetState($GUI_cb_Overlay, $GUI_CHECKED)
If $OVerlayBgActive >= 1 Then GUICtrlSetState($GUI_cb_OverlayBG, $GUI_CHECKED)
; PING
If $SavePingtoFile >= 1 Then GUICtrlSetState($GUI_cb_SavePingToFile, $GUI_CHECKED)
; DEBUG
If $DebugState >= 1 Then GUICtrlSetState($GUI_smi_Debug, $GUI_CHECKED)
; If $Debug_AutoScoll >= 1 Then GUICtrlSetState() ; NOGUI
EndFunc ;==>setGUI
Func _IsInternetConnected()
Local $aReturn = DllCall('connect.dll', 'long', 'IsInternetConnected')
If @error Then
Return SetError(1, 0, False)
EndIf
Return $aReturn[0] = 0
EndFunc ;==>_IsInternetConnected
Func debug($a)
If $DebugState = 1 Then
;Console Debug
ConsoleWrite(_NowTime() & @TAB & " " & $a & @CRLF)
If $DebugGuiState = 1 Then
;Write to GuiDebugWindow List
_GUICtrlListBox_BeginUpdate($GUI_list_Debug)
_GUICtrlListBox_InsertString($GUI_list_Debug, _NowTime() & @TAB & " - " & @TAB & $a)
_GUICtrlListBox_EndUpdate($GUI_list_Debug)
If $Debug_AutoScoll = 1 Then _GUICtrlListBox_SetCurSel($GUI_list_Debug, _GUICtrlListBox_GetListBoxInfo($GUI_list_Debug) - 1)
EndIf
EndIf
EndFunc ;==>debug
More AutoIt
AutoIt – Tesseract
Table of Contents https://www.autoitscript.com/forum/topic/174483-tesseract-simple-example/ https://www.autoitscript.com/forum/topic/89542-tesseract-screen-ocr-udf/#comments https://saiashish90.medium.com/training-tesseract-ocr-with-custom-data-d3f4881575c0 Code TTT
18/09/2021
No Comments


AutoIt
AutoIt- Pinger
Table of Contents Description Little Ping Overlay Downloads When you Download the Pinger.exe – Windows will tell you the Program is a Trojan. Just compile
16/06/2021
No Comments
AutoIt – Pixel_Pos
Table of Contents Code Click me #Region PixelGet ; —————————————————————————— ; ; AutoIt Version: 3.0 ; Language: English ; Description: Give Pixel Location on Desktop
14/04/2021
No Comments
Python – OpenCV VSCode problems fix
Table of Contents
Intro
If your VSCode gives you Problems while import cv2 and can’t use autoComplete with it, here is you fix.
Instructions
Solution
- On VScode: CTRL + Shift + P
- Choose “Preferences: Open Settings (JSON)”
- Add this line into JSON file:
"python.linting.pylintArgs": ["--generate-members"]
- Done, it works for me 👍
settings.json
"python.linting.pylintArgs": [
"--generate-members"
]


Example Code
import cv2
import numpy
img = numpy.zeros([320, 320], numpy.uint8)
cv2.imshow("test", img)
cv2.waitKey()
cv2.destroyAllWindows()
Python – TelegramAPI
Table of Contents
Intro
Short Intro in to Telegram API with pyTelegramBotAP
Instructions
Code
import telebot
TOKEN = 'YOUR_BOT_TOKEN'
CHAT_ID = YOUR_CHAT_ID
bot = telebot.TeleBot(TOKEN)
bot.send_message(CHAT_ID, "I'm a big fat dick")
photo = open('img/wobi_512.png', 'rb')
bot.send_photo(CHAT_ID, photo)
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Howdy, how are you doing?")
@bot.message_handler(func=lambda message: True)
def echo_all(message):
bot.reply_to(message, message.text)
bot.polling()
AutoIt – Pixel_Pos
Table of Contents
Code
#Region PixelGet
; ------------------------------------------------------------------------------
;
; AutoIt Version: 3.0
; Language: English
; Description: Give Pixel Location on Desktop or active window
;
; ------------------------------------------------------------------------------
; WORK IN PROGRESS
;===============================================================================
;
; HotKeys: End - Quits programm
; Q - Save Values to Clipboard
; R - Set Aspect ratio to active Window
; E - Set CoordMode
;
;===============================================================================
#EndRegion PixelGet
#include-once
#include
DllCall("User32.dll", "bool", "SetProcessDPIAware") ;ResultionScaleFix
AutoItSetOption("MouseCoordMode", "2") ;MouseCoordsMode-Client 0=full active window, 1=fullscreen, 2=active window
AutoItSetOption("PixelCoordMode", "2") ;PixelCoordsMode-Client
;===============================================================================
HotKeySet('{F1}', 'Clipboard')
HotKeySet('{F2}', 'GetResolution')
HotKeySet('{F3}', 'CordMode')
HotKeySet('{F5}', 'Quit')
;===============================================================================
Global $Mouse_X
Global $Mouse_Y
Global $Mouse_Color
Global $Window_Width
Global $Window_Height
Global $aTitle
Global $CordMode = 2
;===============================================================================
OnAutoItExitRegister(Quit)
CordMode()
GetResolution()
While 1
Sleep(100)
GetPos()
GetColor()
ToolTip("Active: " & $aTitle & " X: " & $Mouse_X & " Y: " & $Mouse_Y & " C: #" & $Mouse_Color, 0, 0)
WEnd
Func GetResolution()
$aTitle = _WinGetClass(WinGetTitle("[ACTIVE]"))
Local $aPos = WinGetPos("[ACTIVE]")
$Window_Width = $aPos[2]
$Window_Height = $aPos[3]
EndFunc ;==>GetResolution
Func GetPos()
Local $mpos = MouseGetPos()
$Mouse_X = $mpos[0]
$Mouse_Y = $mpos[1]
EndFunc ;==>GetPos
Func GetColor()
$Mouse_Color = Hex(PixelGetColor($Mouse_X, $Mouse_Y), 6)
EndFunc ;==>GetColor
Func Clipboard()
Local $r = _GCD($Window_Width, $Window_Height)
Local $aSave = Naming()
ClipPut("Name: " & $aSave & @CRLF & _
"X: " & $Mouse_X & @CRLF & _
"Y: " & $Mouse_Y & @CRLF & _
"C: #" & $Mouse_Color & @CRLF & _
"Dimensions: " & $Window_Width & "x" & $Window_Height & @CRLF & _
"Gcd: " & $r & @CRLF & _
"Aspect: " & $Window_Width / $r & ":" & $Window_Height / $r & @CRLF)
EndFunc ;==>Clipboard
Func Naming()
Local $sAnswer = InputBox("Save", "X: " & $Mouse_X & @CRLF & _
"Y: " & $Mouse_Y & @CRLF & _
"C: #" & $Mouse_Color & @CRLF, "Name", "", -1, -1)
Return $sAnswer
EndFunc ;==>Naming
Func CordMode()
AutoItSetOption("MouseCoordMode", $CordMode)
AutoItSetOption("PixelCoordMode", $CordMode)
ConsoleWrite("Mode: " & $CordMode & @CRLF)
If $CordMode >= 2 Then
$CordMode = 0
Else
$CordMode += 1
EndIf
EndFunc ;==>CordMode
Func Quit()
ConsoleWrite("Exit Program" & @CRLF)
Exit
EndFunc ;==>Quit
Func _GCD($a, $b)
If $b = 0 Then Return $a
Return _GCD($b, Mod($a, $b))
EndFunc ;==>_GCD
Func _WinGetClass($hWnd)
If IsHWnd($hWnd) = 0 And WinExists($hWnd) Then $hWnd = WinGetHandle($hWnd)
Local $aGCNDLL = DllCall('User32.dll', 'int', 'GetClassName', 'hwnd', $hWnd, 'str', '', 'int', 4095)
If @error = 0 Then Return $aGCNDLL[2]
Return SetError(1, 0, '')
EndFunc ;==>_WinGetClass
Python – KivyMD Fonts
Table of Contents
Intro
How to get in KivyMD your Costum Font running with a easy example Code.
Basic Code
from kivymd.font_definitions import theme_font_styles
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.core.text import LabelBase
KV = '''
Screen:
MDLabel:
text: "Rubik"
halign: "center"
font_style: "Rubik"
'''
class MainApp(MDApp):
def build(self):
LabelBase.register(
name="Rubik",
fn_regular="../assets/fonts/Rubik/Rubik-Regular.ttf")
theme_font_styles.append('Rubik')
self.theme_cls.font_styles["Rubik"] = [
"Rubik",
16,
False,
0.15,
]
return Builder.load_string(KV)
MainApp().run()
Python – Threading
Table of Contents
Start
import threading
import time
def Evennum():
for i in range(2, 10, 2):
time.sleep(1)
print(i)
threading.Thread(target=Evennum).start()