Accueil > Forum > > > > CreateWindow
CreateWindow
vendredi 17 décembre 2004 à 02:13:24 |
CreateWindow

Djoobstil
|
Bonjour, Est-il possible d'utiliser CreateWindow en mode console (main et non WinMain) ? Cordialement, Djoobstil
|
|
vendredi 17 décembre 2004 à 03:06:53 |
Re : CreateWindow

Nebula
|
Ben oui : une application console est une application Win32.
|
|
vendredi 17 décembre 2004 à 11:06:45 |
Re : CreateWindow

Djoobstil
|
Pourtant, je n'arrive pas à le faire générer d'HWND (j'en ai besoin pour les sockets asynchrones). En fait, je sais pas vraiment comment m'y prendre, je dois plutt faire un CreateDialog ou CreateWindow sachant que j'ai la fentre qui reçoit la réponse de la fonction asynchrone: LRESULT CALLBACK WSAAsyncProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_WSAASYNC: if (!WSAGETSELECTERROR(lParam)) puts("WSAAsyncGetHostByAddr success."); else puts("error"); return 1; } return 1; }
|
(Code en C). Cordialement, Djoobstil
|
|
vendredi 17 décembre 2004 à 13:39:55 |
Re : CreateWindow

Nebula
|
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowfeatures.asp?frame=true#message_only
Et tu gères les messages qui t'intéressent (ainsi que quelques obligatoires pour quitter le programme, WM_DESTROY au minimum).
|
|
vendredi 17 décembre 2004 à 18:20:19 |
Re : CreateWindow

Djoobstil
|
Le probleme est que je n'arrive pas a former le HWND, il est toujours à null. Une idée de la raison ?
Cordialement, Djoobstil
|
|
vendredi 17 décembre 2004 à 18:59:20 |
Re : CreateWindow

Nebula
|
Ce code fonctionne chez moi, pioche dedans ce qui te manque : #include <windows.h> #include <stdio.h> #include "assert.h"
#define WND_CLASS TEXT("CONSOLE_WND")
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_MOUSEMOVE: puts("Ahaha, ca chatouille !"); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } }
int main(void) { WNDCLASSEX wc; HWND hWnd; MSG Msg; wc.cbSize = sizeof(wc); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = GetModuleHandle(NULL); wc.hIcon = NULL; wc.hCursor = NULL; wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1); wc.lpszMenuName = NULL; wc.lpszClassName = TEXT(WND_CLASS); wc.hIconSm = NULL; assert(RegisterClassEx(&wc) != 0); hWnd = CreateWindowEx(WS_EX_APPWINDOW, TEXT(WND_CLASS), TEXT("Une fenêtre en mode console"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 300, 100, NULL, NULL, wc.hInstance, NULL); assert(hWnd != NULL); ShowWindow(hWnd, SW_SHOWNORMAL); assert(UpdateWindow(hWnd) != 0); while (GetMessage(&Msg, NULL, 0, 0) > 0) { if (IsDialogMessage(hWnd, &Msg) == 0) { TranslateMessage(&Msg); DispatchMessage(&Msg); } } return Msg.wParam; } |
|
|
vendredi 17 décembre 2004 à 20:18:31 |
Re : CreateWindow

Djoobstil
|
Parfait, ça marche ! Mais ça soulève un deuxième probleme avec: WSAAsyncGetHostByAddr Je l'utilise comme suit: WSAAsyncGetHostByAddr(hwnd, WM_WSAASYNC, (char *)&addr, len, type, (char *)&listn->hp, sizeof(listn->hp));
|
il n'appelle pas WndProc, alors que normalement, même en cas d'échec de la résolution de l'host il devrait appeller la fonction. Cordialement, Djoobstil
|
|
vendredi 17 décembre 2004 à 20:44:20 |
Re : CreateWindow

Nebula
|
Hm il l'appelle en cas de succès au moins ?
|
|
vendredi 17 décembre 2004 à 21:44:32 |
Re : CreateWindow

Djoobstil
|
oui et en cas de succès, lParam est null. Cordialement, Djoobstil
|
|
vendredi 17 décembre 2004 à 22:53:51 |
Re : CreateWindow

aardman
|
Salut,
HANDLE WSAAsyncGetHostByAddr( HWND hWnd, unsigned int wMsg, const char* addr, int len, int type, char* buf, int buflen );
hWnd: handle de fenetre valide. wMsg: message qui sera envoyé a la fenetre. addr: pointeur sur un DWORD qui contient l'adresse a resoudre (format ipv4). len: longueur de l'adresse, c'est a dire sizeof(DWORD). type: SOCK_STREAM buf: buffer vide, déclaré en global, d'une taille de MAXGETHOSTSTRUCT octets. (un tableau de BYTE par exemple). buflen: taille du buffer, c'est a dire MAXGETHOSTSTRUCT.
Quand tu recois le message, tu peux afficher le numéro de l'erreur (HIWORD(lParam)) S'il n'y a pas d'erreur, tu peux déclarer un pointeur struct hostent* et le caster avec l'adresse du tableau de byte. Et ensuite tu peux acceder aux champs de la structure hostent..
|
|
Cette discussion est classée dans : font, tahoma, createwindow
Répondre à ce message
Sujets en rapport avec ce message
probleme de boucle!!! :( [ par matteokun ]
matteokunBonjour,Je suis débutant en C++ et j'essai de réaliser le jeu du pendu en C++ mais je rencontre quelques difficultées sur une boucle...Biensu
trivial pursuit en langage c [ par blainchris ]
chrisun grand merci pour gds75 pour son coup de main, mais si quelqu' un avait un autre programme en c du trivial pursuit avec une interface graphique
A propos de Builder 4 [ par franclin ]
erreur:Regle du projet introuvable a l`ouverture d`un fichier a quoi est-il du?
ShellExecute bloquant [ par garslouche ]
Bonjour,je voudaris lancer un programme et ne récupérer la main que que celui-ci est terminé.Y a-t-il une sorte de ShellExecute bloquant ?Merci.On ne
Grand débat [ par garslouche ]
Bonjour à tous,je voudrais avoir l'avis d'un maximum de gens sur la question suivante :Quand vous programmez comment choisissez-vous le nom des variab
Opérateur postfixé [ par garslouche ]
Bonjour à tous,est-ce quelqu'un asit s'il est possible de définir un opérateur unaire post-fixé ?Par exemple pour faire factorielleMerciOn ne force pa
Les fonctions d'une DLL [ par garslouche ]
Salut,je voudrais pourvoir connaitre les fonctions externes d'une DLL (comme le fait l'outil Depends de VC++).Idéalement j'aimerais aussi voir le type
Form et PID [ par garslouche ]
Bonjour,j'ai le handle d'une fenêtre et je voudrais récupérer le ProcessID de l'appli qui l'a créée.Est-ce possible ? Si oui, comment ?Merci !On ne fo
Propriétés [ par garslouche ]
Bonjour à tous,je souhaite afficher la fenêtre de propriétés d'un fichier tout comme le fait Windows.Eventuellement la même chose pour un répertoire s
Makefile VC++ 6 [ par garslouche ]
Bonjour,j'ai exporté le makefile d'un projet. Je récupère donc un fichier .mak que j'ai ensuite modifié.Comment faire pour que VC++ utilise ce makefil
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|