Bonjour,
J'aimerais pouvoir afficher un phrase par-dessus le bureau et les fenêtres actives pendant un intervalle donné. Par exemple afficher le message "Je me sens mieux" pendant 100 millisecondes. Je suis arrivé à certains résultats avec la fonction GetDesktopWindow() pour obtenir le handle du bureau. Mais le message reste imprimé parce que je ne sais pas trop comment m'y prendre pour l'effacer et si par exemple il s'est imprimé sur une fenêtre active et que je la bouge ensuite ou pendant, le message bouge.
Ce script va me servir dans un programme.
Toutes pistes sont les bienvenues!
Voici mon présent code compilé en C++:
Amicalement
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 #include <windows.h> #include <wingdi.h> #define NUM 500 int main() { HDC hdc; HWND hwnd ; if (LockWindowUpdate (hwnd = GetDesktopWindow ())) { for(int i = 0; i < NUM; i++) { hdc = GetDCEx (hwnd, NULL, DCX_CACHE | DCX_LOCKWINDOWUPDATE) ; static TCHAR szTextStr[] = TEXT ("Je me sens mieux") ; SetTextAlign (hdc, TA_BASELINE | TA_CENTER) ; SetTextColor(hdc, 0x0000FF); SetBkMode(hdc, TRANSPARENT); TextOut (hdc, 425, 300, szTextStr, lstrlen (szTextStr)) ; Sleep (1); ReleaseDC (hwnd, hdc) ; LockWindowUpdate (NULL) ; } return FALSE ; } }
Dave
Partager