Bonjour à tous

Voilà je poursuis ma reprise en main, et dans le cas présent par le pilotage implémenté d'une application Console. Malheureusement il semble que je ne maîtrise pas bien l'utilisation des dll 'SetConsoleScreenBufferSize' ainsi que 'SetConsoleWindowInfo'. En fait j'obtiens bien l'agrandissement maximal de l'écran Console, alors que le positionnement reste totalement aléatoire. Je voudrais obtenir un positionnement en haut à gauche (left=0,top=0), mais résultat stérile. Je dois louper quelque chose mais quoi ?
Voici le code actuel qui donne un résultat correcte mais aléatoire :
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
 
 [DllImport("kernel32.dll", EntryPoint = "GetStdHandle", SetLastError = true, CharSet = CharSet.Unicode)]
extern static IntPtr GetStdHandle(Handles handle);
 [DllImport("kernel32.dll", EntryPoint = "SetConsoleScreenBufferSize", SetLastError = true, CharSet = CharSet.Unicode)]
extern static bool SetConsoleScreenBufferSize(IntPtr handle, Coord newSize);
 [DllImport("kernel32.dll", EntryPoint = "SetConsoleWindowInfo", SetLastError = true, CharSet = CharSet.Unicode)]
extern static bool SetConsoleWindowInfo(IntPtr handle, bool absolute, ref SmallRect rect);
 
private static void EcranConsole()
{
 Console.Clear();
 Console.Title = "ConsoleTest : db4oClassLibrarySample";
 Coord coord = new Coord(0,0);
 SetConsoleScreenBufferSize(GetStdHandle(Handles.STD_OUTPUT), coord);
SmallRect rect = new SmallRect(0, 0, Console.LargestWindowWidth - 1, Console.LargestWindowHeight - 1);
 SetConsoleWindowInfo(GetStdHandle(Handles.STD_OUTPUT), true, ref rect);
 Console.SetWindowPosition(0, 0);
 Console.SetWindowSize(Console.LargestWindowWidth,  Console.LargestWindowHeight);
}