Red de conocimiento informático - Problemas con los teléfonos móviles - Escribir un programa de apagado programado en VB.NET 2005

Escribir un programa de apagado programado en VB.NET 2005

Recientemente, busqué algunos artículos en Internet sobre cómo realizar el apagado, reinicio y cierre de sesión. Descubrí que la mayoría de ellos introdujeron VB NET usando API para implementar estas funciones y que el apagado y cierre de sesión normales no se pueden realizar. el entorno XPsp Casi no hay introducciones a VB NET. No hay puntos de conocimiento cubiertos en este artículo

Implemente la función de apagado, reinicio y cierre de sesión utilizando la combinación de controles de cuadro de texto y temporizador para escribir el temporizador. funcione y agregue hipervínculos a su programa

Este artículo tiene una cierta base y una amplia practicidad. Creo que puede brindar algo de ayuda a los principiantes.

El entorno de programación utilizado en este artículo es Microsoft Visual. Studio Primero abra Visual Studio en el menú Archivo Haga clic en Nuevo proyecto Haga clic en Aplicación de Windows en el panel Plantillas del cuadro de diálogo Nuevo proyecto Haga clic en Aceptar

Los pasos específicos son los siguientes

<. /p>

Primero agregue una propiedad de control Etiqueta en el formulario Formulario y establezca la propiedad de texto en: Hoy: luego agregue un control de botón cuyo nombre sea botón botón botón y su propiedad de texto esté cerca Computadora (temporizador de inicio) Registro. diagrama de salida y reinicio

Ahora necesitamos agregar un temporizador al programa. Este temporizador debe asociarse con el control del cuadro de texto. Después de ingresar el formato de hora correcto, puede iniciar la función de sincronización. agregue un temporizador, un control de cuadro de texto y un control RadioButton al formulario, dejándolos con sus valores predeterminados sin cambios. La propiedad de texto del control TextBox se establece en:: El texto del control RadioButton se establece en la hora de apagado especificada. formato hora: minuto: segundo, como se muestra en la figura

El trabajo de la interfaz anterior está básicamente completado y ahora debe ingresar el código

Haga doble clic en el formulario para ingresar el declaración regular Evento de formulario de clase pública

CÓDIGO

 

 

 Importa el tiempo de ejecución del sistema InteropServicesImporta Microsoft VisualBasicFormulario de clase pública _ Llamar al parámetro del sistema Función compartida de amigo GetCurrentProcess() como función IntPtrEnd

  _Friend Función compartida OpenProcessToken (ByVal h como IntPtr

ByVal acc como entero ByRef phtok como IntPtr) como función BooleanEnd

_Friend Shared Función LookupPrivilegeValue(ByVal host como cadena

ByVal nombre como cadena ByRef pluid As Long) Como función BooleanEnd

_Friend Función compartida AjustarTokenPrivileges(ByVal htok como IntPtr

ByVal disall Como booleano ByRef news A

s TokPriv Luid

ByVal len As Integer ByVal prev As IntPtr

ByVal relen As IntPtr) As BooleanEnd Function

_Friend Shared Function ExitWindowsEx(ByVal flg As Integer

ByVal rea Como entero) Como función BooleanEnd

Const amigo SE_PRIVILEGE_ENABLED Como entero = &H Const amigo TOKEN_QUERY Como entero = &H Const amigo TOKEN_ADJUST_PRIVILEGES Como entero = &H Const amigo SE_SHUTDOWN_NAME Como cadena = SeShutdownPrivilege Amigo Const EWX_LOGOFF As Integer = & H Lrying Computer Friend Const EWX_SHUTDON As Integer = & H Cerrar computadora Friend Const Ewx_Reboot as Integer = & H Reiniciar la computadora Friend Const EWX_Force A S Integer = & H Apague todos los procesos para cancelar la computadora Friend Const EWX_POWERFF As Integer = & H Friend CORCEIFHUNG AS Integer = &H

_ Parámetro de referencia Estructura de amigo TokPriv Luid Public Count As Integer Public Luid siempre que Public Attr As IntegerEnd Structure

Private Shared Sub DoExitWin (ByVal flg Como entero) Dim xc Como declaración de juicio booleano Dim tp Como TokPriv Luid | Dim hproc Como IntPtr = GetCurrentProcess() | Llamando al valor del proceso Dim htok Como IntPtr = IntPtr Zero xc = OpenProcessToken(hproc TOKEN_ADJUST_PRIVILEGES O TOKEN_QUERY htok) | = LookupPrivilegeValue( Nothing SE_SHUTDOWN_NAME tp Luid) xc = AjustarTokenPrivileges(htok False tp IntPtr Zero IntPtr Zero) xc = SalirWindowsEx(flg )End Sub

Reinicio de sub compartido público() DoExitWin((EWX_FORCE Or EWX_REBOOT)) Reiniciar la computadoraEnd Sub

Public Shared Sub PowerOff() DoE

xitWin((EWX_FORCE Or EWX_POWEROFF)) Apagar la computadoraEnd Sub

 Public Shared Sub LogoOff() DoExitWin((EWX_FORCE Or EWX_LOGOFF)) Cerrar sesión en la computadoraEnd Sub

 Dim entTime As Object Guardar tiempo de entrada Dim xianzaiTime como objeto Guardar el tiempo real Dim startTime como objeto Guardar el tiempo de inicio

Botón Cerrar sesión botón ingresar código

Subbotón privado _Click(ByVal remitente como objeto del sistema

ByVal e As System EventArgs) Botón de identificadores ClickLogoOff() Cerrar sesión en la computadoraEnd Sub

Haga doble clic en el botón de reinicio Ingrese el código

 

 

 Subbotón privado _Click(ByVal remitente como objeto del sistema

 ByVal e As System EventArgs) Controladores Haga clic en el botón

 Reiniciar ()

 End Sub

 Haga doble clic en el botón de apagado e ingrese el código

 

 Subbotón privado _Click (ByVal remitente como objeto del sistema

ByVal e como System EventArgs) Maneja el botón Haga clic en StartTime = TimeOfDay Si no es IsDate(TextBox Text) Luego use la función IsData para determinar el formato de hora de entrada MsgBox(¡Lo que ingresa no es el formato de hora! Error) ElseentTime = TimeValue(TextBox Text) End If Timer Enabled = True Iniciar el temporizador Yo WindowState = Sistema Windows Forms FormWindowState Minimized Minimizar el formulario

End Sub

Como se muestra en la figura

Figura

Haga doble clic en el control del temporizador como se muestra en la figura

Figura

Ingrese el código

Subtemporizador privado _Tick(ByVal remitente como objeto del sistema

ByVal e As System EventArgs) maneja el tic del temporizador xianzaiTime = TimeOfDay Si se marca RadioButton, entonces

If DateDiff( Microsoft VisualBasic DateInterval Second

xianzaiTime entTime) < Luego use la función DateDiff para determinar si se acabó el tiempo

End IfEnd If

PowerOff() Apagar el ordenador

End Sub

Bien, básicamente se completa un programa de apagado programado. A continuación, agreguemos un hipervínculo. Por supuesto, puede que no tenga sentido para los expertos, pero también es necesario para los principiantes. Este hipervínculo es, por supuesto, nuestro canal de desarrollo favorito de Tianji.com

Primero cree un control de etiqueta y colóquelo en la ventana Configurado físicamente. el atributo de texto al canal de desarrollo de Tianji.com como se muestra en la figura

Figura

A continuación, debe ingresar el código. Haga doble clic en el formulario Formulario

para ingresar al evento del formulario de clase pública

Código

Función de declaración privada ShellExecute Lib shell dll

Alias ​​​​ShellExecuteA (ByVal hwngnd como entero

ByVal lpOperation como cadena ByVal lpFile como cadena

ByVal lpParameters como cadena ByVal lpDirectory como cadena

ByVal nShowCmd Como entero) Como entero

Como se muestra en la figura

Figura

Haga doble clic en el texto del atributo de etiqueta: (Canal de desarrollo de Tianji.com) e ingrese el siguiente código

Subetiqueta privada _Click(ByVal sender As System Object

ByVal e As System EventArgs) Maneja la etiqueta ClickShellExecute( abrir CStr( ) CStr( ) )

Finalizar clase SubEnd

¡OK! Una vez hecho todo, presione la tecla F para ejecutar. Seleccione la opción correspondiente como se muestra en la imagen y haga clic en (Apague la computadora e inicie el botón del temporizador. Ahora el programa iniciará la opción Apagar la computadora según la hora). configuraste lishixinzhi/Article/program/net/201311 /12366