Bonjour

Je tente de gérer un fichier INI pour enregistrer quelques paramètres de mon application (tailel fenetre, sa position etc....)
J'ai mis en place la classe trouvée ici
http://www.codeproject.com/Articles/...-class-using-C
dont voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
using System.Runtime.InteropServices;
using System.Text;
 
namespace Ini
{
    /// <summary>
    /// Create a New INI file to store or load data
    /// </summary>
    public class IniFile
    {
        public string path;
 
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section,
            string key,string val,string filePath);
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section,
                 string key,string def, StringBuilder retVal,
            int size,string filePath);
 
        /// <summary>
        /// INIFile Constructor.
        /// </summary>
        /// <PARAM name="INIPath"></PARAM>
        public IniFile(string INIPath)
        {
            path = INIPath;
        }
        /// <summary>
        /// Write Data to the INI File
        /// </summary>
        /// <PARAM name="Section"></PARAM>
        /// Section name
        /// <PARAM name="Key"></PARAM>
        /// Key Name
        /// <PARAM name="Value"></PARAM>
        /// Value Name
        public void IniWriteValue(string Section,string Key,string Value)
        {
            WritePrivateProfileString(Section,Key,Value,this.path);
        }
 
        /// <summary>
        /// Read Data Value From the Ini File
        /// </summary>
        /// <PARAM name="Section"></PARAM>
        /// <PARAM name="Key"></PARAM>
        /// <PARAM name="Path"></PARAM>
        /// <returns></returns>
        public string IniReadValue(string Section,string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section,Key,"",temp, 
                                            255, this.path);
            return temp.ToString();
 
        }
    }
}
Elle fonctionne trés bien, le INI est créé, avec les valeurs que je veux et tout et tout mais si je crée un objet en spécifiant ainsi le chemin du fichier ini souhaité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
string filename = "toto.ini";
            IniFile ini = new IniFile(filename);
Le fichier est créé dans C:\Users\moi\AppData\Local\VirtualStore\Windows

si je crée l'object en spécifiant ainsi le chemin du fichier ini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
            string filename = "c:\toto.ini";
            IniFile ini = new IniFile(filename);
Cela va toujours au même endroit C:\Users\moi\AppData\Local\VirtualStore\Windows

Quoi que je mette comme chemin ca me crée toujours le fichier ini dans ce répertoire

pourquoi ? Comment créer le fichier ini là où je le souhaite (là où se trouve l'exécutable)

Merci