Commande CMD sur visual basic express

Résolu
LSoft -  
LSoft Messages postés 6 Statut Membre -
Bonjour ,
voilà j'aimerais utiliser la fonction "OpenFileDialog" + Shell.
Je m'explique ; je veux que l'utilisateur désigne un fichier/dossier (OpenFileDialog) et que le logiciel fasse une commande CMD sur ce fichier désigné (Dans le cas présent , la commande ATTRIB.) Donc à la fin de mon code OpenFileDialog j'ai mis :
  Shell("ATTRIB" + OpenFileDialog2.FileName + "+s +h")

mais après l'avoir testé , un message d'erreur m'affiche "L'exeption FileNotFoundException n'a pas été gérée , fichier introuvable". Pouvez vous m'aider s'il vous plaît ? Merci d'avance !

PS: Je suis débutant à la programmation soyez indulgents ;)

4 réponses

  1. Utilisateur anonyme
     
    Bonsoir tu parles de Visual Basic Express, j'en déduit donc que tu travailles en VB.Net

    Shell n'existe pas en VB.Net, il faut utiliser Process.Start.

    Si j'en crois cette page ta ligne de commande n'est pas dans le bon ordre.

    Cependant, il existe en natif pleins d'outils, dont un qui manipule des fichiers, et entre autre leurs attributs

    File.SetAttributes(OpenFileDialog1.FileName, FileAttributes.Hidden Or FileAttributes.System)


    PS j'ai édité ton message pour corriger ta coloration syntaxique, explications ici

    0
    1. LSoft Messages postés 6 Statut Membre
       
      Merci beaucoup ton commentaire m'a vraiment bien aidé, mais je fais maintenant face à un autre problème de débutant ^^'
      J'ai donc créé un premier bouton afin de cacher un fichier désigné, ce qui a marché, et j'ai fait un second bouton pour "Décacher" ce fichier désigné. Mais le problème, c'est que je sais pas comment sauvegarder le chemin du fichier du premier bouton !
      Peux-tu m'aider ? Merci!
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Tu mets ton chemin dans une variable et tu te sers de MySettings pour sauvegarder ta variable:

    https://msdn.microsoft.com/fr-fr/library/ms379611(v=vs.80).aspx
    0
    1. LSoft Messages postés 6 Statut Membre
       
      Bonjour,
      Merci beaucoup mais le problème c'est que ce chemin peut changer ! Il faudrait faire une variable qui sauvegarde automatiquement(ou par un bouton) le chemin choisi !
      Merci !
      0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    C'est le but de la variable (comme son nom l'indique).
    Tu n'as pas lu le site. Si tu l'avais lu, tu saurais que ta variable est mémorisée dans un fichier à la fermeture de l'application. Et est restitué a son ouverture.
    Tu peux aussi avoir plusieurs variables si tu as plusieurs chemins à sauvegarder.
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Encore un peu de lecture sur les variables:

      https://plasserre.developpez.com/cours/vb-net/?page=langage-vb2

      Il faut passer par là pour progresser. Faire des copier-coller dépanne sur le moment, mais tu as vite fait d'être bloqué par la suite
      0
      1. LSoft Messages postés 6 Statut Membre > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
        Mais je t'avoue ne pas comprendre ; faire en sorte que le chemin soit sauvegarder à la prochaine ouverture je l'avais déjà appris avant, mais je voudrais que l'utilisateur appuie sur un bouton qui active le code que j'ai mis sur le topic, mais il faut qu'il sauvegarde le .FileName ! Est-ce que je peut faire une variable avec .FileName comme donnée ?
        0
    2. LSoft Messages postés 6 Statut Membre
       
      Ah excuse moi j'ai répondu directement à ton message et j'ai oublié de lire ton site ...
      Merci beaucoup !
      0
  4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Voilà un exemple avec un fichier image:

     Private Sub cmdopen_Click(sender As System.Object, e As System.EventArgs) Handles cmdopen.Click
             Dim cheminsource As String
            Dim open_file As New OpenFileDialog
            With open_file
                .Filter = "Fichiers image| *.bmp;*.jpg;*.gif;*.wmf;*.tif;*.png"
                Try
                    If .ShowDialog() = DialogResult.OK Then
                        cheminsource = .FileName
                        Picsource.Image = Image.FromFile(cheminsource)
                    Else
                        MessageBox.Show("Opération annulée par l'utilisateur!", "Ouverture fichier", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message, vbCritical, "Fichier image")
                End Try
                .Dispose()
            End With
        End Sub
    


    Il te suffit de suivre les indications du site pour mettre ta variable cheminsource dans My.Settings
    0
    1. LSoft Messages postés 6 Statut Membre
       
      Merci beaucoup j'ai réussi exactement ce que je voulais faire grâce à toi !
      Bonne journée ;)
      0