none
Vérifier si le mot de passe Just ou non C# RRS feed

  • Question

  • bonjour , 

    je suis entrain de déprotéger des fichiers word selon un de passe svp je cherche une méthode qui me permet de vérifier si le mot de passe est correcte ou non 

    mercredi 14 août 2013 15:41

Réponses

  • Bonjour sarraarfaoui,

    En testant si l'ouverture avec mot de passe fonctionne ?

            private void button1_Click(object sender, EventArgs e)
            {
                Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
                Object pwd = @"MonMotdePasse";
                try
                {
                    newApp.Documents.Open(@"C:\Pwd.doc", Type.Missing, Type.Missing, Type.Missing, ref pwd);
                    newApp.Visible = true;
                }
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    Console.WriteLine("Erreur COM : " + ex.Message +
                                      " (HRESULT = 0x" + ex.ErrorCode.ToString("X") + ")");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Erreur : " + ex.Message);
                }
            }

    Dans le cas présent, en cas de mot de passe incorrect tu auras un message :

    Erreur COM : Mot de passe incorrect. Impossible d'ouvrir le document.
     (C:\Pwd.doc) (HRESULT = 0x800A1520)


    Cordialement, Jacques

    • Marqué comme réponse Aurel Bera vendredi 16 août 2013 04:41
    mercredi 14 août 2013 17:50
  •   Word.Application word = new Word.Application();
    
                        object isVisible = false;
                        object nullobj = System.Reflection.Missing.Value;
                        string pass = passw;
                        object password = pass;
                        object FName = sFileName;
                        Microsoft.Office.Interop.Word.Document aDoc = null;
                        word.Visible = false;
                        aDoc = word.Documents.Open(ref FName, ref nullobj, ref nullobj, ref nullobj, ref password, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
                        aDoc.Activate();
    
                        if (aDoc.HasPassword)
                        
                            aDoc.Password = null;
                        
                        if (aDoc.ProtectionType != WdProtectionType.wdNoProtection)
                  
                            aDoc.Unprotect(ref password);
                            aDoc.Final = true;//Notice!!
                            aDoc.SaveAs(ref FName, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
                            word.Documents.Close();
                            ((_Application)word).Quit();
                            listBox1.Items.Add(nomfichier);
    voila mon code je veux ajouter un listbox qui affiche les fichiers word qui n'ont été pas traité .... Merci beaucoup d'avoir m'aider 

    • Marqué comme réponse Aurel Bera vendredi 16 août 2013 04:41
    jeudi 15 août 2013 10:58

Toutes les réponses

  • Bonjour sarraarfaoui,

    En testant si l'ouverture avec mot de passe fonctionne ?

            private void button1_Click(object sender, EventArgs e)
            {
                Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
                Object pwd = @"MonMotdePasse";
                try
                {
                    newApp.Documents.Open(@"C:\Pwd.doc", Type.Missing, Type.Missing, Type.Missing, ref pwd);
                    newApp.Visible = true;
                }
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    Console.WriteLine("Erreur COM : " + ex.Message +
                                      " (HRESULT = 0x" + ex.ErrorCode.ToString("X") + ")");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Erreur : " + ex.Message);
                }
            }

    Dans le cas présent, en cas de mot de passe incorrect tu auras un message :

    Erreur COM : Mot de passe incorrect. Impossible d'ouvrir le document.
     (C:\Pwd.doc) (HRESULT = 0x800A1520)


    Cordialement, Jacques

    • Marqué comme réponse Aurel Bera vendredi 16 août 2013 04:41
    mercredi 14 août 2013 17:50
  •   Word.Application word = new Word.Application();
    
                        object isVisible = false;
                        object nullobj = System.Reflection.Missing.Value;
                        string pass = passw;
                        object password = pass;
                        object FName = sFileName;
                        Microsoft.Office.Interop.Word.Document aDoc = null;
                        word.Visible = false;
                        aDoc = word.Documents.Open(ref FName, ref nullobj, ref nullobj, ref nullobj, ref password, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
                        aDoc.Activate();
    
                        if (aDoc.HasPassword)
                        
                            aDoc.Password = null;
                        
                        if (aDoc.ProtectionType != WdProtectionType.wdNoProtection)
                  
                            aDoc.Unprotect(ref password);
                            aDoc.Final = true;//Notice!!
                            aDoc.SaveAs(ref FName, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
                            word.Documents.Close();
                            ((_Application)word).Quit();
                            listBox1.Items.Add(nomfichier);
    voila mon code je veux ajouter un listbox qui affiche les fichiers word qui n'ont été pas traité .... Merci beaucoup d'avoir m'aider 

    • Marqué comme réponse Aurel Bera vendredi 16 août 2013 04:41
    jeudi 15 août 2013 10:58