|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
DCKBLOG, POUR SE CONNECTER FACILEMENT AU SKYBLOG :D
Information sur la source
Description
Bonjour tous le monde, Voila, mon 1er programme en win32 (soyez indulgent mdr). Bon c'est pas faramineu mais je m'en sert assez souvent quand même l'air de rien :p . Car ça me saoule de taper l'adresse d'un skyblog que une/un ami(e) veut absolument vous montrer. Et lorsque j'ai une erreur 404 j'explose car toute l'adresse est a retaper. :D bref si vous êtes parresseux comme moi ptdrrr ce prog peut vous éviter des petites tâches inutiles. PS : si vous avez des commentaires ou conseil sur le code , ne vous faite pas prié , dites les moi. Surtout si ça permet une bonne optimisation.
Source
- #include<string.h>
- #include<windows.h>
-
- #define QUIT 1
- #define PROPOS 2
-
- /* variable HINSTANCE public */
- HINSTANCE GlobalHInstance;
-
- HWND GlobalEdit;
- HWND GlobalPage;
- HWND D_hwButton;
-
- /* Signature de la procédure sky */
- void sky(HWND);
-
- /* Signature de la fonction de traitement des messages */
- LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
-
- int WINAPI WinMain (HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpszArgument,
- int nFunsterStil)
-
- {
- HWND hwnd; /* handle de la fenêtre window */
- MSG messages; /* Variable qui reçoit les message */
- WNDCLASSEX wincl; /* Structure de class pour créér la fenêtre */
- HMENU MainMenu,UnderFileMenu; /* Variables pour les menus. */
- HMENU UnderHelpMenu;
-
- GlobalHInstance = hInstance;
-
- wincl.hInstance = hInstance;
- wincl.lpszClassName = "MaClassWin";
- wincl.lpfnWndProc = MainWndProc; /* This function is called by windows */
- wincl.style = CS_DBLCLKS; /* Catch double-clicks */
- wincl.cbSize = sizeof(WNDCLASSEX);
- wincl.hIcon = LoadIcon (NULL, "ico.ico");
- wincl.hIconSm = LoadIcon (NULL, "ico.ico");
- wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
- wincl.lpszMenuName = NULL;
- wincl.cbClsExtra = 0;
- wincl.cbWndExtra = 0;
- wincl.hbrBackground = (HBRUSH)(1+COLOR_BTNFACE);
-
- /*Enregistrement de la class en mémoire*/
- if (!RegisterClassEx(&wincl))
- return 0; /* si l'enregistrement de la classe à échoué on renvoie 0 pour fermer le programme */
-
- /* Création du menu Fichier */
- UnderFileMenu = CreateMenu();
- AppendMenu(UnderFileMenu,MF_STRING,QUIT,"Quitter");
- MainMenu = CreateMenu();
- AppendMenu(MainMenu,MF_POPUP,(UINT)UnderFileMenu,"Fichier");
-
- /* Création du menu ? */
- UnderHelpMenu = CreateMenu();
- AppendMenu(UnderHelpMenu,MF_STRING,PROPOS,"A propos de ...");
- AppendMenu(MainMenu,MF_POPUP,(UINT)UnderHelpMenu,"?");
-
- /* création de la fenêtre */
- hwnd = CreateWindowEx(
- 0, /* Extended possibilites for variation */
- "MaClassWin", /* Nom de la class */
- "DCKblog", /* Title Text */
- WS_OVERLAPPED|WS_SYSMENU |WS_MINIMIZEBOX, /* Fenêtre par défaut */
- /*Pour rendre inutilisable un des trois boutons (_,[],X) Il faut un style OVERLAPPED (sans les bouton)
- un style SYSMENU pour permettre l'activation des boutons et puis ensuite choisi ceux que l'on désire
- ici MINIMIZE) */
- CW_USEDEFAULT, /* Windows décide la position */
- CW_USEDEFAULT, /* where the window ends up on the screen */
- 319, /* Largeur */
- 130, /* Hauteur */
- HWND_DESKTOP,
- MainMenu, /* menu */
- hInstance, /* Instance handler du programme */
- NULL /* No Window Creation data */
- );
-
-
-
- /* Rend la fenêtre visible */
- ShowWindow (hwnd,nFunsterStil);
- /* Rafraichi la zone client */
- UpdateWindow(hwnd);
-
-
- /* Récupération des messages*/
- while (GetMessage(&messages, NULL, 0, 0))
- { /* Dès que l'on appuye sur enter */
- if(messages.message == WM_KEYDOWN && messages.wParam==VK_RETURN){
- sky(hwnd);
- }
- if(messages.message==WM_KEYDOWN && messages.wParam==VK_TAB){
- HWND D_hwWhoNext;
-
- D_hwWhoNext = GetFocus();
- if(D_hwWhoNext==GlobalEdit)
- SetFocus(GlobalPage);
- if(D_hwWhoNext==GlobalPage)
- SetFocus(D_hwButton);
- if(D_hwWhoNext==D_hwButton)
- SetFocus(GlobalEdit);
-
- }
- /* Traduction des messages */
- TranslateMessage(&messages);
- /* Envoie des messages à la focntion MainWndProc */
- DispatchMessage(&messages);
- }
- /* Si return 0, le programme ferme */
- return messages.wParam;
- }
-
-
- /* Traitement des messages */
- LRESULT CALLBACK MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- HWND LabelPage;
- switch (message)
- {
- case WM_CREATE: GlobalEdit = CreateWindow("edit","",WS_CHILD | WS_VISIBLE | WS_BORDER,30,20,150,17,hwnd,NULL,GlobalHInstance,NULL);
- GlobalPage = CreateWindow("edit","1",WS_CHILD | WS_VISIBLE | WS_BORDER,80,50,30,17,hwnd,NULL,GlobalHInstance,NULL);
- LabelPage = CreateWindow("static","Page : ",WS_CHILD | WS_VISIBLE,30,50,50,17,hwnd,NULL,GlobalHInstance,NULL);
- D_hwButton = CreateWindow("button","&Connect",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_DEFPUSHBUTTON,215,50,60,20,hwnd,(HMENU)1112,GlobalHInstance,NULL);
- SetFocus(GlobalEdit); /* Donne le focus au controle edit */
-
- return 0;
- break;
- case WM_DESTROY:
- PostQuitMessage (0);
- break;
- case WM_COMMAND: if(LOWORD(wParam)==QUIT)PostMessage(hwnd,WM_CLOSE,0,0); /* Traitement de Quitter du menu Fichier */
- if(LOWORD(wParam)==PROPOS)MessageBox(hwnd,
- "Crée par : Deck_bsd\nVersion : 2.0\n\nFreeware\n\nMail :deck_bsd01@yahoo.fr\nSite: http://deck-bsd.eurower.net",
- "à propos de DCKblog",
- MB_OK | MB_ICONINFORMATION);
- if(HIWORD(wParam)==BN_CLICKED && D_hwButton==GetFocus()){
- if(LOWORD(wParam)==1112){
- sky(hwnd);
- }
- return 0;
- break;
- case WM_PAINT : /* Message envoyé par windows lorsque la fenêtre à besoin de se re-dessiner */
- HDC D_hdText; /* On remet le code du message ".skyblog.com". Car si on ne traite pas WM_PAINT */
- PAINTSTRUCT D_paOnlyDelete; /*Lorque la fenêtre est mise en arrière plan et qu'on la sélectionne */
- D_hdText = BeginPaint(hwnd,&D_paOnlyDelete); /*Le text défini au début n'existe plus */
- SetBkMode(D_hdText,TRANSPARENT);
- TextOut(D_hdText,190,20,".skyblog.com",strlen(".skyblog.com"));
- ReleaseDC(hwnd,D_hdText);
- return 0;
- break;
- /*case WM_KEYDOWN : if(wParam==VK_RETURN) MessageBox(hwnd,"OUI","WM_KEYDOWN",MB_OK | MB_ICONWARNING);*/
- break;
-
-
- /* La variable de type HDC na plus une valeur obtenue avec GetDc mais bien avec BeginPaint */
- /* Cela est pour éviter le scientiellment lors du redimensionnement,... de la fenêtre. */
- /* Cela permet de redessiner seulment ce qui à besoin de l'être. */
- default:
- return DefWindowProc(hwnd, message, wParam, lParam);
- }
-
- return 0;
- }
- }
-
-
- void sky(HWND hwnd)
- {
-
- char D_szSkyblog[100]="http://";
- char D_szSkyName[50];
- char D_szNOPage[4]="";
-
- GetWindowText(GlobalEdit,D_szSkyName,50);
- GetWindowText(GlobalPage,D_szNOPage,4);
- strcat(D_szSkyblog,D_szSkyName);
- strcat(D_szSkyblog,".skyblog.com");
- if(strcmp(D_szNOPage,"")==0 || strcmp(D_szNOPage,"1")==0){
- strcpy(D_szNOPage,"index");
- }
- strcat(D_szSkyblog,"/");
- strcat(D_szSkyblog,D_szNOPage);
- strcat(D_szSkyblog,".html");
- if(32>(long)ShellExecute(NULL,"open",D_szSkyblog,0,0,SW_MAXIMIZE)){
- /* Musique :p 300 = fréquence et 90 = durée ms */
- _beep(3000,90);
- _beep(3000,90);
- MessageBox(hwnd,
- "Connexion impossible!",
- "Erreur",
- MB_OK | MB_ICONERROR);
- }
- SetWindowText(GlobalEdit,""); /*Remise du text de hEdit à zéro */
- SetFocus(GlobalEdit);
- }
#include<string.h>
#include<windows.h>
#define QUIT 1
#define PROPOS 2
/* variable HINSTANCE public */
HINSTANCE GlobalHInstance;
HWND GlobalEdit;
HWND GlobalPage;
HWND D_hwButton;
/* Signature de la procédure sky */
void sky(HWND);
/* Signature de la fonction de traitement des messages */
LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd; /* handle de la fenêtre window */
MSG messages; /* Variable qui reçoit les message */
WNDCLASSEX wincl; /* Structure de class pour créér la fenêtre */
HMENU MainMenu,UnderFileMenu; /* Variables pour les menus. */
HMENU UnderHelpMenu;
GlobalHInstance = hInstance;
wincl.hInstance = hInstance;
wincl.lpszClassName = "MaClassWin";
wincl.lpfnWndProc = MainWndProc; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof(WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, "ico.ico");
wincl.hIconSm = LoadIcon (NULL, "ico.ico");
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH)(1+COLOR_BTNFACE);
/*Enregistrement de la class en mémoire*/
if (!RegisterClassEx(&wincl))
return 0; /* si l'enregistrement de la classe à échoué on renvoie 0 pour fermer le programme */
/* Création du menu Fichier */
UnderFileMenu = CreateMenu();
AppendMenu(UnderFileMenu,MF_STRING,QUIT,"Quitter");
MainMenu = CreateMenu();
AppendMenu(MainMenu,MF_POPUP,(UINT)UnderFileMenu,"Fichier");
/* Création du menu ? */
UnderHelpMenu = CreateMenu();
AppendMenu(UnderHelpMenu,MF_STRING,PROPOS,"A propos de ...");
AppendMenu(MainMenu,MF_POPUP,(UINT)UnderHelpMenu,"?");
/* création de la fenêtre */
hwnd = CreateWindowEx(
0, /* Extended possibilites for variation */
"MaClassWin", /* Nom de la class */
"DCKblog", /* Title Text */
WS_OVERLAPPED|WS_SYSMENU |WS_MINIMIZEBOX, /* Fenêtre par défaut */
/*Pour rendre inutilisable un des trois boutons (_,[],X) Il faut un style OVERLAPPED (sans les bouton)
un style SYSMENU pour permettre l'activation des boutons et puis ensuite choisi ceux que l'on désire
ici MINIMIZE) */
CW_USEDEFAULT, /* Windows décide la position */
CW_USEDEFAULT, /* where the window ends up on the screen */
319, /* Largeur */
130, /* Hauteur */
HWND_DESKTOP,
MainMenu, /* menu */
hInstance, /* Instance handler du programme */
NULL /* No Window Creation data */
);
/* Rend la fenêtre visible */
ShowWindow (hwnd,nFunsterStil);
/* Rafraichi la zone client */
UpdateWindow(hwnd);
/* Récupération des messages*/
while (GetMessage(&messages, NULL, 0, 0))
{ /* Dès que l'on appuye sur enter */
if(messages.message == WM_KEYDOWN && messages.wParam==VK_RETURN){
sky(hwnd);
}
if(messages.message==WM_KEYDOWN && messages.wParam==VK_TAB){
HWND D_hwWhoNext;
D_hwWhoNext = GetFocus();
if(D_hwWhoNext==GlobalEdit)
SetFocus(GlobalPage);
if(D_hwWhoNext==GlobalPage)
SetFocus(D_hwButton);
if(D_hwWhoNext==D_hwButton)
SetFocus(GlobalEdit);
}
/* Traduction des messages */
TranslateMessage(&messages);
/* Envoie des messages à la focntion MainWndProc */
DispatchMessage(&messages);
}
/* Si return 0, le programme ferme */
return messages.wParam;
}
/* Traitement des messages */
LRESULT CALLBACK MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND LabelPage;
switch (message)
{
case WM_CREATE: GlobalEdit = CreateWindow("edit","",WS_CHILD | WS_VISIBLE | WS_BORDER,30,20,150,17,hwnd,NULL,GlobalHInstance,NULL);
GlobalPage = CreateWindow("edit","1",WS_CHILD | WS_VISIBLE | WS_BORDER,80,50,30,17,hwnd,NULL,GlobalHInstance,NULL);
LabelPage = CreateWindow("static","Page : ",WS_CHILD | WS_VISIBLE,30,50,50,17,hwnd,NULL,GlobalHInstance,NULL);
D_hwButton = CreateWindow("button","&Connect",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_DEFPUSHBUTTON,215,50,60,20,hwnd,(HMENU)1112,GlobalHInstance,NULL);
SetFocus(GlobalEdit); /* Donne le focus au controle edit */
return 0;
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
case WM_COMMAND: if(LOWORD(wParam)==QUIT)PostMessage(hwnd,WM_CLOSE,0,0); /* Traitement de Quitter du menu Fichier */
if(LOWORD(wParam)==PROPOS)MessageBox(hwnd,
"Crée par : Deck_bsd\nVersion : 2.0\n\nFreeware\n\nMail :deck_bsd01@yahoo.fr\nSite: http://deck-bsd.eurower.net",
"à propos de DCKblog",
MB_OK | MB_ICONINFORMATION);
if(HIWORD(wParam)==BN_CLICKED && D_hwButton==GetFocus()){
if(LOWORD(wParam)==1112){
sky(hwnd);
}
return 0;
break;
case WM_PAINT : /* Message envoyé par windows lorsque la fenêtre à besoin de se re-dessiner */
HDC D_hdText; /* On remet le code du message ".skyblog.com". Car si on ne traite pas WM_PAINT */
PAINTSTRUCT D_paOnlyDelete; /*Lorque la fenêtre est mise en arrière plan et qu'on la sélectionne */
D_hdText = BeginPaint(hwnd,&D_paOnlyDelete); /*Le text défini au début n'existe plus */
SetBkMode(D_hdText,TRANSPARENT);
TextOut(D_hdText,190,20,".skyblog.com",strlen(".skyblog.com"));
ReleaseDC(hwnd,D_hdText);
return 0;
break;
/*case WM_KEYDOWN : if(wParam==VK_RETURN) MessageBox(hwnd,"OUI","WM_KEYDOWN",MB_OK | MB_ICONWARNING);*/
break;
/* La variable de type HDC na plus une valeur obtenue avec GetDc mais bien avec BeginPaint */
/* Cela est pour éviter le scientiellment lors du redimensionnement,... de la fenêtre. */
/* Cela permet de redessiner seulment ce qui à besoin de l'être. */
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
}
void sky(HWND hwnd)
{
char D_szSkyblog[100]="http://";
char D_szSkyName[50];
char D_szNOPage[4]="";
GetWindowText(GlobalEdit,D_szSkyName,50);
GetWindowText(GlobalPage,D_szNOPage,4);
strcat(D_szSkyblog,D_szSkyName);
strcat(D_szSkyblog,".skyblog.com");
if(strcmp(D_szNOPage,"")==0 || strcmp(D_szNOPage,"1")==0){
strcpy(D_szNOPage,"index");
}
strcat(D_szSkyblog,"/");
strcat(D_szSkyblog,D_szNOPage);
strcat(D_szSkyblog,".html");
if(32>(long)ShellExecute(NULL,"open",D_szSkyblog,0,0,SW_MAXIMIZE)){
/* Musique :p 300 = fréquence et 90 = durée ms */
_beep(3000,90);
_beep(3000,90);
MessageBox(hwnd,
"Connexion impossible!",
"Erreur",
MB_OK | MB_ICONERROR);
}
SetWindowText(GlobalEdit,""); /*Remise du text de hEdit à zéro */
SetFocus(GlobalEdit);
}
Conclusion
A venir : - Adaptation pour d'autre blog (blognet, ...)
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 07 janvier 2006 14:30:45 :
- - orthographe
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Lien hypertext API Win32 [ par Buzu ]
Voila: je met à jour une application Windows faite sans les MFC.Cette app dialogue avec une base de données et la fenêtre Recherche affiche les donnée
api + chaines de caractères, concaténation.. [ par hoGan ]
Bonjour, j'ai un problème lorsque je veux convertir un char en string afin de procéder à une concaténation (dans le cadre d'une fe
[api] Définir une police pour toute la fenêtre [ par hoGan ]
Bonjour, tout est dans le titre: j'aimerais définir moi-même une police par défaut; comment faire? sinon, est-ce que quelqu'un sait m'expliquer comm
MySQL API C, libération de mémoire tampon... [ par Guizmo95 ]
Bonjour,je développe un programme en C avec l'API C pour MySQL, et mon mon problème est le suivant, je lance le programme et je regarde la m
API Windows - Problème ChooseColor [ par banane_rose ]
salut voilà j'ai une dialog et dans ma dialog j'ai un bouton censé faire apparaitre la dialog commune "choosecolor" , mais dans la structur
[api] Bouton non cliquable [ par hoGan ]
Bonjour, je me demandais comment créer un bouton non cliquable, et pouvoir le rendre cliquable par la suite.. Voilà ce que j'ai essayé:
[api] Image qui s'efface [ par hoGan ]
Bonjour, voilà ce que je voudrais faire: lorsque j'appuie sur un bouton, faire apparaître une image, et faire en sorte que celle-ci ne disp
Microsoft Speech API [ par minns ]
Je cherche un programme sur les reconnaissances vocales écrit en C++. A l'aide, Urgent.badabok
API Windows - Fenêtre sans bordure ? [ par banane_rose ]
Bonsoir , Voilà je cherche à faire une fenêtre sans bordure du tout (ou plutôt invisible) mais qui garde la fonction du redimensi
Comment utiliser IsDebuggerPresent [ par zave ]
Bonjour à tous Voilà je débute en C++, langage, je suis très intéréssé par l'aspect sécurité des program
|
Téléchargements
Logiciels à télécharger sur le même thème :
|