GRR: E:\tmp\TinyShell\Twiny.cpp(112) : error C2065: 'OPENFILENAME' : undeclared

Signaler
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005
-
Messages postés
1
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
14 août 2004
-
Pourquoi il ne reconnait pas ce type, sur msdn ils marquent qu'il faut inclure windows.h donc j'ai rajouté:
#include "windows.h"
marche toujours pas avec les API, alors que sous mfc ca marche :((((

help

JackosKing For EvEr

10 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Sur Visual Studio
#include "windows.h"
suffit.
BruNews, ciao...
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
RECTIF
#include <windows.h>
BruNews, ciao...
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
La structure OPENFILENAME est definie dans commdlg.h.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
deja inclus par <windows.h>
BruNews, ciao...
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005

#include "Twiny.h"

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

//#include "TinyShell.cpp"

#define WS_EX_LAYERED 0x00080000
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002

extern BYTE alpha;
extern void MakeAlpha(HWND hwnd);

Twiny::Twiny()
{}

Twiny::~Twiny()
{}

Twiny::BROWSER_PLUG()
{
char FileName[MAX_PATH]="";

OPENFILENAME ofn = {
sizeof (OPENFILENAME),
NULL,
0,
" (*.*)\0*.*\0",
NULL,
0,
0,
FileName,
MAX_PATH,
NULL,
0,
PATH,
"TinyShell :: Browser",
OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY ,
NULL,
NULL,
NULL,
0,
NULL,
NULL
};

if(GetOpenFileName (&ofn))
{

}

}

mais c'est ce que j'avais mis et ca marche pas:(((

JackosKing For EvEr
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005

Encore plus simple et ne compile pas!

#include "stdafx.h"
#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
char FileName[MAX_PATH]="";

OPENFILENAME ofn = {	sizeof(OPENFILENAME),
NULL,
0,
"  (*.*)\0*.*\0",
NULL,
0,
0,
FileName,
MAX_PATH,
NULL,
0,
PATH,
"TinyShell :: Browser",
OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY ,
NULL,
NULL,
NULL,
0,
NULL,
NULL
};
return 0;
}

JackosKing For EvEr
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005

en revanche si je met:
#include <commdlg.h> ca marche!
donc c'est pas inclu dasn windows.h :(
JackosKing For EvEr
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
D'apres msdn, la structure est definie dans commdlg.h et commdlg.h est inclus dans windows.h.
Chez moi ton code se compile sans probleme, le probleme vient donc de ton windows.h (trop vieux ptet ?).
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005

je doti dire que je ne comprend pas.. il n'est pas trop vieux je pense VC++ 6.
de plus en MFC ca marche tres bien avec juste windows.h???
en app normale, marche pas.. c'est louche :(
JackosKing For EvEr
Messages postés
1
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
14 août 2004

si l'application qui dont cet erreur est genere par le "wizard" du Visual.net, ce ligne de code dans le fichier stdafx.h pourrait etre a l'origine de ce probleme:

#define WIN32_LEAN_AND_MEAN

il soufait donc de le commenter.