Tempanzeige Serverräume

This commit is contained in:
ms
2025-07-02 15:50:45 +02:00
parent fbaa4f1c02
commit 428755f337
9 changed files with 301 additions and 188 deletions

View File

@@ -269,20 +269,28 @@ Public Class cExtProgramme
If Username.Length > 0 And Password.Length > 0 Then If Username.Length > 0 And Password.Length > 0 Then
AnmeldeDatenVorhanden = True AnmeldeDatenVorhanden = True
commandcmd("cmdkey /generic:" & host & " /user:" & Username & " /pass:" & Password) commandcmd("cmdkey /generic:" & host & " /user:" & Username & " /pass:" & Password)
Threading.Thread.Sleep(3000) Threading.Thread.Sleep(2000)
End If End If
Dim rdpfile As String = RDPFileErstellen(host) ''1 RDP Datei erstellen
'Dim rdpfile As String = RDPFileErstellen(host)
'mstsc.StartInfo.FileName = "mstsc.exe"
'mstsc.StartInfo.UseShellExecute = False
''mstsc.StartInfo.Arguments = " /v: " & host & rdpASadmin & FensterString
'mstsc.StartInfo.Arguments = " " & rdpfile
'2 direkt verbinden
mstsc.StartInfo.FileName = "mstsc.exe" mstsc.StartInfo.FileName = "mstsc.exe"
mstsc.StartInfo.UseShellExecute = False mstsc.StartInfo.UseShellExecute = False
'mstsc.StartInfo.Arguments = " /v: " & host & rdpASadmin & FensterString mstsc.StartInfo.Arguments = " /v: " & host & rdpASadmin & FensterString
mstsc.StartInfo.Arguments = " " & rdpfile
mstsc.Start() mstsc.Start()
If AnmeldeDatenVorhanden = True Then If AnmeldeDatenVorhanden = True Then
Threading.Thread.Sleep(3000) Threading.Thread.Sleep(5000)
Dim Abmeldung As New Process Dim Abmeldung As New Process
commandcmd("cmdkey /delete:" & host) commandcmd("cmdkey /delete:" & host)
@@ -310,6 +318,7 @@ desktopheight:i:1080
session bpp:i:32 session bpp:i:32
winposstr:s:0,1,-2219,191,-283,1310 winposstr:s:0,1,-2219,191,-283,1310
compression:i:1 compression:i:1
prompt for credentials:i:0
keyboardhook:i:1 keyboardhook:i:1
audiocapturemode:i:0 audiocapturemode:i:0
videoplaybackmode:i:1 videoplaybackmode:i:1

View File

@@ -0,0 +1,45 @@
Imports System.Net
Imports Newtonsoft.Json.Linq
Public Class cPRTG
Public Async Function getValuefromPRTG(sensorId As String, kanalnummer As Integer) As Task(Of String)
Dim prtgServer As String = "https://management01.verag.ost.dmn"
'Dim sensorId As String = "8223"
Dim username As String = "admin"
Dim passhash As String = "1828632597"
'Dim kanalnummer As Integer = 8
Dim url As String = $"{prtgServer}/api/table.json?content=channels&columns=objid,name,lastvalue&id={sensorId}&username={username}&passhash={passhash}"
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
ServicePointManager.ServerCertificateValidationCallback = Function(sender, cert, chain, sslPolicyErrors) True
Try
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
Dim jsonText As String = Await client.DownloadStringTaskAsync(url)
Dim json As JObject = JObject.Parse(jsonText)
Dim channels = json("channels")
If TypeOf channels Is JArray AndAlso kanalnummer >= 0 AndAlso kanalnummer < channels.Count Then
Dim channel = channels(kanalnummer)
Dim name = channel("name").ToString()
Dim value = channel("lastvalue").ToString().Replace("Â", "").Trim()
Return $"{value}"
Else
Return $"Kanal {kanalnummer} ungültig oder nicht vorhanden."
End If
End Using
Catch ex As Exception
Return "Fehler: " & ex.Message
End Try
End Function
End Class

View File

@@ -186,6 +186,9 @@
<Reference Include="NetSpell.SpellChecker, Version=2.1.7.41329, Culture=neutral, PublicKeyToken=318b389f0db66e46"> <Reference Include="NetSpell.SpellChecker, Version=2.1.7.41329, Culture=neutral, PublicKeyToken=318b389f0db66e46">
<HintPath>..\packages\NetSpell.2.1.7\lib\NetSpell.SpellChecker.dll</HintPath> <HintPath>..\packages\NetSpell.2.1.7\lib\NetSpell.SpellChecker.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Otp.NET, Version=1.4.0.0, Culture=neutral, PublicKeyToken=38a48df817e173a6, processorArchitecture=MSIL"> <Reference Include="Otp.NET, Version=1.4.0.0, Culture=neutral, PublicKeyToken=38a48df817e173a6, processorArchitecture=MSIL">
<HintPath>..\packages\Otp.NET.1.4.0\lib\net461\Otp.NET.dll</HintPath> <HintPath>..\packages\Otp.NET.1.4.0\lib\net461\Otp.NET.dll</HintPath>
</Reference> </Reference>
@@ -288,6 +291,7 @@
<Compile Include="Classes\cTSUser.vb" /> <Compile Include="Classes\cTSUser.vb" />
<Compile Include="Classes\cPascom.vb" /> <Compile Include="Classes\cPascom.vb" />
<Compile Include="Classes\cSQLSync.vb" /> <Compile Include="Classes\cSQLSync.vb" />
<Compile Include="Classes\cPRTG.vb" />
<Compile Include="DokuDataSet.Designer.vb"> <Compile Include="DokuDataSet.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>

View File

@@ -99,6 +99,7 @@ Partial Class Main
Me.DateienToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateienToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AnydeskToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.AnydeskToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.PuttyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.PuttyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.IPAdresseKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
Me.DgvMainContextMenuItemLink = New System.Windows.Forms.ToolStripMenuItem() Me.DgvMainContextMenuItemLink = New System.Windows.Forms.ToolStripMenuItem()
Me.LinkÖffnenMitEdgeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.LinkÖffnenMitEdgeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -128,7 +129,9 @@ Partial Class Main
Me.panTSSitzungen = New System.Windows.Forms.Panel() Me.panTSSitzungen = New System.Windows.Forms.Panel()
Me.Timer_Refresh = New System.Windows.Forms.Timer(Me.components) Me.Timer_Refresh = New System.Windows.Forms.Timer(Me.components)
Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
Me.IPAdresseKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.lblTempServerraum100 = New System.Windows.Forms.Label()
Me.lblTempServerraum15 = New System.Windows.Forms.Label()
Me.Timer_Temperatur = New System.Windows.Forms.Timer(Me.components)
Me.Panel2.SuspendLayout() Me.Panel2.SuspendLayout()
Me.Panel4.SuspendLayout() Me.Panel4.SuspendLayout()
CType(Me.picAVISOMessenger, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.picAVISOMessenger, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -281,12 +284,12 @@ Partial Class Main
' '
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TelefonManuellZuweisenToolStripMenuItem}) Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TelefonManuellZuweisenToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(210, 26) Me.ContextMenuStrip1.Size = New System.Drawing.Size(211, 26)
' '
'TelefonManuellZuweisenToolStripMenuItem 'TelefonManuellZuweisenToolStripMenuItem
' '
Me.TelefonManuellZuweisenToolStripMenuItem.Name = "TelefonManuellZuweisenToolStripMenuItem" Me.TelefonManuellZuweisenToolStripMenuItem.Name = "TelefonManuellZuweisenToolStripMenuItem"
Me.TelefonManuellZuweisenToolStripMenuItem.Size = New System.Drawing.Size(209, 22) Me.TelefonManuellZuweisenToolStripMenuItem.Size = New System.Drawing.Size(210, 22)
Me.TelefonManuellZuweisenToolStripMenuItem.Text = "Telefon manuell zuweisen" Me.TelefonManuellZuweisenToolStripMenuItem.Text = "Telefon manuell zuweisen"
' '
'btnTSSitzungen 'btnTSSitzungen
@@ -535,60 +538,60 @@ Partial Class Main
' '
Me.ToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NetzwerkeToolStripMenuItem, Me.AnsichtDruckenToolStripMenuItem, Me.ExportToolStripMenuItem, Me.ImportToolStripMenuItem, Me.BenutzerToolStripMenuItem, Me.AllesSichernCSVToolStripMenuItem, Me.ToolStripSeparator1, Me.UpdateToolStripMenuItem, Me.ExitToolStripMenuItem}) Me.ToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NetzwerkeToolStripMenuItem, Me.AnsichtDruckenToolStripMenuItem, Me.ExportToolStripMenuItem, Me.ImportToolStripMenuItem, Me.BenutzerToolStripMenuItem, Me.AllesSichernCSVToolStripMenuItem, Me.ToolStripSeparator1, Me.UpdateToolStripMenuItem, Me.ExitToolStripMenuItem})
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(50, 20) Me.ToolStripMenuItem1.Size = New System.Drawing.Size(49, 20)
Me.ToolStripMenuItem1.Text = "Extras" Me.ToolStripMenuItem1.Text = "Extras"
' '
'NetzwerkeToolStripMenuItem 'NetzwerkeToolStripMenuItem
' '
Me.NetzwerkeToolStripMenuItem.Name = "NetzwerkeToolStripMenuItem" Me.NetzwerkeToolStripMenuItem.Name = "NetzwerkeToolStripMenuItem"
Me.NetzwerkeToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.NetzwerkeToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.NetzwerkeToolStripMenuItem.Text = "Tabellen bearbeiten" Me.NetzwerkeToolStripMenuItem.Text = "Tabellen bearbeiten"
' '
'AnsichtDruckenToolStripMenuItem 'AnsichtDruckenToolStripMenuItem
' '
Me.AnsichtDruckenToolStripMenuItem.Name = "AnsichtDruckenToolStripMenuItem" Me.AnsichtDruckenToolStripMenuItem.Name = "AnsichtDruckenToolStripMenuItem"
Me.AnsichtDruckenToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.AnsichtDruckenToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.AnsichtDruckenToolStripMenuItem.Text = "Drucken" Me.AnsichtDruckenToolStripMenuItem.Text = "Drucken"
' '
'ExportToolStripMenuItem 'ExportToolStripMenuItem
' '
Me.ExportToolStripMenuItem.Name = "ExportToolStripMenuItem" Me.ExportToolStripMenuItem.Name = "ExportToolStripMenuItem"
Me.ExportToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.ExportToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.ExportToolStripMenuItem.Text = "Export" Me.ExportToolStripMenuItem.Text = "Export"
' '
'ImportToolStripMenuItem 'ImportToolStripMenuItem
' '
Me.ImportToolStripMenuItem.Name = "ImportToolStripMenuItem" Me.ImportToolStripMenuItem.Name = "ImportToolStripMenuItem"
Me.ImportToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.ImportToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.ImportToolStripMenuItem.Text = "Import" Me.ImportToolStripMenuItem.Text = "Import"
' '
'BenutzerToolStripMenuItem 'BenutzerToolStripMenuItem
' '
Me.BenutzerToolStripMenuItem.Name = "BenutzerToolStripMenuItem" Me.BenutzerToolStripMenuItem.Name = "BenutzerToolStripMenuItem"
Me.BenutzerToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.BenutzerToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.BenutzerToolStripMenuItem.Text = "Benutzer" Me.BenutzerToolStripMenuItem.Text = "Benutzer"
' '
'AllesSichernCSVToolStripMenuItem 'AllesSichernCSVToolStripMenuItem
' '
Me.AllesSichernCSVToolStripMenuItem.Name = "AllesSichernCSVToolStripMenuItem" Me.AllesSichernCSVToolStripMenuItem.Name = "AllesSichernCSVToolStripMenuItem"
Me.AllesSichernCSVToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.AllesSichernCSVToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.AllesSichernCSVToolStripMenuItem.Text = "Alles Sichern (CSV)" Me.AllesSichernCSVToolStripMenuItem.Text = "Alles Sichern (CSV)"
' '
'ToolStripSeparator1 'ToolStripSeparator1
' '
Me.ToolStripSeparator1.Name = "ToolStripSeparator1" Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(173, 6) Me.ToolStripSeparator1.Size = New System.Drawing.Size(174, 6)
' '
'UpdateToolStripMenuItem 'UpdateToolStripMenuItem
' '
Me.UpdateToolStripMenuItem.Name = "UpdateToolStripMenuItem" Me.UpdateToolStripMenuItem.Name = "UpdateToolStripMenuItem"
Me.UpdateToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.UpdateToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.UpdateToolStripMenuItem.Text = "Update" Me.UpdateToolStripMenuItem.Text = "Update"
' '
'ExitToolStripMenuItem 'ExitToolStripMenuItem
' '
Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem" Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem"
Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(176, 22) Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.ExitToolStripMenuItem.Text = "Exit" Me.ExitToolStripMenuItem.Text = "Exit"
' '
'ToolStripMenuItem2 'ToolStripMenuItem2
@@ -607,7 +610,7 @@ Partial Class Main
'TicketsystemToolStripMenuItem 'TicketsystemToolStripMenuItem
' '
Me.TicketsystemToolStripMenuItem.Name = "TicketsystemToolStripMenuItem" Me.TicketsystemToolStripMenuItem.Name = "TicketsystemToolStripMenuItem"
Me.TicketsystemToolStripMenuItem.Size = New System.Drawing.Size(87, 20) Me.TicketsystemToolStripMenuItem.Size = New System.Drawing.Size(88, 20)
Me.TicketsystemToolStripMenuItem.Text = "Ticketsystem" Me.TicketsystemToolStripMenuItem.Text = "Ticketsystem"
' '
'PascomToolStripMenuItem 'PascomToolStripMenuItem
@@ -625,6 +628,8 @@ Partial Class Main
'Panel3 'Panel3
' '
Me.Panel3.BackColor = System.Drawing.SystemColors.GradientInactiveCaption Me.Panel3.BackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.Panel3.Controls.Add(Me.lblTempServerraum15)
Me.Panel3.Controls.Add(Me.lblTempServerraum100)
Me.Panel3.Controls.Add(Me.btnSync) Me.Panel3.Controls.Add(Me.btnSync)
Me.Panel3.Controls.Add(Me.lblCount) Me.Panel3.Controls.Add(Me.lblCount)
Me.Panel3.Controls.Add(Me.btnNeu) Me.Panel3.Controls.Add(Me.btnNeu)
@@ -641,7 +646,7 @@ Partial Class Main
Me.Panel3.Dock = System.Windows.Forms.DockStyle.Left Me.Panel3.Dock = System.Windows.Forms.DockStyle.Left
Me.Panel3.Location = New System.Drawing.Point(0, 130) Me.Panel3.Location = New System.Drawing.Point(0, 130)
Me.Panel3.Name = "Panel3" Me.Panel3.Name = "Panel3"
Me.Panel3.Size = New System.Drawing.Size(200, 765) Me.Panel3.Size = New System.Drawing.Size(200, 831)
Me.Panel3.TabIndex = 2 Me.Panel3.TabIndex = 2
' '
'btnSync 'btnSync
@@ -877,14 +882,14 @@ Partial Class Main
Me.DgVMain.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.[Single] Me.DgVMain.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.[Single]
Me.DgVMain.RowHeadersVisible = False Me.DgVMain.RowHeadersVisible = False
Me.DgVMain.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect Me.DgVMain.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.DgVMain.Size = New System.Drawing.Size(860, 665) Me.DgVMain.Size = New System.Drawing.Size(860, 731)
Me.DgVMain.TabIndex = 3 Me.DgVMain.TabIndex = 3
' '
'DGVMainContext 'DGVMainContext
' '
Me.DGVMainContext.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DgvMainContextMenuItemHost, Me.DateienToolStripMenuItem, Me.AnydeskToolStripMenuItem, Me.PuttyToolStripMenuItem, Me.IPAdresseKopierenToolStripMenuItem, Me.ToolStripSeparator4, Me.DgvMainContextMenuItemLink, Me.LinkÖffnenMitEdgeToolStripMenuItem, Me.ToolStripSeparator5, Me.SMBToolStripMenuItem, Me.IPAdresseInZwischenablageToolStripMenuItem, Me.TeamviewerVerbindenToolStripMenuItem, Me.RDPToolStripMenuItem, Me.RDPFensterToolStripMenuItem, Me.ToolStripSeparator3, Me.ObjektLöschenToolStripMenuItem, Me.ToolStripSeparator2, Me.NetzwerkdateienToolStripMenuItem, Me.ToolsToolStripMenuItem}) Me.DGVMainContext.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DgvMainContextMenuItemHost, Me.DateienToolStripMenuItem, Me.AnydeskToolStripMenuItem, Me.PuttyToolStripMenuItem, Me.IPAdresseKopierenToolStripMenuItem, Me.ToolStripSeparator4, Me.DgvMainContextMenuItemLink, Me.LinkÖffnenMitEdgeToolStripMenuItem, Me.ToolStripSeparator5, Me.SMBToolStripMenuItem, Me.IPAdresseInZwischenablageToolStripMenuItem, Me.TeamviewerVerbindenToolStripMenuItem, Me.RDPToolStripMenuItem, Me.RDPFensterToolStripMenuItem, Me.ToolStripSeparator3, Me.ObjektLöschenToolStripMenuItem, Me.ToolStripSeparator2, Me.NetzwerkdateienToolStripMenuItem, Me.ToolsToolStripMenuItem})
Me.DGVMainContext.Name = "ContextMenuStrip2" Me.DGVMainContext.Name = "ContextMenuStrip2"
Me.DGVMainContext.Size = New System.Drawing.Size(230, 380) Me.DGVMainContext.Size = New System.Drawing.Size(230, 358)
' '
'DgvMainContextMenuItemHost 'DgvMainContextMenuItemHost
' '
@@ -910,6 +915,12 @@ Partial Class Main
Me.PuttyToolStripMenuItem.Size = New System.Drawing.Size(229, 22) Me.PuttyToolStripMenuItem.Size = New System.Drawing.Size(229, 22)
Me.PuttyToolStripMenuItem.Text = "Putty" Me.PuttyToolStripMenuItem.Text = "Putty"
' '
'IPAdresseKopierenToolStripMenuItem
'
Me.IPAdresseKopierenToolStripMenuItem.Name = "IPAdresseKopierenToolStripMenuItem"
Me.IPAdresseKopierenToolStripMenuItem.Size = New System.Drawing.Size(229, 22)
Me.IPAdresseKopierenToolStripMenuItem.Text = "IP Adresse kopieren"
'
'ToolStripSeparator4 'ToolStripSeparator4
' '
Me.ToolStripSeparator4.Name = "ToolStripSeparator4" Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
@@ -1020,7 +1031,7 @@ Partial Class Main
Me.PanTools.Controls.Add(Me.CmdTest) Me.PanTools.Controls.Add(Me.CmdTest)
Me.PanTools.Controls.Add(Me.CMdTest2) Me.PanTools.Controls.Add(Me.CMdTest2)
Me.PanTools.Dock = System.Windows.Forms.DockStyle.Bottom Me.PanTools.Dock = System.Windows.Forms.DockStyle.Bottom
Me.PanTools.Location = New System.Drawing.Point(200, 795) Me.PanTools.Location = New System.Drawing.Point(200, 861)
Me.PanTools.Name = "PanTools" Me.PanTools.Name = "PanTools"
Me.PanTools.Size = New System.Drawing.Size(860, 100) Me.PanTools.Size = New System.Drawing.Size(860, 100)
Me.PanTools.TabIndex = 4 Me.PanTools.TabIndex = 4
@@ -1094,7 +1105,7 @@ Partial Class Main
Me.panTSSitzungen.Dock = System.Windows.Forms.DockStyle.Right Me.panTSSitzungen.Dock = System.Windows.Forms.DockStyle.Right
Me.panTSSitzungen.Location = New System.Drawing.Point(1060, 130) Me.panTSSitzungen.Location = New System.Drawing.Point(1060, 130)
Me.panTSSitzungen.Name = "panTSSitzungen" Me.panTSSitzungen.Name = "panTSSitzungen"
Me.panTSSitzungen.Size = New System.Drawing.Size(434, 765) Me.panTSSitzungen.Size = New System.Drawing.Size(434, 831)
Me.panTSSitzungen.TabIndex = 5 Me.panTSSitzungen.TabIndex = 5
Me.panTSSitzungen.Visible = False Me.panTSSitzungen.Visible = False
' '
@@ -1106,17 +1117,34 @@ Partial Class Main
'Timer1 'Timer1
' '
' '
'IPAdresseKopierenToolStripMenuItem 'lblTempServerraum100
' '
Me.IPAdresseKopierenToolStripMenuItem.Name = "IPAdresseKopierenToolStripMenuItem" Me.lblTempServerraum100.AutoSize = True
Me.IPAdresseKopierenToolStripMenuItem.Size = New System.Drawing.Size(229, 22) Me.lblTempServerraum100.Location = New System.Drawing.Point(15, 747)
Me.IPAdresseKopierenToolStripMenuItem.Text = "IP Adresse kopieren" Me.lblTempServerraum100.Name = "lblTempServerraum100"
Me.lblTempServerraum100.Size = New System.Drawing.Size(116, 13)
Me.lblTempServerraum100.TabIndex = 20
Me.lblTempServerraum100.Text = "lblTempServerraum100"
'
'lblTempServerraum15
'
Me.lblTempServerraum15.AutoSize = True
Me.lblTempServerraum15.Location = New System.Drawing.Point(15, 767)
Me.lblTempServerraum15.Name = "lblTempServerraum15"
Me.lblTempServerraum15.Size = New System.Drawing.Size(110, 13)
Me.lblTempServerraum15.TabIndex = 21
Me.lblTempServerraum15.Text = "lblTempServerraum15"
'
'Timer_Temperatur
'
Me.Timer_Temperatur.Enabled = True
Me.Timer_Temperatur.Interval = 30000
' '
'Main 'Main
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1494, 895) Me.ClientSize = New System.Drawing.Size(1494, 961)
Me.Controls.Add(Me.DgVMain) Me.Controls.Add(Me.DgVMain)
Me.Controls.Add(Me.PanTools) Me.Controls.Add(Me.PanTools)
Me.Controls.Add(Me.panTSSitzungen) Me.Controls.Add(Me.panTSSitzungen)
@@ -1257,4 +1285,7 @@ Partial Class Main
Friend WithEvents lblOfflinemodus As Label Friend WithEvents lblOfflinemodus As Label
Friend WithEvents btnSync As Button Friend WithEvents btnSync As Button
Friend WithEvents IPAdresseKopierenToolStripMenuItem As ToolStripMenuItem Friend WithEvents IPAdresseKopierenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents lblTempServerraum15 As Label
Friend WithEvents lblTempServerraum100 As Label
Friend WithEvents Timer_Temperatur As Timer
End Class End Class

View File

@@ -123,158 +123,158 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="PictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="PictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
/9j/4AAQSkZJRgABAQEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+EKlEV4aWYAAE1NACoAAAAIAAcBEgAD /9j/4AAQSkZJRgABAQEASABIAAD/4QqURXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAAB
AAAAAQABAAABGgAFAAAAAQAAAGIBGwAFAAAAAQAAAGoBKAADAAAAAQACAAABMQACAAAAIgAAAHIBMgAC AAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAiAAAAcgEyAAIAAAAUAAAAlIdpAAQAAAAB
AAAAFAAAAJSHaQAEAAAAAQAAAKgAAADUAEgAAAABAAAASAAAAAEAAEFkb2JlIFBob3Rvc2hvcCBDQyAy AAAAqAAAANQASAAAAAEAAABIAAAAAQAAQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpADIw
MDE5IChXaW5kb3dzKQAyMDE4OjEwOjI0IDExOjE1OjA5AAADoAEAAwAAAAH//wAAoAIABAAAAAEAAAFA MTg6MTA6MjQgMTE6MTU6MDkAAAOgAQADAAAAAf//AACgAgAEAAAAAQAAAUCgAwAEAAAAAQAAAEYAAAAA
oAMABAAAAAEAAABGAAAAAAAAAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAASIBGwAFAAAAAQAAASoBKAAD AAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABIgEbAAUAAAABAAABKgEoAAMAAAABAAIAAAIBAAQAAAAB
AAAAAQACAAACAQAEAAAAAQAAATICAgAEAAAAAQAACVoAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+0ADEFk AAABMgICAAQAAAABAAAJWgAAAAAAAABIAAAAAQAAAEgAAAAB/9j/7QAMQWRvYmVfQ00AAv/uAA5BZG9i
b2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwM ZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwM
DAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwM DAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwM
DBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAjAKADASIAAhEBAxEB/90A DAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIACMAoAMBIgACEQEDEQH/3QAEAAr/xAE/AAABBQEBAQEB
BAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUG AQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUH
BwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwcl BggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU
klPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3
1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPEl
8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV BhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdH
5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwD0FJOuc6d1D6z9Vu6mcXIwcajA6jkY V2d3h5ent8f/2gAMAwEAAhEDEQA/APQUk65zp3UPrP1W7qZxcjBxqMDqORgVttxrLHltBbtsdZXez3bL
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
kp+lkl80pJKfpZJfNKSSn6WSXzSkkp+lkl80pJKfpZJfNKSSn6WSXzSkkp//2f/bAEMABgQEBAUEBgUF pZJfNKSSn6WSXzSkkp+lkl80pJKfpZJfNKSSn//Z/9sAQwAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoL
BgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/bAEMB CgoMEAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/9sAQwEHBwcNDA0YEBAYFA4ODhQU
BwcHDQwNGBAQGBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM Dg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgARgFAAwER
DAwMDP/AABEIAEYBQAMBEQACEQEDEQH/xAAfAAAABwEBAQEBAAAAAAAAAAAEBQMCBgEABwgJCgv/xAC1 AAIRAQMRAf/EAB8AAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKC//EALUQAAIBAwMCBAIGBwMEAgYC
EAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPBUtHhMxZi8CRygvElQzRT cwECAxEEAAUhEjFBUQYTYSJxgRQykaEHFbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1Rk
kqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE1OT0ZXWFlaW1xdXl9WZ2hpam dMPS4ggmgwkKGBmElEVGpLRW01UoGvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX
tsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/ 5/c4SFhoeIiYqLjI2Oj4KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/EAB8BAAICAwEBAQEBAAAA
xAAfAQACAgMBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgv/xAC1EQACAgECAwUFBAUGBAgDA20BAAIRAwQh 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
</value> </value>
</data> </data>
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -304,6 +304,9 @@
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1067, 17</value> <value>1067, 17</value>
</metadata> </metadata>
<metadata name="Timer_Temperatur.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1312, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>64</value> <value>64</value>
</metadata> </metadata>

View File

@@ -44,7 +44,7 @@ Public Class Main
Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As IntPtr Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As IntPtr
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Async Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LblUhrzeit.Text = "Willkommen " & Class1.LoggedOnUser.Name LblUhrzeit.Text = "Willkommen " & Class1.LoggedOnUser.Name
Class1.ini.LoadParameters() Class1.ini.LoadParameters()
SetAnsichtLautIni() SetAnsichtLautIni()
@@ -78,6 +78,7 @@ Public Class Main
.AlternatingRowsDefaultCellStyle.BackColor = ColorTranslator.FromHtml("#d7e4f2") .AlternatingRowsDefaultCellStyle.BackColor = ColorTranslator.FromHtml("#d7e4f2")
End With End With
End If End If
Await AktualisiereTemperaturenAsync()
TypeFilter() TypeFilter()
@@ -659,10 +660,8 @@ Public Class Main
Return Userlist Return Userlist
End Function End Function
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click Public Async Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
Dim sync As New cSQLSync Await AktualisiereTemperaturenAsync()
sync.Main()
End Sub End Sub
Private Sub CMdTest2_Click(sender As Object, e As EventArgs) Handles CMdTest2.Click Private Sub CMdTest2_Click(sender As Object, e As EventArgs) Handles CMdTest2.Click
Dim sync As New cSQL Dim sync As New cSQL
@@ -1319,8 +1318,25 @@ exit"
Private Sub TimerUpdate_Tick(sender As Object, e As EventArgs) Handles TimerUpdate.Tick Private Sub TimerUpdate_Tick(sender As Object, e As EventArgs) Handles TimerUpdate.Tick
If Class1.DebugMode = False Then CheckUpdate("Timer") If Class1.DebugMode = False Then CheckUpdate("Timer")
Dim prtg As New cPRTG
End Sub End Sub
Public Async Function AktualisiereTemperaturenAsync() As Task
Dim prtg As New cPRTG()
' Aufgaben parallel starten
Dim task1 = prtg.getValuefromPRTG("8208", 9)
Dim task2 = prtg.getValuefromPRTG("8223", 9)
' Ergebnisse abwarten
Dim result1 = Await task1
Dim result2 = Await task2
' GUI aktualisieren
lblTempServerraum100.Text = "Temp. Serverraum 100: " & result1
lblTempServerraum15.Text = "Temp. Serverraum 15: " & result2
End Function
Private Sub DgVMain_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgVMain.CellClick Private Sub DgVMain_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgVMain.CellClick
@@ -1824,6 +1840,10 @@ exit"
Clipboard.SetText(DgVMain.CurrentRow.Cells("IPAdresse").Value) Clipboard.SetText(DgVMain.CurrentRow.Cells("IPAdresse").Value)
End Sub End Sub
Private Async Sub Timer_Temperatur_Tick(sender As Object, e As EventArgs) Handles Timer_Temperatur.Tick
Await AktualisiereTemperaturenAsync()
End Sub
Private Sub Main_Closed(sender As Object, e As EventArgs) Handles Me.Closed Private Sub Main_Closed(sender As Object, e As EventArgs) Handles Me.Closed
Class1.ini.prop_Kompansicht = ChkKompAnsicht.Checked Class1.ini.prop_Kompansicht = ChkKompAnsicht.Checked

View File

@@ -319,7 +319,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die 0.0.2.07 ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die 0.0.2.08 ähnelt.
'''</summary> '''</summary>
Friend ReadOnly Property Version() As String Friend ReadOnly Property Version() As String
Get Get

View File

@@ -137,7 +137,7 @@
<value>..\Resources\mail20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\mail20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Version" xml:space="preserve"> <data name="Version" xml:space="preserve">
<value>0.0.2.07</value> <value>0.0.2.08</value>
</data> </data>
<data name="Link1" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Link1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Link.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Link.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>

View File

@@ -12,6 +12,7 @@
<package id="Microsoft.PowerShell.5.ReferenceAssemblies" version="1.1.0" targetFramework="net472" /> <package id="Microsoft.PowerShell.5.ReferenceAssemblies" version="1.1.0" targetFramework="net472" />
<package id="Microsoft.PowerShell.SDK" version="7.4.1" targetFramework="net472" /> <package id="Microsoft.PowerShell.SDK" version="7.4.1" targetFramework="net472" />
<package id="NetSpell" version="2.1.7" targetFramework="net472" /> <package id="NetSpell" version="2.1.7" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="Otp.NET" version="1.4.0" targetFramework="net472" /> <package id="Otp.NET" version="1.4.0" targetFramework="net472" />
<package id="Spire.PDF" version="6.3.10" targetFramework="net472" /> <package id="Spire.PDF" version="6.3.10" targetFramework="net472" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net48" /> <package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net48" />