Bonjour à tous,
Je tente de détecter si le focus est sur le bureau.
Pour le moment, je parviens à le déterminer uniquement losque je me trouve sur le bureau sans la moindre fenêtre à l'écran. Dés lors qu'il y a une fenêtre passive en même temps ça ne fonctionne plus.
NB: par fenêtre passive, j'entends une fenêtre qui aurait perdue son focus mais qui resterait présente graphiquement.
Voici mon code de test:
Si quelqu'un a une petite idée je suis preneur!
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 class Program { [DllImport("user32.dll")] private static extern IntPtr GetForegroundWindow(); [DllImport("user32.dll")] static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count); static void Main(string[] args) { for(;;) { Thread.Sleep(2000); Console.WriteLine(onDesktop()); } } static bool onDesktop() { const int nChars = 256; StringBuilder Buff = new StringBuilder(nChars); IntPtr handle = GetForegroundWindow(); if (GetWindowText(handle, Buff, nChars) == 0) { return true; } return false; } }
Merci de m'avoir lu.
Partager