begin process at 2012 05 27 19:16:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > SHELLTUNNING : VIDÉO À LA PLACE DU FOND D'ÉCRAN

SHELLTUNNING : VIDÉO À LA PLACE DU FOND D'ÉCRAN


 Information sur la source

Note :
9,27 / 10 - par 11 personnes
9,27 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :shelltunning, activex, fond, vidéo, shell Niveau :Expert Date de création :08/06/2005 Date de mise à jour :08/06/2005 07:28:33 Vu / téléchargé :18 027 / 1 136

Auteur : poppyto

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (26)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous !

Toujours dans ma quête de m'amuser avec le shell :) j'ai cette fois imaginé une vidéo en fond d'écran à la place de l'habituel wallpaper statique.
Ceci va permettre de rendre un peu plus vivant l'os et par la même occasion consommer du CPU !

Qu'à cela ne tienne, c'est parti !


********************************************** ****
Que sait-on sur le shell ?
************************************************ **

Active Desktop permet d'afficher une page web en fond d'écran, il va donc falloir jouer avec.
La page web sera un player Windows Media étalé sur 100% de la longueur/largeur de la page, avec des marges nulles.


Pour information, ActiveDesktop permet d'afficher plusieurs items sur le bureau, ainsi on peut se retrouver avec 15 pages web flottantes...(vous pouvez également le tester en vous baladant dans le panneau d'affichage).

*********************************** ***************
1-Objet Active Desktop
****************************************** ********

Nous entrons direct dans les entrailles du Shell avec la technologie COM de Microsoft, qui a fait le bonheur des programmeurs VB.

Pour faire simple et vite, il faut créer une instance d'objet IActiveDesktop. Après quoi nous aurons accès à l'ensemble des fonctionnalités d'ActiveDesktop qui je vous le rassure sont peu nombreuses.
Pour créer l'instance, on utilisera CoCreateInstance, qui nous allouera un objet de type IActiveDesktop, ce qui nous permettra d'accéder aux méthodes de la classe :).

Analogie :

En C++ :
---------------------------
IActiveDesktop * toto;
toto = new IActiveDesktop;
toto->Coucou();
delete toto;


En COM
---------------------------
IActiveDesktop * toto;

HRESULT hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
                              IID_IActiveDesktop, (void**)&toto);
toto->Coucou();
toto->Release();


//Note : Ca a l'air compliqué, mais ça ne l'ai pas :oP,
//CLSID_ActiveDesktop  n'est autre que le CLSID (identifiant unique) de l'objet COM.
//Pour les newbies, faites un tour dans la base de registre HKCR/CLSID/ -> répertorie TOUS les objets COM


IMPORTANT: Qui dit COM dit appel des fonction CoInitialize en début de projet et CoUninitialize en fin de projet ! C'est impératif !

*********************************************** ***
2-Utilisation d'ActiveDesktop
********************************** ****************

Les méthodes dont nous aurons besoin sont :

- Set/GetDesktopItemOptions : Activer/Récupérer l'état d'ActiveDesktop
- Add/GetDesktopItem : Ajouter/Modifier un Item ActiveDesktop (entendez par là la fenêtre ou il y aura une page web)
- ApplyChanges : Mise à jour des modifications demandées par les autres fonctions de IActiveDesktop -> appel impératif

Je vous invite à regarder le source ci-dessous, j'ai commenté le remplissage de structure ^^.

L'invité surprise est IActiveDesktopP qui va permettre, via la fonction SetSafeMode, de verrouiller les items.


***************************************** *********
3-Touche finale
******************************************* *******

Malgré pas mal d'efforts, je n'ai pas réussi à manipuler la fenêtre ListView des raccourcis du bureau :'( (voir http://www.cppfrance.com/code.aspx?ID=31719).
Malg ré tout je vous propose de changer la couleur du fond d'écran du bureau afin que ça ne gâche pas trop l'effet désiré (effet de transparence).
Par chance ma vidéo choisie est plutôt à tendance noir ^^ !
L'API à utiliser est SetSysColors et le paramètre à changer est COLOR_BACKGROUND;


****************************** ********************
4-Conclusion
*************** ***********************************

Ca a beau n'être qu'un gadget complètement inutile, vous rendrez fou de jalousie vos collègues en mettant une vidéo de l'aquarium 2000 ;). Je déconseille les vidéos "rapide", ou psychédéliques pour les épileptiques !
Il est bien entendu possible de changer index.html et de mettre une animation flash pourquoi pas, voir une vraie page HTML !
Bon amusement, et étonnez vos proches avec votre bureau vivant ;o)


******************************************** ******
5-Désinstallation
************************ **************************

Pour enlever tout ce bazar, allez dans :
Propriété d'affichage->Bureau->Personnalisation
et supprimez (ou décochez ^^ ?) la barre "Poppyto Vidéo Desktop"

Source

  • /**************************************
  • * Vidéo Desktop : alive desktop !!
  • *
  • *
  • * Date : 7/06/2005
  • * Author : Poppyto
  • * website : http://www.poppyto.net
  • ****************************************/
  • #include <windows.h>
  • #include <wininet.h> // Pour/For IActiveDesktop
  • #include <shlobj.h> // Pour/For IActiveDesktop
  • int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
  • {
  • //Initialise COM
  • //Initialize COM
  • CoInitialize(0);
  • HRESULT hr;
  • IActiveDesktop *pActiveDesktop;
  • // Créé une instance de IActiveDesktop, équivalent de l'operateur new
  • // Create an instance of IActiveDesktop, similar to the new operator
  • hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
  • IID_IActiveDesktop, (void**)&pActiveDesktop);
  • // Bien remplir la taille de la structure de components !
  • // Don't forget to set dwSize !
  • COMPONENTSOPT cmps;
  • cmps.dwSize = sizeof(cmps);
  • // Récupère l'état d'ActiveDesktop
  • // Get the ActiveDesktop State
  • pActiveDesktop->GetDesktopItemOptions(&cmps,NULL);
  • // Est-ce que ActiveDesktop est désactivé ?
  • // Is ActiveDesktop not running ?
  • if(cmps.fActiveDesktop != TRUE || cmps.fEnableComponents != TRUE)
  • {
  • cmps.fActiveDesktop = TRUE;
  • cmps.fEnableComponents = TRUE;
  • //Active ActiveDesktop
  • //Activate ActiveDesktop
  • hr = pActiveDesktop->SetDesktopItemOptions(&cmps,NULL);
  • // Valide la mise à jour -> ActiveDessktop en marche
  • // Validate the update -> ActiveDessktop running
  • hr = pActiveDesktop->ApplyChanges(AD_APPLY_ALL);
  • }
  • //Ajoutons un item à ActiveDesktop
  • //Add an item to à ActiveDesktop
  • COMPONENT comp;
  • memset(&comp,0,sizeof(comp));
  • comp.dwSize = sizeof(comp);
  • //iComponentType : Type de contrôle, peut être une page web, un ActiveX etc.
  • //iComponentType : Control type, it could be a webpage, an ActiveX etc.
  • comp.iComponentType = COMP_TYPE_WEBSITE;//COMP_TYPE_CONTROL;
  • comp.fChecked = TRUE;
  • comp.fDirty = FALSE;
  • // Pas de barre de défilement
  • // No Scrolling bar.
  • comp.fNoScroll = TRUE;
  • // Item en plein écran
  • // Fullscreen Item
  • comp.dwCurItemState = IS_FULLSCREEN;
  • //Nom de l'item
  • //Item name
  • wcscpy(comp.wszFriendlyName,L"Poppyto Vidéo Desktop");
  • char PathA[MAX_PATH+1];
  • wchar_t PathW[MAX_PATH+1];
  • memset(PathA,0,sizeof(PathA));
  • memset(PathW,0,sizeof(PathW));
  • //Construis l'URL de la page web
  • //Build the URL webPage
  • ::GetCurrentDirectory(MAX_PATH,PathA);
  • strcat(PathA,"\\index.html");
  • //Conversion de la chaine en MultiByte pour COM
  • //Convert string in Multibyte for COM
  • MultiByteToWideChar(CP_ACP, 0, PathA,
  • (int)strlen(PathA)+1,
  • PathW, sizeof(PathW));
  • //URL de la page web à afficher -> "Répertoire Courant\index.html"
  • //URL of the web page which must be shown -> "Current Directory\index.html"
  • wcscpy(comp.wszSource,PathW);
  • //Réglage de la fenêtre en mode cadre (plus de fullscreen)
  • //Set the position of the window when it is not in fullscreen
  • COMPPOS comppos;
  • comppos.dwSize = sizeof(COMPPOS);
  • comppos.dwWidth = 640;
  • comppos.dwHeight = 480;
  • comppos.fCanResize = FALSE;
  • comppos.fCanResizeX = FALSE;
  • comppos.fCanResizeY = FALSE;
  • comppos.iLeft = 0;//100;
  • comppos.iTop = 0;//20;
  • comppos.izIndex = 0;
  • comp.cpPos = comppos;
  • //Ajout de l'item
  • //Add the item
  • hr = pActiveDesktop->AddDesktopItem(&comp,NULL);
  • //E_FAIL est retourné quand l'item existe déjà
  • //E_FAIL is returned when the item already exists
  • if(hr == E_FAIL)
  • {
  • //Mise à jour de l'item car ile existe déjà (donc on ne peut pas le recréer au dessus)
  • //Update the item because it already exists (so we can't recreate it above)
  • hr = pActiveDesktop->ModifyDesktopItem(&comp,COMP_ELEM_ALL);
  • }
  • // Valide la mise à jour -> L'item est inséré
  • // Validate the update -> The item is inserted
  • hr = pActiveDesktop->ApplyChanges(AD_APPLY_ALL);
  • // Libération : equivalent à l'operateur delete
  • // Release : similar to the delete operator
  • pActiveDesktop->Release();
  • //Verouille les items pour le redeimensionment
  • //Lock items for resizing
  • IActiveDesktopP *pActiveDesktopP;
  • hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
  • IID_IActiveDesktopP, (void**)&pActiveDesktopP);
  • pActiveDesktopP->SetSafeMode(SSM_SET);
  • pActiveDesktopP->Release();
  • //Change la couleur de plan arrière de la ListView du Bureau
  • //Change Desktop/ListView item background
  • int Elements = COLOR_BACKGROUND;
  • COLORREF color = RGB(0,0,0);
  • SetSysColors(1,&Elements, &color);
  • //DésInitialise COM
  • //UnInitialize COM
  • CoUninitialize();
  • return 0;
  • }
/**************************************
*   Vidéo Desktop : alive desktop !! 
*
*
* Date : 7/06/2005
* Author : Poppyto
* website : http://www.poppyto.net
****************************************/

#include <windows.h>
#include <wininet.h> // Pour/For IActiveDesktop
#include <shlobj.h>  // Pour/For IActiveDesktop



int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
	//Initialise COM
	//Initialize COM
	CoInitialize(0);

	HRESULT hr;
	IActiveDesktop *pActiveDesktop;

	// Créé une instance de IActiveDesktop, équivalent de l'operateur new
	// Create an instance of IActiveDesktop, similar to the new operator
	hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
						IID_IActiveDesktop, (void**)&pActiveDesktop);

	
	// Bien remplir la taille de la structure de components !
	// Don't forget to set dwSize !
	COMPONENTSOPT cmps;
	cmps.dwSize = sizeof(cmps);

	// Récupère l'état d'ActiveDesktop
	// Get the ActiveDesktop State
	pActiveDesktop->GetDesktopItemOptions(&cmps,NULL);

	// Est-ce que ActiveDesktop est désactivé ?
	// Is ActiveDesktop not running ?
	if(cmps.fActiveDesktop != TRUE || cmps.fEnableComponents != TRUE)
	{
		cmps.fActiveDesktop = TRUE;
		cmps.fEnableComponents = TRUE;
		
		//Active ActiveDesktop
		//Activate ActiveDesktop
		hr = pActiveDesktop->SetDesktopItemOptions(&cmps,NULL);

		// Valide la mise à jour -> ActiveDessktop en marche
		// Validate the update -> ActiveDessktop running
		hr = pActiveDesktop->ApplyChanges(AD_APPLY_ALL);

	}

	//Ajoutons un item à ActiveDesktop
	//Add an item to à ActiveDesktop
	COMPONENT comp;
	memset(&comp,0,sizeof(comp));
	comp.dwSize = sizeof(comp);
	
	//iComponentType : Type de contrôle, peut être une page web, un ActiveX etc.
	//iComponentType : Control type, it could be a webpage, an ActiveX etc.
	comp.iComponentType = COMP_TYPE_WEBSITE;//COMP_TYPE_CONTROL;
	
	comp.fChecked = TRUE;
	comp.fDirty = FALSE;
	
	// Pas de barre de défilement
	// No Scrolling bar.
	comp.fNoScroll = TRUE;

	// Item en plein écran
	// Fullscreen Item
	comp.dwCurItemState = IS_FULLSCREEN;

	//Nom de l'item
	//Item name
	wcscpy(comp.wszFriendlyName,L"Poppyto Vidéo Desktop");
	

		char PathA[MAX_PATH+1];
		wchar_t PathW[MAX_PATH+1];
		memset(PathA,0,sizeof(PathA));
		memset(PathW,0,sizeof(PathW));

		//Construis l'URL de la page web
		//Build the URL webPage
		::GetCurrentDirectory(MAX_PATH,PathA);
		strcat(PathA,"\\index.html");

		//Conversion de la chaine en MultiByte pour COM
		//Convert string in Multibyte for COM

		MultiByteToWideChar(CP_ACP, 0, PathA,
								(int)strlen(PathA)+1, 
								PathW, sizeof(PathW));

		//URL de la page web à afficher -> "Répertoire Courant\index.html"
		//URL of the web page which must be shown -> "Current Directory\index.html"
		wcscpy(comp.wszSource,PathW);



	//Réglage de la fenêtre en mode cadre (plus de fullscreen)
	//Set the position of the window when it is not in fullscreen
	COMPPOS  comppos;
	comppos.dwSize = sizeof(COMPPOS);
	comppos.dwWidth = 640;
	comppos.dwHeight = 480;		
	comppos.fCanResize = FALSE;
	comppos.fCanResizeX = FALSE;
	comppos.fCanResizeY = FALSE;
	comppos.iLeft = 0;//100;
	comppos.iTop = 0;//20;
	comppos.izIndex = 0;
	comp.cpPos = comppos;
	



	//Ajout de l'item
	//Add the item
	hr = pActiveDesktop->AddDesktopItem(&comp,NULL);



	//E_FAIL est retourné quand l'item existe déjà
	//E_FAIL is returned when the item already exists
	if(hr == E_FAIL)
	{
		//Mise à jour de l'item car ile existe déjà (donc on ne peut pas le recréer au dessus)
		//Update the item because it already exists (so we can't recreate it above)
		hr = pActiveDesktop->ModifyDesktopItem(&comp,COMP_ELEM_ALL);
	}

	// Valide la mise à jour -> L'item est inséré
	// Validate the update -> The item is inserted
	hr = pActiveDesktop->ApplyChanges(AD_APPLY_ALL);

	// Libération : equivalent à l'operateur delete
	// Release :   similar to the delete operator
	pActiveDesktop->Release();





	//Verouille les items pour le redeimensionment
	//Lock items for resizing

	IActiveDesktopP *pActiveDesktopP;
	hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
							IID_IActiveDesktopP, (void**)&pActiveDesktopP);
		
	pActiveDesktopP->SetSafeMode(SSM_SET);

	pActiveDesktopP->Release();



	//Change la couleur de plan arrière de la ListView du Bureau
	//Change Desktop/ListView item background

	int Elements = COLOR_BACKGROUND;
	COLORREF color = RGB(0,0,0);
	SetSysColors(1,&Elements, &color);




	//DésInitialise COM
	//UnInitialize COM
	CoUninitialize();

	return 0;
}

 Conclusion

Je n'ai fais presque aucune gestion des erreurs afin de ne pas alourdir le code utile, donc soyez cléments ^^ !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • index.htmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier777 octets
  • screen.jpgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier34 951 octets
  • VideoDesktop.exeTélécharger ce fichier [Réservé aux membres club]32 768 octets
  • VideoDesktop.ncbTélécharger ce fichier [Réservé aux membres club]27 648 octets
  • VideoDesktop.pdbTélécharger ce fichier [Réservé aux membres club]445 440 octets
  • VideoDesktop.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier913 octets
  • VideoDesktop.suoTélécharger ce fichier [Réservé aux membres club]9 216 octets
  • VideoDesktop.vcprojTélécharger ce fichier [Réservé aux membres club]3 501 octets
  • WinMain.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 738 octets

Télécharger le zip


 Historique

08 juin 2005 00:24:38 :
Inversion dans un titre, rien de grave ^^
08 juin 2005 07:28:33 :
Utilisation de IActiveTransferP pour verrouiller les éléments du bureau. Le remplissage de la structure COMPPOS est donc encore moins indispensable.

 Sources du même auteur

RECONNAISSANCE DE TYPES D'OBJETS EN C++
EXPRESSIONS RÉGULIÈRES EN C++ AVEC ATL
Source avec Zip Source avec une capture CHANGEZ L'APPARENCE DU BUREAU DE WINDOWS ET GAGNEZ DE LA PLA...

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture INFOTIP SHELL EXTENSION (BULLE DE L'EXPLORATEUR WINDOWS) (WI... par racpp
Source avec Zip Source avec une capture [C/WIN32/WMI]SAVOIR SI UNE CLASSE COM EST INSTALLÉE par rt15
Source avec Zip Source avec une capture EXTENSION DU SHELL: MENU CONTEXTUEL EN C (WIN32 API) par racpp
Source avec Zip Source avec une capture EDIT ET STATIC TRANSPARENTS SUR FOND BMP par racpp
Source avec Zip [DEVC++] PROTEGER L'ACCES À UN RÉPERTOIRE par DelphiCool

Commentaires et avis

Commentaire de BruNews le 08/06/2005 01:10:42 administrateur CS

Il y en a qui vont bien s'amuser...
Bon travail et bonne continuation.

Commentaire de vecchio56 le 08/06/2005 01:20:03 administrateur CS

C'est intéressant, le code est court et facile a comprendre. Continue à t'amuser

Commentaire de Joky le 08/06/2005 01:29:21

C'est vrai que c'est pas mal...
Je vous conseil cette vidéo : http://membres.lycos.fr/Joky/MoiEtClara_AmateurMovie.mpg
Biensur c'est personnalisé comme film, mais bon ca va rendre beaucoup de papa jaloux en voyant mon endurance...
Mdr, il n'existe pas ce fichier bande de pervers malsains !!! mdr
Je vois déjà tout le monde qui crie à la vengeance, mais comme dirait Levinas, dans son essai sur le visage, euh qu'est-ce-qu'il disait déjà ce johnny... Arf, vous m'embêter, j'vais faire comment moi !!!!

Et pour finir un commentaire sur le code quand même, c'est vrai qu'il est clair, et j'pensais pas qu'on pouvait manipuler des COM aussi simplement que ça lol.

Par contre :) quand on met sa souris sur le coté, elle se transforme en flèche de redimensionnement et on peut modifier la taille de la vidéo, c'est le seul hic avec également le probleme de focus sur les icones... On peut cliquer n'importe ou sur le bureau, c'est toujours l'icône qu'à le focus...

Fin bref joli boulot ;) 8/10 ( encore oui ! y'a un problème peut-être ) Mais biensur je ne la mettrai pas, je sais déjà que cppfrance va m'engueuler sinon... Impossible de noter lol

Commentaire de max12 le 08/06/2005 03:53:04 administrateur CS

Tu travaille toujours au bien de l'humanité à ce que je vois :):) C'est trop cool, connais-tu d'autres vidéos ?

Commentaire de max12 le 08/06/2005 03:56:48 administrateur CS

En passant 10/10, clair net, précis, bien commenté, bonne description sur le fonctionnement de la source, tu es un modèle à suivre :)

Commentaire de poppyto le 08/06/2005 07:31:45 administrateur CS

Joky disait
>>Par contre :) quand on met sa souris sur le coté, elle se transforme en flèche de
>>redimensionnement et on peut modifier la taille de la vidéo, c'est le seul hic
>>avec également le probleme de focus sur les icones... On peut cliquer n'importe
>>ou sur le bureau, c'est toujours l'icône qu'à le focus...

J'ai trouvé le problème, et j'ai mis à jour la source (voir IActiveDesktopP )

>>max12 && vecchio56
merki :)

Vu ton avatar, je me demande bien quelle vidéo tu as mis :D

>>BruNews

Commentaire de fg85 le 08/06/2005 08:06:05

Vraiment que tu bon quand sa  vient de toi  "poppyto" !

Commentaire de MuPuF le 08/06/2005 10:07:49

ça a l'air super, mai j'obtient des erreurs a la compilation ...
J'utilise vc++ 6, j'ai donc créé un projet win32, j'ai ajouté ton cpp avec et ...

C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(76) : error C2039: 'dwCurItemState' : is not a member of '_tagCOMPONENT'
        c:\programmation\microsoft visual studio\vc98\include\shlobj.h(2891) : see declaration of '_tagCOMPONENT'
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(76) : error C2065: 'IS_FULLSCREEN' : undeclared identifier
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(135) : error C2143: syntax error : missing ')' before 'constant'
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(135) : error C2059: syntax error : ')'
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(153) : error C2065: 'IActiveDesktopP' : undeclared identifier
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(153) : error C2065: 'pActiveDesktopP' : undeclared identifier
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(153) : warning C4552: '*' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(155) : error C2065: 'IID_IActiveDesktopP' : undeclared identifier
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(157) : error C2227: left of '->SetSafeMode' must point to class/struct/union
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(157) : error C2065: 'SSM_SET' : undeclared identifier
C:\Documents and Settings\Progr@mmeur Fou\Bureau\shell\WinMain.cpp(159) : error C2227: left of '->Release' must point to class/struct/union

Il n'a pas l'air de connaitre ces fonctions .... je cherche dans msdn, pareil il n'en parle que pour le sdk de IE ...
Donc ma question, faut-il une new version du compilo ?

Commentaire de BruNews le 08/06/2005 10:50:17 administrateur CS

Essaie avec cela avant <windows.h>
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
sinon il faudrait un platformSDK récent.

Commentaire de MuPuF le 08/06/2005 10:57:34

pareil, un jour, faudrait que je me procure une new version de vc++ ...

Commentaire de Joky le 08/06/2005 10:58:31

Mais en faite c'est pas directement un bureau...
Il suffit de faire un click droit et on s'en rend compte de suite...
Enfin finalement si lol, j'ai fait un teste en chargement manuellement le fichier html en fond d'écran ( et ouai j'suis fort je sais ! ) Donc la le problème des flêches de redimensionnement sont partis, par contre y'a encore l'histoire des icones lol.
Mais dans ta mise à jour, on à les icones qui sont intégrées dans le fond ( Plus de blanc, que du noir ) Fin bref, même si quelques défauts c'est quand même super :p

C'est qu'à partir d'une page web on ne peut pas lancer directement les programmes. On aurait faire des choses rigolotes :) :D lol

Longue vie à moi, pi un peu à vous allez

Commentaire de poppyto le 08/06/2005 12:05:24 administrateur CS

>>MuPuF

J'ai essayé sous VC6, effectivement ça bug, il faut récupérer les nouvelles déclarations de structures sur msdn.
Même chose pour IID_IActiveDesktopP.


>C'est qu'à partir d'une page web on ne peut pas lancer directement les
>programmes. On aurait faire des choses rigolotes :) :D lol

C'est tout à fait possible ^^ Peut-être ma prochaine source, par contre il va falloir choisir entre cppfrance et javascriptfr :-D

Commentaire de MuPuF le 08/06/2005 14:49:41

oki, Merci a toi Poppyto !

Commentaire de MoDDiB le 08/06/2005 20:06:24

Bluffant ! 10/10 chapeau mon gars :)

Commentaire de poppyto le 08/06/2005 20:22:04 administrateur CS

Merci :o)

Perso, je suis en quête de vidéos pas trop prise de tête et de bonne qualité. Si vous avez ça sous la main, je suis preneur !

Commentaire de MuPuF le 08/06/2005 20:37:28

En concert, ya le live in new york de dream theater, mais tu va alluciner, ces types savent jouer !! ;-) Galere a immiter, impossible a imiter

Commentaire de Joky le 08/06/2005 23:23:27

Ro la la MuPuF, tu le fais exprès ???
Il t'a déjà dit qu'il n'aimait pas Dream Theater lol
Suit un peu !!!
:p
Moi par contre, j'ai du bon Ben Harper à Hollywood Bowl, mais bon, ca risque d'être long à charger dans une page Web :)

Commentaire de MuPuF le 09/06/2005 09:27:27

;-) C'étais pour rire :-(

Commentaire de Joky le 10/06/2005 22:00:21

Allez c'est pas ma source !!!
Mais bon, dans toute ma bonté de jeune homme, voilà l'exe :)

http://membres.lycos.fr/Joky/

C'est le 3ème exe, pas Pointeur ( Prog qui ne parle pas du tout de pointeur lol ) et ni MsgPlus mais tu l'auras compris ça ;)

Commentaire de xsiva le 13/01/2006 08:05:39

Salut
Je cherchais comment mettre une video en fond d'ecran ... google/votre site ... inscription/dl du zip et dedans pas d'exe!!!
Je suis no0b ... désolé ;) mais que dois-je faire pour que ca marche? Je trouve l'idée géniale, j'éspère un coup de pouce =)

Commentaire de poppyto le 13/01/2006 09:35:57 administrateur CS

Regardes ici : http://membres.lycos.fr/Joky/ et télécharges VideoDesktop.exe.

Commentaire de xsiva le 13/01/2006 19:09:52

Je te remercie, c 'est génial =)

Commentaire de nicos442 le 15/10/2006 13:12:22

Hello all

J'arrive pas a compiler cette source :(
Est ce que quelqu'un pourrai reheberger l'EXE :)  ?

Merci a vous

Commentaire de jb_exe le 20/12/2006 16:46:08

Super idée !!! j'ai po encore VC++ express donc je peut po test mais ca à l'air po mal !!!
Dans le meme style : je chercher a faire un log en tache de fond ki detecte kan "Win media player" est en marche, et ki affiche en fond d'écran la visualisation ...

encore bravo...

Commentaire de intik le 08/04/2007 01:52:03

Nikel mec = franchement de la bal rien a dire 99/100

jte met un tit 10 lol ;p

merci

Commentaire de DARsKater le 06/12/2008 23:25:54

J'aimerais beaucoup pouvoir avoir ce prog mais je débute a peine en C et je ne sais pas ce que je dois faire avec le zip donc est-ce que qqn pourrait heberger l'executable ? sa serait super sympa =)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

ActiveX avec fond transparent [ par chrispe ] J'ai crée un ActiveX en VisualC++ 6.0 MFC avec ClassWizard qui comporte un bitmap et un caption(texte), mais je n'arrive pas à mettre le caption en fo Lancer un EXE à partir d'une commande shell sous Excel VBA [ par hitcher ] Bonjour, j'ai écris un exe sous VC++ 2005. L'exe s'execute tres bien si je le lance "à la main" mais j'ai un message d'erreur quand je le lance à par Inversion vidéo verticale [ par ericcarpentier ] Bonjour à tous Ma société utilise des PC bien spécifiques pour une utilisation machine. J'ai besoin d'inverser l'affichage de mon écran gauche/droite lire une vidéo sur fedora 10 [ par Bidimo ] bonjour à tous. svp est-ce que quelqu'un pourrait m'aider à lire les vidéos sur fedora 10 ? j'ai installé vlc pour linux, ça n'a pas résolu le problèm [POWERPOINT]Fond d'écran powerpoint [ par kylliane ] Bonjour, Je me permets de poster une question après avoir cherché une réponse un peu partout. Je cherche à insérer 2 fonds de diapo différents dans u Programmation script shell ksh unix [ par redrickfr35 ] Bonjour à tous, Je développe une fonction pour un script shell sous ksh qui doit me renvoyer le nombre d'instances du programme principal en cours d Fenêtre dialog déplaçable "par le fond" [API Win32] [ par stagiairecpp ] Bonjour, Je conçois actuellement une petite application et j'aurais besoin d'un renseignement que je ne suis parvenu à trouver ni via google, ni via Image de fond [ par majestic3 ] salut a tous, j'ai un probleme d'affichage avec une boite de dialogue. En effet lorsque j'insere une image de fond sur une boite de dialogude l'image [SHELL]fichier csv en fichier pdf en shell [ par tonio100680 ] Bonjour, Je dois écrire un script en shell permettant de convertir un fichier .csv en fichier pdf (en passant par un fichier LaTeX). J'avoue je suis u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales