Ver Mensaje Individual
  #7  
Antiguo 08-12-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Reputación: 7
ermendalenda Va por buen camino
Cita:
Empezado por Sandy656 Ver Mensaje
Si en las propiedades del acceso directo, en opciones avanzadas, hay un check para ejecutar como administrador. Pero ¿Habría alguna forma de actualizar la hora del sistema sin entrar como administrador?
.
El problema es que yo uso vb
pero en .net hay comandos directos.
te pongo como me funciona a mi

Generas desde la aplicacion un .bat y le pones estas 3 lineas:
"cmd /c Time " & hora_buff
"cmd /c date " & date_buff
"exit"

donde date_buff u hora_buff son las horas capturadas poniendo la fecha en formato español dd/mm/yyyy
y despues ejecutas desde el programa:
ShellExecute 0, "runas", "[pathcompleto archivo.bat]", requireAdministrator, vbNullString, 0

el shellexexute es de las apis de windows y tienes que declarar esta funcion

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Segun como tengas el windows configurado te puede salir un mensaje de que es una aplicacion externa o algo asi, y le tienes que decir que no te avise mas poniendole al minimo la barra de avisos.

Te recomiendo que le pongas un sleep (espera) de 0.5segundos despues de la ejecucion del shellexecute

Última edición por ermendalenda fecha: 08-12-2024 a las 11:32:09.
Responder Con Cita