Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92

преобразование CString в PVOID

14.11.2013, 22:11. Показов 1224. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, вот столкнулся с такой проблемой, наверное уже здесь неоднократно обсуждалась
Хочу поменять обои рабочего стола с помощью SystemParametersInfo

Открываю картинку так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
CFileDialog FileOpen(TRUE,  //установим диалоговое окно на открытие файла
        NULL,//не будем добавлять расширение файла
        NULL,//без начального имени 
        OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, 
        _T("File Image (*.bmp)|*.bmp| File Image (*.jpeg)|*.jpeg|"),
        NULL//указатель на родителя объекта
        );
    if ( FileOpen.DoModal() == IDOK )
    {
        path = FileOpen.GetPathName();//получаем путь файла
        GetDlgItem(IDC_PATH)->SetWindowText(path);
    }
По кнопке вызываю:
C++
1
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, path,(SPIF_SENDWININICHANGE + SPIF_UPDATEINIFILE));
Но выскакивает сообщение, что невозможно преобразовать "CString" в "PVOID"
как мне это исправить?
в Cstring тот же самый путь лежит

Добавлено через 21 минуту
Сделал вот так
C++
1
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, (PVOID)&path,(SPIF_SENDWININICHANGE + SPIF_UPDATEINIFILE));
Но обои так и не поменялись, в чем причина?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2013, 22:11
Ответы с готовыми решениями:

CString::Format() и преобразование double в CString
Вот фрагмент программы: void CMy6_1Dlg::OnRadio3() { CString s; int i=m_list1.GetCount(); int a; int k=0; float...

Visual Studio 2013 преобразование типов CString в LPCSTR
Доброго времени суток, начал кодить на C++ и столкнулся вот с такой проблемой. Есть код: void CMyClip::CopyText(CString test) { if...

Преобразование int в CString ?
Подскажите как преобразовать? itoa преобразовует в *char, а хотелось бы сразу в CString...

3
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
15.11.2013, 12:32
C++
1
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, (PVOID)path.operator LPCTSTR(),(SPIF_SENDWININICHANGE + SPIF_UPDATEINIFILE));
1
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
15.11.2013, 16:36  [ТС]
CheshireCat, Спасибо!
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
17.11.2013, 17:23
Можно использовать CString::GetBuffer, который вернёт сырой чаровский буффер
C++
1
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, (PVOID)path.GetBuffer(path.GetLength()),(SPIF_SENDWININICHANGE + SPIF_UPDATEINIFILE));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2013, 17:23
Помогаю со студенческими работами здесь

Преобразование TCHAT* to CString
Необходимо реализовать преобразование массива из TCHAR* to CString. Как правильно сделать? Вот массив static TCHAR* szEcgLabelNames = {...

Преобразование CString в CEdit
Помогите. Как мне преобразовать переменную CString в CEdit с условием, что нет элемента управления CEdit. Просто нужно строку CString...

Преобразование CString->float и обратно
Здравствуйте. Можно ли строку типа CString преобразовать в число типа float (или double) (я уверен, что в строка будет вида 123.123)и...

Аргумент типа *PVOID
И так в функции createwindow, один из аргументов имеет тип HMENU. В библиотеке типов: И так, вопрос какой тип аргумента передавать,...

BSOD при получении PVOID
Здравствуйте. При попытке получения указателя PVOID получаю BSOD :( В чем здесь ошибка? PVOID InBuffer; InBuffer =...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru