Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/28: Рейтинг темы: голосов - 28, средняя оценка - 4.82
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
1

error C2440: '=' : cannot convert from 'char [9]' to 'LPCWSTR'

02.02.2011, 17:51. Показов 5123. Ответов 3
Метки нет (Все метки)

собсно ошибка

Error 1 error C2440: '=' : cannot convert from 'char [9]' to 'LPCWSTR' c:\users\igoriok\documents\visual studio 2008\projects\project\project\main.cpp 24

скопировал код из книги Петцольда, WinApi , ктот знает как с эти бороться ?

Добавлено через 11 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <windows.h>
 
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
 
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
     {
     static char szAppName[] = "HelloWin" ;
     HWND        hwnd ;
     MSG         msg ;
     WNDCLASSEX  wndclass ;
 
     wndclass.cbSize        = sizeof (wndclass) ;
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;
     wndclass.hIconSm       = LoadIcon (NULL, IDI_APPLICATION) ;
 
     RegisterClassEx (&wndclass) ;
 
     hwnd = CreateWindow (szAppName,         // window class name
                    "The Hello Program",     // window caption
                    WS_OVERLAPPEDWINDOW,     // window style
                    CW_USEDEFAULT,           // initial x position
                    CW_USEDEFAULT,           // initial y position
                    CW_USEDEFAULT,           // initial x size
                    CW_USEDEFAULT,           // initial y size
                    NULL,                    // parent window handle
                    NULL,                    // window menu handle
                    hInstance,               // program instance handle
                    NULL) ;                  // creation parameters
 
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;
 
     while (GetMessage (&msg, NULL, 0, 0))
          {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
          }
     return msg.wParam ;
     }
 
LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
     {
     HDC         hdc ;
     PAINTSTRUCT ps ;
     RECT        rect ;
 
     switch (iMsg)
          {
          case WM_CREATE :
               PlaySound ("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC) ;
               return 0 ;
 
          case WM_PAINT :
               hdc = BeginPaint (hwnd, &ps) ;
 
               GetClientRect (hwnd, &rect) ;
 
               DrawText (hdc, "Hello, Windows 95!", -1, &rect,
                         DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
 
               EndPaint (hwnd, &ps) ;
               return 0 ;
 
          case WM_DESTROY :
               PostQuitMessage (0) ;
               return 0 ;
          }
 
     return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
     }
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2011, 17:51
Ответы с готовыми решениями:

error C2440: =: невозможно преобразовать "char [8]" в "LPCWSTR"
Всем добрый вечер! Помогите исправить ошибку. Нужно заполнить структуру класса окна. В строке...

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR'
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from...

Вылезает C2440: '=' : cannot convert from 'const char [7]' to 'char'
В коде есть строки и им нужно присвоить значение, через обычное = вылезает C2440: '=' : cannot...

Ошибка: cannot convert parameter 1 from 'const char [14]' to 'LPCWSTR'
HWND hTaskBar, hButton; hTaskBar = FindWindow(&quot;Shell_TrayWnd&quot;, NULL); hButton =...

3
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
02.02.2011, 17:56 2
Перед строковыми константами L поставь - проект в юникоде
0
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
02.02.2011, 18:20  [ТС] 3
Цитата Сообщение от oxotnik Посмотреть сообщение
Перед строковыми константами L поставь - проект в юникоде
не помогает почему-то, а разве нет в настройках висуала... что то чтоб не ставить постоянно L перед строками, если не ошибаюсь, мне как то говорили, но я не помню

Добавлено через 18 минут
Цитата Сообщение от igorio4eg Посмотреть сообщение
не помогает почему-то, а разве нет в настройках висуала... что то чтоб не ставить постоянно L перед строками, если не ошибаюсь, мне как то говорили, но я не помню
а в общем то разобрался , в настройках WinApi Property Pages - Character Set на multibyte
0
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
02.02.2011, 22:53 4
можно еще строковые константы заключать в TCHAR("Some string") или _T("some string") это макросы, они в зависимости от настроек проекта сами подставляют что надо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2011, 22:53

error C2440: 'delete' : cannot convert from 'Song' to 'void *'
Строка, где выдаётся ошибка: delete mas; Деструктор: Song::~Song () { delete song;...

Исправить ошибку cannot convert parameter 1 from 'const char [15]' to 'LPCWSTR' (CopyFile)
Народ, помогите, не могу разобраться с &quot;CopyFile(LPCTSTR fromName, LPCTSTR toName, BOOL...

error C2440: =: невозможно преобразовать 'const char *' в 'char *'
есть вот такой кусок кода int getLex(){ int i = iCurrPos; char strLex, * cp; int j; while...

Error c2440: невозможно преобразовать 'const char [2]' в 'char'
С недавних пор я решил почитать и поучиться программировать, так сказать занять себя чем нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.