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++:
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 ;
}
}
Amicalement

Dave