Standby verhindern
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.
-
-
Da hat RFG mal etwas gemacht
Standby und Screensaver unterdrücken -
Moin!
danke - aber leider ist der Code dort nur in C# und converter.telerik.com/ scheißt nur Fehlermeldungen.
Kann mir jemand mit einer Übersetzung behilflich sein?
Jan -
@jan99 Wie lautet die Fehlermeldung?
Eigentlich sind die paar Zeilen Code so easy, dass Du sie allein übersetzen können müsstest.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
der Source ist
C#-Quellcode
- static class WinApi
- {
- [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
- public static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE flags);
- [Flags]
- public enum EXECUTION_STATE : uint
- {
- ES_AWAYMODE_REQUIRED = 0x00000040,
- ES_CONTINUOUS = 0x80000000,
- ES_DISPLAY_REQUIRED = 0x00000002,
- ES_SYSTEM_REQUIRED = 0x00000001
- }
- }
die Meldung ist
Spoiler anzeigen
Error message:
CONVERSION ERROR: Conversion for SimpleBaseType not implemented, please report this issue in 'uint' at character 235
at ICSharpCode.CodeConverter.VB.NodesVisitor.DefaultVisit(SyntaxNode node)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitSimpleBaseType(SimpleBaseTypeSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.SimpleBaseTypeSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitSimpleBaseType(SimpleBaseTypeSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.SimpleBaseTypeSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitEnumDeclaration(EnumDeclarationSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.EnumDeclarationSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitEnumDeclaration(EnumDeclarationSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.EnumDeclarationSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at ICSharpCode.CodeConverter.VB.NodesVisitor.<VisitClassDeclaration>b__23_0(MemberDeclarationSyntax m)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitClassDeclaration(ClassDeclarationSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitClassDeclaration(ClassDeclarationSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at ICSharpCode.CodeConverter.VB.NodesVisitor.<VisitCompilationUnit>b__15_1(MemberDeclarationSyntax m)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Microsoft.CodeAnalysis.SyntaxList`1.CreateNode(IEnumerable`1 nodes)
at Microsoft.CodeAnalysis.SyntaxList`1..ctor(IEnumerable`1 nodes)
at Microsoft.CodeAnalysis.VisualBasic.SyntaxFactory.List[TNode](IEnumerable`1 nodes)
at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitCompilationUnit(CompilationUnitSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitCompilationUnit(CompilationUnitSyntax node)
at Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
at ICSharpCode.CodeConverter.VB.CSharpConverter.ConvertCompilationTree(CSharpCompilation compilation, CSharpSyntaxTree tree)
at ICSharpCode.CodeConverter.VB.CSToVBConversion.SingleFirstPass(Compilation sourceCompilation, SyntaxTree tree)
at ICSharpCode.CodeConverter.Shared.ProjectConversion.SingleFirstPass(SyntaxTree tree, String treeFilePath)
at ICSharpCode.CodeConverter.Shared.ProjectConversion.FirstPass()
Jan -
@jan99 Ja, der kommt da iwie nicht klar. Probier mal diesen hier:
Spoiler anzeigen VB.NET-Quellcode
- Imports System.Runtime.InteropServices
- Public Class Form1
- <Flags>
- Private Enum EXECUTION_STATE
- ES_AWAYMODE_REQUIRED = &H40
- ES_CONTINUOUS = &H80000000
- ES_DISPLAY_REQUIRED = &H2
- ES_SYSTEM_REQUIRED = &H1
- End Enum
- <DllImport("kernel32dll")>
- Private Shared Function SetThreadExecutionState(ByVal flags As EXECUTION_STATE) As EXECUTION_STATE
- End Function
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or EXECUTION_STATE.ES_SYSTEM_REQUIRED Or EXECUTION_STATE.ES_DISPLAY_REQUIRED)
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS)
- End Sub
- End Class
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()
-
Moin!
danke erst einmal.
Zwei Dinge in diesem Zusammenhang. Was die beiden Buttons betrifft.
Nur für den Screensave ermöglichen ist in dem Beispiel
Der Button2 ist aber nicht genau so definiert?!?! Da muss ich noch etwas anhängen - richtig?
Dann steht oben
<Flags>
Was bedeutet das? Oder ist das hier nur zur Ordnung?
Gruß jan
bekomme folgende Fehlermeldung:
Muss ich noch etwas einbinden?
Jetzt sieht es so aus
Spoiler anzeigen
VB.NET-Quellcode
- Imports System.Runtime.InteropServices
- Public Class Form1
- <Flags>
- Private Enum EXECUTION_STATE
- ES_AWAYMODE_REQUIRED = &H40
- ES_CONTINUOUS = &H80000000
- ES_DISPLAY_REQUIRED = &H2
- ES_SYSTEM_REQUIRED = &H1
- End Enum
- <DllImport("user32")>
- Private Shared Function SetThreadExecutionState(ByVal flags As EXECUTION_STATE) As EXECUTION_STATE
- End Function
- Private _LastOnlineStatus As Integer = 0 ' -1 ... offline / 0 ... kein Status / 1 .... online
- Private _lastPingChange As Date
- Private _StartApp As Date
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- _StartApp = Date.Now
- _lastPingChange = _StartApp
- End Sub
- Private Sub CheckOnline()
- Dim Zeitpunkt As Date = Now
- Dim sZeitpunkt As String = Zeitpunkt.ToString("yyyy-MM-dd HH:mm:ss")
- Dim IsOnlineStatus As Integer = IsOnline()
- Select Case IsOnlineStatus
- Case -1
- If _LastOnlineStatus <> IsOnlineStatus Then
- WritePingLog(String.Format("{0} - offline", sZeitpunkt), Zeitpunkt)
- _lastPingChange = Zeitpunkt
- End If
- _LastOnlineStatus = -1
- Case 0
- If _LastOnlineStatus <> IsOnlineStatus Then
- WritePingLog(String.Format("{0} - ?????", sZeitpunkt), Zeitpunkt)
- _lastPingChange = Zeitpunkt
- End If
- _LastOnlineStatus = 0
- Case 1 ' online
- If _LastOnlineStatus <> IsOnlineStatus Then
- WritePingLog(String.Format("{0} - online", sZeitpunkt), Zeitpunkt)
- _lastPingChange = Zeitpunkt
- End If
- _LastOnlineStatus = 1
- End Select
- txt_logging.ScrollToCaret()
- Label1.Text = "Letzter Pingzeitpunkt: " & Zeitpunkt
- End Sub
- ''' <summary>
- ''' Schreiben der LogMeldung
- ''' </summary>
- ''' <param name="Message">Text für die Ausgabe</param>
- Private Sub WritePingLog(Message As String, PingZeit As Date)
- Dim Teiler As Long = 1000
- Dim Dauer As Long = CLng(DateDiff(DateInterval.Second, _lastPingChange, PingZeit) / Teiler)
- If _StartApp = _lastPingChange Then
- txt_logging.AppendText(Message & Environment.NewLine)
- Exit Sub
- End If
- If Dauer > ndown_Interval.Value Then
- Dim Diff As String = CStr(Dauer) & " Sekunden"
- txt_logging.AppendText(Message & " - " & Diff & Environment.NewLine)
- Else
- txt_logging.AppendText(Message & Environment.NewLine)
- End If
- End Sub
- Private Sub timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
- CheckOnline()
- End Sub
- Function IsOnline() As Integer
- Try
- If My.Computer.Network.IsAvailable AndAlso My.Computer.Network.Ping("www.google.de", 1000) = True Then Return 1
- Catch ex As System.Exception
- With txt_logging
- .AppendText(ex.ToString & Environment.NewLine)
- Return 0
- End With
- Return -1
- End Try
- Return -1
- End Function
- Private Sub Button1_Click(sender As Object, e As EventArgs)
- CheckOnline()
- End Sub
- ''' <summary>
- ''' Starten der Auswertung
- ''' </summary>
- Private Sub bt_start_Click(sender As Object, e As EventArgs) Handles bt_start.Click
- ' SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS)
- bt_start.Enabled = False
- ndown_Interval.Enabled = False
- Dim sDateStart As String = Now.ToString("yyyy-MM-dd HH:mm:ss")
- With lbl_StartZeitpunkt
- .Text = "Start des Loggers: " & sDateStart
- Visible = True
- End With
- With txt_logging
- .AppendText("Start: " & sDateStart & Environment.NewLine)
- .AppendText(String.Format("Interval {0} sek" & Environment.NewLine, ndown_Interval.Value.ToString))
- .AppendText(Environment.NewLine)
- .ScrollToCaret()
- End With
- Dim Sekunden As Integer = CInt(ndown_Interval.Value)
- Timer1.Interval = 1000 * Sekunden
- Timer1.Enabled = True
- AddHandler Me.Timer1.Tick, New System.EventHandler(AddressOf Me.timer1_Tick)
- End Sub
- End Class
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „jan99“ ()
-
@jan99 Fehler gefunden.
Bei Dir im Code ist die falsche DLL zugeordnet: mach mal user.dll => kernel32dll.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Ähnliche Themen
-
noxx2 - - Sonstige Problemstellungen
-
3 Benutzer haben hier geschrieben
- jan99 (4)
- RodFromGermany (3)
- Bartosz (1)