Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2013, 01:59   #1
Micon
Новичок
Джуниор
 
Регистрация: 10.01.2013
Сообщений: 3
Злость Все как по книге а результата нет!Программиру на Visual C++ 2010

#include <windows.h>

LRESULT CALLBACK MainWinProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
{
switch(msg)
{
case WM_PAINT:break;
case WM_DESTROY:
PostQuitMessage(0);
return(0);
break;

}
return(DefWindowProc(hwnd,msg,wpara m,lparam));
}

int WINAPI WinApi(HINSTANCE hinstance,HINSTANCE hprevinstance,LPSTR lpcmdline,int ncmdshow)
{
WNDCLASSEX win;
HWND hwnd;
MSG msg;
win.cbSize = sizeof(WNDCLASSEX);
win.style = CS_DBLCLKS|CS_OWNDC|CS_HREDRAW|CS_V REDRAW;
win.lpfnWndProc = MainWinProc;
win.cbClsExtra = 0;
win.cbWndExtra = 0;
win.hInstance = hinstance;
win.hIcon = LoadIcon(NULL,IDC_ARROW);
win.hCursor = LoadCursor(NULL,IDC_ARROW);
win.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
win.lpszMenuName = NULL;
win.lpszClassName = L"WINDOWSCLASS";
win.hIconSm = LoadIcon(NULL,IDI_APPLICATION);

if(!(hwnd = CreateWindowEx(NULL,L"WINDOWSCLASS" ,L"Базовое окно для DirectX",WS_OVERLAPPEDWINDOW|WS_VIS IBLE,0,0,500,400,NULL,NULL,hinstanc e,NULL)))


return (0);

ShowWindow(hwnd,SW_SHOWDEFAULT);
UpdateWindow(hwnd);

while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(msg.wParam);
}



Выдает ошибку :

1>------ Построение начато: проект: c, Конфигурация: Debug Win32 ------
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
1>C:\Users\чит\documents\visual studio 2010\Projects\c\Debug\c.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Micon вне форума Ответить с цитированием
Старый 10.01.2013, 02:04   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
int WINAPI WinApi(HINSTANCE hinstance,HINSTANCE hprevinstance,LPSTR lpcmdline,int ncmdshow)
в книге так и написано?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.01.2013, 02:06   #3
Micon
Новичок
Джуниор
 
Регистрация: 10.01.2013
Сообщений: 3
По умолчанию

Да точно так..
Micon вне форума Ответить с цитированием
Старый 10.01.2013, 02:12   #4
Micon
Новичок
Джуниор
 
Регистрация: 10.01.2013
Сообщений: 3
По умолчанию

Оказывается не так)))Просто я 2 дня как занялся программ.Короче исправил теперь сишит ошибки такие :

"c.exe": Загружено: "C:\Users\чит\Documents\Visual Studio 2010\Projects\c\Debug\c.exe", Символы загружены.
"c.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll" , Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\kernel32.d ll", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\KernelBase .dll ", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\user32.dll ", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\gdi32.dll" , Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\lpk.dll", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\usp10.dll" , Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\msvcrt.dll ", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\advapi32.d ll", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\sechost.dl l", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\rpcrt4.dll ", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\sspicli.dl l", Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\cryptbase. dll" , Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d. dll" , Символы загружены.
"c.exe": Загружено: "C:\Windows\SysWOW64\imm32.dll" , Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\msctf.dll" , Невозможно найти или открыть файл PDB
"c.exe": Загружено: "C:\Windows\SysWOW64\nvinit.dll ", Невозможно найти или открыть файл PDB
Программа "[4996] c.exe: Машинный код" завершилась с кодом 0 (0x0).




И не выводит окно
Micon вне форума Ответить с цитированием
Старый 10.01.2013, 03:20   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это не ошибки, хотя код не верен.
или чтото еще упустили или книгу в мусор.

у вас нет регистрации класса окна.
итог, замените ваше return (0) на return (1).
и программа будет завершатся именно с этим кодом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как рисовать в visual srudio 2010 Kot070 Общие вопросы C/C++ 8 22.12.2012 16:29
Как выводить в Visual C# 2010? AnthonyB Visual C++ 7 27.05.2012 12:56
Как найти все ошибки в книге? Maryver Microsoft Office Excel 2 16.06.2011 19:08
Проблема с microsoft visual c++ 2010, нет окно решение XxXGhosTXxX Софт 3 04.04.2011 18:22
Как проверить все ли ячейки в StringGrid заполнены или нет ? Ветас Помощь студентам 4 11.11.2009 22:54