CALENDRIER INCRUSTÉ SUR LE BUREAU [WIN32]

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 22 nov. 2003 à 22:13
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008 - 23 mars 2005 à 14:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18103-calendrier-incruste-sur-le-bureau-win32

cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
23 mars 2005 à 14:25
ymca : ok merci
garslouche : en fait je cherche à créer une fonction capable de savoir si la fenêtre active c'est le bureau... Le but est d'afficher une sorte de post it si c'est le cas. Par exemple si je clique sur l'icone bureau mon soft doit le détecter et afficher le postit.
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
23 mars 2005 à 09:08
GetDesktopWindow renvoi le handle de la fenêtre globale du bureau mais cette fenêtre contient d'autres fenêtres comme une ListView pour la zone de travail avec les icones et c'est cette ListView qui faut récupérer.
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
23 mars 2005 à 09:04
1. Je ne sais pas pourquoi mais GetDesktopWindow ne fonctionne pas. Comme c'est marqué je me suis largement inspiré de la source
http://www.cppfrance.com/code.aspx?ID=16843

2. Je ne comprends ce que tu veux dire par "si on est sur le bureau"
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
22 mars 2005 à 21:38
2 choses :
1. Pourquoi GetDesktopWindow(); ne suffit pas pour trouver le handle du bureau ?
2. Ton prog c'est un dessin c'est ça ? Je cherche un moyen de détecter si on est sur le bureau pour afficher des windows... Si quelqu'un sait m'aider...

Merci.
J6B Messages postés 11 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 4 septembre 2006
5 août 2004 à 14:42
ta fonction FindDesktopWindow() est très simplifiable avec des FindWindowEx pour trouver les fenêtre filles plus facilement.


HWND FindDesktopWindow(){

HWND hWnd=FindWindow("Progman","Program Manager");
if(!GetParent(hWnd)){

if(HWND hWndEnfant=FindWindowEx(hWnd,NULL,"SHELLDLL_DefView",NULL)){

if(hWndEnfant=FindWindowEx(hWndEnfant,NULL,"SysListView32",NULL)) return hWndEnfant;
};
};
return GetDesktopWindow();
};
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
9 mai 2004 à 00:32
Sous windows 98 il ne marche que quand il y a des îcone derrière, et on voie pas grand chose :( (la moitier des chiffre)
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
24 nov. 2003 à 06:51
Les fonctions GetWindowThreadProcessId et AttachThreadInput
sont inutiles dans ton prog. Tu peux les supprimer.

Elle étaient dans la source "ANIMEZ VOTRE BUREAU" simplement
pour détecter un clic souris sur le bureau.
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
23 nov. 2003 à 19:10
J'ai tester, ça marche avec
hbmp = CreateCompatibleBitmap(hDeskDC, dwWidth, dwHeight);
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
23 nov. 2003 à 02:17
C'était ce que j'avais fait au début mais il me semble que je n'arrivais pas à recopier le bureau dans mon buffer... je ne sais pas trop pourquoi.

Si tu y arrives ça m'interesse!
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
22 nov. 2003 à 22:13
Lors de la création du bitmap pour le double-buffering,
CreateCompatibleBitmap(hDeskDC, cx, cy) est plus simple car tu n'as pas à gérer la profondeur de couleurs et tout le reste, le bitmap est "compatible" avec le DC.
Rejoignez-nous