Помогите пожалуйста!
Проблема в том что, после сборки и компиляции появляется не псевдо кнопка с надписью пуск, а такого же размера серый прямоугольник и надписью "file".
При попытке запуска exe'шника на другой машине выскакивает сообщение о неправильно настроенной программе.
Прокомментированный исходник во вложении.
Насколько я помню, там описано достаточно подробно. Читайте книгу внимательно.
Вероятно, также нужно почитать учебник по C++.
PS и нефиг плодить темы!
Во-первых, если б, это было так несложно, то я бы не писал сюда (согласен, на бумаге в теории всё очевидно).
Во-вторых, книг я прочитал немало, в т.ч. и классики (Кернигана и Ричи).
В третьх, с программированием под Windows начал разбираться недавно. Хотел на конкретных примерах, а тут в стену упёрся.
В четвёртых, в том и дело его проект (VS2002) с диска собирается без проблем. А мой, точно такой в VS2008 с описаной проблемой.
Спасибо за банальный ответ. Лучше бы подсказали на чём я спотыкаюсь, чем делать замичаня.
Пожалуйста подскажите...
Начиная с VS2005 по умолчанию используется UNICODE. Из за этого некоторые проги не компилятся. Включая эту. Поэтому надо использовать Multi-Byte Character Set (добавсление постфикса А, в данном случае не помогает);
Компилировать надо с опцией /MT (по умолчанию /MD);
Однако, разве смены кодировки достаточно для данного примера? Там же ещё главное меню мешается, закрывая фальшивую кнопку Пуск. Насколько я помню, я удалял главное меню, чтобы данный пример заработал как надо.
В коде опублекованном в книге (не на диске)
ещё нужно подправить (после смены кодировки):
1. в структуре окнонного класса написать:
Код:
wcex.lpszMenuName = ""; //указатель на строку меню
2. в функции
Код:
DrawStartButton()
Код:
ShowWindow(hWnd,SW_SHOW);
3. в функции
Код:
initInstance(...
Код:
//HWND hWnd;
этот дискриптор декларируется глобально
Цитата: koodeer
... Там же ещё главное меню мешается, закрывая фальшивую кнопку Пуск. Насколько я помню, я удалял главное меню, чтобы данный пример заработал как надо.
Это Вы про смену контекста устройства?