Tom56340
Messages postés20Date d'inscriptionmardi 2 mars 2010StatutMembreDernière intervention15 mars 2010
-
2 mars 2010 à 02:05
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 2013
-
2 mars 2010 à 13:58
je me présente tom
voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de me déplacer pour des dépannage informatique ou même
des mise en réseaux pour cyber café avec Shiva et plein d'autre chose sur tous se qui touche la sécurités de site web
se pendant je ne c'est pas tous voici mon problème
j'ai fait une petite fenêtre Windows dans cette fenêtre j'aimerais faire un bouton
qui me permette que des que je clique sur le bouton lance un.exe ou jpg ou autre
voici mon script pourriez-vous m'indiquer ou le mettre dans mon script et une petite explication :) :)
// Librairies
#include <windows.h>
// Déclarations
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
char szClassName[ ] = "windowsFenetre"; // nom de la classe en var globale
HMENU hMenu, hSousMenu;
// DEBUT
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
LPSTR lpszArgument, int nFunsterStil) {
// Déclarations
HWND hwnd; MSG messages; WNDCLASSEX wincl;
// Structure de la fenêtre
wincl.hInstance hThisInstance; wincl.lpszClassName szClassName;
wincl.lpfnWndProc = WindowProcedure; // Fonction appelée par Windows
wincl.style = CS_HREDRAW|CS_VREDRAW; // Redessine à chaque fois
wincl.cbSize = sizeof(WNDCLASSEX);
// Icônes, pointeur, etc
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
wincl.lpszMenuName NULL; wincl.cbClsExtra 0; wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); // Fond blanc
// Enregistre la classe sinon quitte le programme
if(!RegisterClassEx(&wincl)) return 0;
// Création de la fenêtre
hwnd = CreateWindowEx(0, szClassName,
"tom", // Titre
WS_OVERLAPPEDWINDOW, // Fenêtre par défaut
GetSystemMetrics(SM_CXSCREEN)/4, // left
GetSystemMetrics(SM_CYSCREEN)/4, // top
GetSystemMetrics(SM_CXSCREEN)/2, // width
GetSystemMetrics(SM_CYSCREEN)/2, // height
HWND_DESKTOP, NULL, hThisInstance, NULL );
// Montre la fenêtre
ShowWindow(hwnd, nFunsterStil);
// Boucle jusqu'à ce que GetMessage() retourne 0
while(GetMessage(&messages, NULL, 0, 0)) {
DispatchMessage(&messages);
}
return messages.wParam;
}
// FIN
// Fonction appelée par la fonction Windows DispatchMessage()
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) { // Intercepte les messages
case WM_DESTROY: // Destruction de la fenêtre
PostQuitMessage(0); // Envoie WM_QUIT à Windows
break;
default: // Messages non gérés
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 2 mars 2010 à 08:48
Salut
Dans la fonction callback WindowProcedure tu crées un bouton avec CreateWindow dans le message WM_CREATE
Tu captes le cliques sur ce bouton dans la même fonction avec un WM_COMMAND et tu lances un ShellExecute() pour ouvrir un programme, image...
Tom56340
Messages postés20Date d'inscriptionmardi 2 mars 2010StatutMembreDernière intervention15 mars 2010 2 mars 2010 à 10:39
// Fonction appelée par la fonction Windows DispatchMessage()
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam,CreateWindow,WM_COMMAND, LPARAM lParam) {
ShellExecute(Install.exe)
switch (message) { // Intercepte les messages
case WM_DESTROY: // Destruction de la fenêtre
PostQuitMessage(0); // Envoie WM_QUIT à Windows
break;
default: // Messages non gérés
return DefWindowProc(hwnd, message, wParam, lParam);
Attention! Quand je mets ID_BOUTON, c'est pour te dire que c'est là qu'il faut mettre l'identifiant du bouton. Il faut donc que tu lui attribues une valeur.
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...