Shutdown, Restart NumericUp ou TextBox

Signaler
-
 Utilisateur anonyme -
Hello la compagnie

Je m'explique, je voudrais créer un logiciel qui programme un arrêt ou un redémarrage ou une fermeture de session selon les paramètres qu'aura choisis l'utilisateur ( Nombre de jours,heures,minutes avant extinction/redémarrage/Fermeture de session )

Je ne sait pas quoi choisir pour régler la date ( NumericUpDown ou TextBox ) ?
Je preferreais numeric Up Down

Donc j'ai des problèmes au niveau du code.

Voici la première solution avec les textbox et je vous explique par la suite le problème

Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sw As New StreamWriter("C:\Windows\system32\ProgramMyShutdown.bat")
        sw.WriteLine("shutdown -s -t ")
        System.Diagnostics.Process.Start("shutdown -s -t")
        sw.WriteLine(TextBox1.Text)
        sw.WriteLine(TextBox2.Text)
        sw.WriteLine(TextBox3.Text)
        sw.Close()
    End Sub
End Class


J'ouvrirais par la suite automatiquement le fichier .bat


Le problème se situe au niveau de l’écriture en "colonne" je voudrais l'ecrire en lignes, le " & vbNewline & " ne veux pas m'aider

Donc la deuxième solution est le numeric up down


Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sw As New StreamWriter("C:\Windows\system32\ProgramMyShutdown.bat")
        sw.WriteLine("shutdown -s -t ") ( NumericUpDown1), ( NumerciUpdown2)
        sw.Close()
    End Sub
End Class




Ou bien le System.Diagnostics.Process.Start("shutdown", "-s -t 00") mais aucune idée de comment il marche voilà aider moi please
PS: J'ai déjà fais une recherche sur MSDN

7 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
37
Salut,

Ta syntaxe est mauvaise :

sw.WriteLine("shutdown -s -t ") ( NumericUpDown1), (NumerciUpdown2)

sw.WriteLine("shutdown -s -t " & NumericUpDown1.Value & "" & NumericUpDown2.Value)


Je ne sais pas ce que tu cherches à faire exactement. Explique mieux ton problème. Que contiennent tes TextBox ou NumecicUpDown ? La date ou le délai ? Si c'est la date cela ne fonctionnera pas. Il faut convertir ta date en délais et passer ce délais à ton fichier. De plus c'est un peu bancale non ? Pourquoi ne pas exécuter directement Shutdown.exe en lui passant les paramètres via Process au lieu de passer par un fichier ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
37
Désolé, je recommence :

sw.WriteLine("shutdown -s -t " & NumericUpDown1.Value & " " & NumericUpDown2.Value)


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Hello Mayzz,
Oui je sais c'est tordu mais je débute en VB.NET et je suis très nul, j'ai beaucoup de mal.
Donc le numeric updown serait le nombre d'heures/jours/Minutes/Secondes


J'ai pensé a balancer direct le sysemdiactonstic process start... Mais je ne savais pas comment sa marchait, je me suis donc aidé de ce que tu m'a dit et j'ai " trouvé " sa, pourrait tu me dire si il y a des erreurs ?

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        System.Diagnostics.Process.Start("shutdown", "-s -t " & ShtJours.Value & " " & ShtHeures.Value & " " & ShtMinutes.Value)
    End Sub
End Class
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
37
je suis très nul


Je n'aime pas ces mots il ne s'appliquent pas, préfère dire "J'ai peu d'expérience", ou "je suis novice"

En tous cas c'est presque ça. Plus d'erreur de syntaxe. Par contre Shutdown ne prendra pas la date en paramètre mais un délai en seconde avant la fermeture. Je pense donc qu'il faille attendre le délais avec un timer puis déclencher le shutdown sans délais.

++

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Je me suis trompé, je veux que mes numéric up soient un délai, le Shutdown ne prends pas les jours ???
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
37
Non le shutdown ne prend pas les jours. C'est un chiffre en secondes et rien d'autres donc à toi de convertir. Mais c'est simple, une heure c'est 60 Minutes et un jour 24 heures à partir de la tu as la solution

++

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Je ne sais pas comment faire, j'ai pensé à créer une variable qui dit que quand la valeur de ShtHeures.Value = 1 = 60
et ainsi de suite, mais je n'y arrive pas :'(