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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2011, 13:11   #1
levandowskiy
Пользователь
 
Регистрация: 18.08.2009
Сообщений: 32
По умолчанию Функция MessageBox

Здравствуйте, уважаемые форумчане!

Начал учиться по Щупаку программировать для windows. Набрал первый пример из книги (ниже привожу его)


Код:
#include <Windows.h>
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
        MessageBox(NULL, "Hello, Win32 World!", "Hello from messagebox", MB_OK);
        return 0;
}

А компиллятор мне выдаёт ошибку

1>d:\documents and settings\александр\мои документы\visual studio 2008\projects\test_project1\test_pr oject1\main.cpp(5) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [20]' to 'LPCWSTR'

говорит мол строка моя не является строкой Си.

Что же делать ?
levandowskiy вне форума Ответить с цитированием
Старый 28.12.2011, 13:17   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Искать: http://programmersforum.ru/showthread.php?t=99246
danekne вне форума Ответить с цитированием
Старый 03.01.2012, 03:34   #3
k907
Новичок
Джуниор
 
Аватар для k907
 
Регистрация: 03.01.2012
Сообщений: 4
По умолчанию

Попробуй в конце добавить "\0"
Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
k907 вне форума Ответить с цитированием
Старый 03.01.2012, 11:49   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Попробуй в конце добавить "\0"
может стоит вообще думать прежде чем писать?
строковые литералы(в С++) заключенные в двойные кавычки автоматически дополняются терминалым нулем.
а если бы и не дополнялись, то была бы ошибка в рантайме, а не с юникодом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.01.2012, 11:53   #5
StIX-S
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 69
По умолчанию

k907, нет, речь тут о другом. в студии по умолчанию юникод определен. надо записывать строковые константы либо так L"my text" либо так TEXT("my text").
во втором случае будет компилироваться как для юникода так и для ANSI
StIX-S вне форума Ответить с цитированием
Старый 06.01.2012, 15:00   #6
hiho
Форумчанин
 
Регистрация: 29.04.2008
Сообщений: 100
По умолчанию

попробуй для начала взять компилятор без всяких наворотов, Например Dev-C++
hiho вне форума Ответить с цитированием
Старый 06.01.2012, 16:19   #7
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от hiho Посмотреть сообщение
попробуй для начала взять компилятор без всяких наворотов, Например Dev-C++
Согласен.
В Dev-C++ код из первого поста, скомпилировался как есть, без допиливания.
*PB* вне форума Ответить с цитированием
Старый 06.01.2012, 16:58   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а я не согласен, стоит с самого начала провести грань между Юникод-проектом и обычным.
если в студии отключить Юникод у проекта то все будет отлично.
http://programmersforum.ru/showthrea...hlight=Unicode
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MessageBox Nice42ru Общие вопросы Delphi 6 04.06.2010 11:35
MessageBox CraZZZy-GameRRR Общие вопросы Delphi 7 30.05.2010 01:42
MessageBox mifka72 Помощь студентам 13 08.02.2010 14:46
messageBox Andrey174rus Общие вопросы Delphi 4 10.10.2009 17:45
MessageBox??? Рустам Общие вопросы Delphi 3 16.01.2008 01:26