|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.03.2012, 22:55 | #1 |
Пользователь
Регистрация: 17.03.2012
Сообщений: 15
|
Окно в visual c++ 2010
Здравствуйте, решил начать изучение создания окон в Windows. Нашёл код но в моей Visual C++ 2010 ничего не получилось. Так же у меня установлена SDK, как я понимаю для WinApi. Всё делаю только подключая заголовочный файл "windows.h". Возможно в этом есть ошибка, не знаю, но в текстах программ других подключаемых файлов не было. Вот текст прогораммы:
#include "windows.h" LRESULT __stdcall WndProc(HWND hWnd, UINT massage, WPARAM wParam,LPARAM lParam); typedef struct { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTACNE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName } WNDCLASS, *PWNDCLASS; int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // if not work, needing copy from upstairs WNDCLASS wc { CS_OWNDC; WndProc; NULL; NULL; hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)(6); NULL; wc.lpszClassName = L"wIndow"; } RegisterClass(&wc); HWND hWnd = CreateWindow(L"wIndow", L"half-finished product", WS_OVERLAPPEDWINDOW, 150,100,500,400, NULL, NULL,hInstance,NULL); ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); MSG msg; while(true) { if(PeekMassage(&msg,hWnd,0,0,PM_REM OVE)) { if(msg.massage == WM_QUIT) break; TranslateMassage(&msg); DispatchMassage(&msg); } } return 0; } Знаю что здесь много ошибок, но это моя сборка с помощью руководства, которое я нашёл в интернете. Прошу указать на ошибки, за труды большое спасибо... Так же я нашёл готовый вариант, но среда выдаёт одинаковые ошибки... тут я совсем зашёл в тупик... Вот что пишет Visual C++: 1>LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup 1>C:\Users\Aleksei\Documents\Visua l Studio 2010\Projects\window_first_step-001\Debug\window_first_step-001.exe : fatal error LNK1120: 1 unresolved externals Ещё раз большое спасибо за обращённое внимание. |
17.03.2012, 23:00 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
хм...вы точно создавали проект Win32?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
17.03.2012, 23:11 | #3 |
Пользователь
Регистрация: 17.03.2012
Сообщений: 15
|
Я создал Win32 Project и поставил галачку пустой проэкт....
|
18.03.2012, 02:54 | #4 |
Пользователь
Регистрация: 24.06.2011
Сообщений: 69
|
в вашем коде куча ошибок, в том числе и синтаксических. лучше посмотрите то, что генерирует visual studio по умолчанию. для изучения GUI лучше воспользоваться программой VISG
|
18.03.2012, 15:58 | #5 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 558
|
ИМХО все можно сделать намного проще.
Код:
|
18.03.2012, 16:38 | #6 |
Пользователь
Регистрация: 17.03.2012
Сообщений: 15
|
Кто подскажет, что за язык используется выше? C#?
|
18.03.2012, 16:43 | #7 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 558
|
Нет. Это PureBasic.
На C# нет смысла писать на WinAPI из-за .NET и того, что все API нужно будет самому декларировать. Если уж что-то пишешь на WinAPI то, компилятор должен создавать нативный код, по возможности без рантайм библиотек, а иначе теряется смысл программирования на WinAPI. К примеру, программа выше, будет работать даже на Windows 95 без установки дополнительных файлов, чего невозможно добиться используя C# (.NET не установится) или C++ из VS 2010. А вообще, лучше использовать кроссплатформенные библиотеки и не привязываться к винде. Последний раз редактировалось *PB*; 18.03.2012 в 16:48. |
18.03.2012, 16:48 | #8 |
Форумчанин
Регистрация: 26.09.2011
Сообщений: 176
|
Код:
|
18.03.2012, 17:39 | #9 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Асурус
Подход неправильный. Изучать WinAPI (и вообще, что-либо) нужно по книжкам, а не фтыкая в найденный на помойке говно-код.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
18.03.2012, 20:26 | #10 |
Пользователь
Регистрация: 17.03.2012
Сообщений: 15
|
microbit
Спасибо за старания. Только моя среда выдаёт это: 1>------ Build started: Project: Window, Configuration: Debug Win32 ------ 1>LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup 1>C:\Users\Aleksei\Documents\Visua l Studio 2010\Projects\Window\Debug\Window.e xe : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== Думаю проблема в настройках... Какая, не знаю... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ на Visual studio 2010 | Kasperiks | Visual C++ | 3 | 07.01.2012 19:19 |
При каждом запуске Word 2010 вылезает окно настройки | iukash | Microsoft Office Word | 0 | 23.11.2011 23:05 |
visual studio 2010>>>Cи? | abzas | Общие вопросы C/C++ | 13 | 22.09.2011 20:58 |
Проблема с microsoft visual c++ 2010, нет окно решение | XxXGhosTXxX | Софт | 3 | 04.04.2011 18:22 |
Visual studion 2010 | Dimarik | Общие вопросы .NET | 6 | 23.05.2010 22:02 |