Calling Win32 API Functions in VB 2010 - Listing 5

Public Class Hibernate

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
        If (Win32API.IsPwrHibernateAllowed() <> 0) Then
            Win32API.SetSuspendState(1, 0, 0)
            MessageBox.Show("Hibernation is not available.")
        End If
    End Sub

    Partial Public Class Win32API

        Public Declare Function IsPwrHibernateAllowed Lib "Powrprof.dll" _
            Alias "IsPwrHibernateAllowed" () As Integer

        Public Declare Function SetSuspendState Lib "Powrprof.dll" _
            Alias "SetSuspendState" (ByVal Hibernate As Integer,
                                     ByVal ForceCritical As Integer,
                                     ByVal DisableWakeEvent As Integer) As Integer

    End Class

End Class

About the Author

Joe Kunk is a Microsoft MVP in Visual Basic, three-time president of the Greater Lansing User Group for .NET, and developer for Dart Container Corporation of Mason, Michigan. He's been developing software for over 30 years and has worked in the education, government, financial and manufacturing industries. Kunk's co-authored the book "Professional DevExpress ASP.NET Controls" (Wrox Programmer to Programmer, 2009). He can be reached via email at [email protected].

comments powered by Disqus


  • C# Language Server Revamps VS 2022 Razor Editor for ASP.NET Core

    Microsoft is touting new capabilities in ASP.NET Core web development in Visual Studio 2022 thanks to a new Razor editor powered by a Razor Language Server.

  • Windows Forms Lives On in .NET 6

    Windows Forms would like you to know that the reports of its death are greatly exaggerated.

  • Uno Platform 4.0 Adds Visual Studio Code Plugin

    Uno Platform 4.0 is out, highlighted by a new extension for working in Microsoft's Visual Studio Code editor.

  • .NET 6 Support Leads New GA Features in Azure Functions Fall Update

    Microsoft announced several new features that are now generally available in the fall update of Azure Functions, used for event-driven serverless computing in the cloud.

Upcoming Events