Pcsnake | Voici les messages du compilateur:
[Linker error] undefined reference to `GetOpenFileNameA@4' ld returned 1 exit status C:\Documents and Settings\Pcsnake\Mes documents\programmation\Essais\cryptage\Cryptage sous Win32\Makefile.win [Build Error] [Cryptage.exe] Error 1 Je ne trouve pas l'erreur la dedans:
Code :
- #include <windows.h>
- #define IDM_QUIT 1
- #define IDM_OPEN 2
- HINSTANCE hinst;
- LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
- int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- {
- HWND hwnd;
- HMENU hMenu, hSousMenu;
-
- hinst = hinstance;
-
- WNDCLASS wc;
- wc.style = 0;
- wc.lpfnWndProc = MainWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hinstance;
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = "MaWinClass";
-
- if(!RegisterClass(&wc)) return FALSE;
-
- hSousMenu = CreateMenu();
- AppendMenu(hSousMenu, MF_STRING, IDM_OPEN, "Ouvrir..." );
- AppendMenu(hSousMenu, MF_SEPARATOR, 0, NULL);
- AppendMenu(hSousMenu, MF_STRING, IDM_QUIT, "Quitter" );
- hMenu = CreateMenu();
- AppendMenu(hMenu, MF_POPUP, (UINT)hSousMenu, "Fichier" );
-
- hwnd = CreateWindow ("MaWinClass","Cryptage/Decryptage",WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,CW_USEDEFAULT,800,600,NULL,hMenu,hinstance,NULL);
-
- if (!hwnd) return FALSE;
-
- ShowWindow(hwnd, nCmdShow);
-
- UpdateWindow(hwnd);
-
- MSG msg;
-
- while (GetMessage(&msg, NULL,0,0))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return msg.wParam;
- }
- /******************************************************************************/
- LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- static HWND hEdit;
- static BOOL EditNotChg = TRUE;
-
- switch (uMsg)
- {
- case WM_CREATE:
- hEdit = CreateWindow("edit","Tapez ici votre message à crypter/décrypter",
- WS_CHILD|ES_WANTRETURN|WS_VSCROLL|ES_MULTILINE|WS_VISIBLE,
- 0,0,0,0,hwnd, NULL, hinst, NULL);
- /*hwnd = CreateWindow ("MaWinClass","Cryptage/Decryptage",WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,CW_USEDEFAULT,800,600,NULL,hMenu,hinstance,NULL);*/
- return 0;
-
- case WM_COMMAND:
- if(HIWORD(wParam) == EN_CHANGE) EditNotChg = FALSE;
- if(LOWORD(wParam) == IDM_QUIT) PostMessage(hwnd, WM_CLOSE, 0, 0);
- OPENFILENAME ofn;
- CHAR szFile[MAX_PATH]={0};
- if(LOWORD(wParam) == IDM_OPEN)
- {
- OPENFILENAME ofn;
- CHAR szFile[MAX_PATH]={0};
-
- ZeroMemory(&ofn, sizeof(OPENFILENAME));
- ofn.lStructSize = sizeof (OPENFILENAME);
- ofn.hwndOwner = hwnd;
- ofn.lpstrFile = szFile;
- ofn.nMaxFile = MAX_PATH;
- ofn.lpstrFilter =
- "Fichier source C\0*.c\0Fichier source CPP\0*.cpp\0";
- ofn.nFilterIndex = 1;
- ofn.Flags =
- OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY;
- }
- if (GetOpenFileName(&ofn)==TRUE)
- {
- HANDLE hf;
- DWORD FileSize,nbcharRead;
- char *buffer;
-
- hf = CreateFile(szFile, GENERIC_READ, 0, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
- FileSize = GetFileSize(hf, NULL);
- buffer = (PCHAR)LocalAlloc(LMEM_FIXED, FileSize + 1);
- ReadFile(hf, buffer, FileSize, &nbcharRead, NULL);
- buffer[FileSize] = 0;
- SendMessage(hEdit, WM_SETTEXT, 0, (LPARAM)buffer);
- LocalFree(buffer);
- CloseHandle(hf);
- }
- return 0;
-
- case WM_SIZE:
- MoveWindow(hEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
- return 0;
-
- case WM_CLOSE:
- if(EditNotChg ||
- MessageBox(hwnd,"Le texte à été modifié.\r\nEtes vous sûr(e) de vouloir fermer l'application?",
- "Question ?", MB_YESNO|MB_ICONQUESTION) == IDYES)
- DestroyWindow(hwnd);
- return 0;
-
- case WM_DESTROY:
- PostQuitMessage(0);
- return 0;
-
- default:
- return DefWindowProc(hwnd, uMsg, wParam, lParam);
- }
- }
|
---------------
Non pas maintenant
|