Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
1

Как работать с функцией SystemParametersInfo?

14.07.2015, 21:23. Просмотров 760. Ответов 5
Метки нет (Все метки)

Чтобы установить обои рабочего стола. Пишу вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <Windows.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    if (SystemParametersInfo (
   SPI_SETDESKWALLPAPER,
   0,
   "1.bmp",
   SPIF_UPDATEINIFILE) == true) {return 0;};
    return 0;
}
Причем файл 1.bmp находится в одной папке с программой,
и пишу вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <Windows.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    SystemParametersInfo (
   SPI_SETDESKWALLPAPER,
   0,
   "D:\1.bmp",
   SPIF_UPDATEINIFILE);
    return 0;
}
В обоих случаях программа (и отладка) проходят без ошибок, однако на рабочем столе ничего не меняется. Может я неправильно указываю путь к файлу?

Добавлено через 40 секунд
Visual Studio, если что
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 21:23
Ответы с готовыми решениями:

Как работать с функцией rand()
Помогите сделать так, чтобы rand() каждый раз выкидывал неповторяющиеся...

Как работать с функцией memchr( ) в С++
Помогите пожалуйста разобраться как работает функция memchr() в С++. Я...

Как правильно работать с функцией window()?
Задача такая. Вывести в верхней части экрана небоольшой заголовок с менюшками....

Как корректно работать с функцией fread?
Мне необходимо считать информацию из одной директории, а потом поместить эту же...

Как правильно работать с функцией _getch() ?
Ребята, задача такова: Надо нарисовать фигурку в консоли. И дигать ,по...

5
Митя800
66 / 66 / 19
Регистрация: 13.07.2015
Сообщений: 219
14.07.2015, 22:40 2
Лучший ответ Сообщение было отмечено Joey как решение

Решение

Смотрели? Программная смена обоев рабочего стола...
и http://cboard.cprogramming.com/windo...er-issues.html

что функция возвращает? true?
1
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
14.07.2015, 23:46  [ТС] 3
А, все, разобрался. Всем спасибо

Добавлено через 4 минуты
Митя800, спасибо, твоя вторая ссылка помогла реализовать этот код еще и в Dev-C++, моей любимой среде
0
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
19.07.2015, 14:08  [ТС] 4
А как передать в эту функцию переменную string? Пробовал
C++
1
2
3
4
5
6
7
8
string str;
str = "1.bmp";
SystemParametersInfo{
SPI_SETDESKWALLPAPER,
0,
(void*)&str,
SPIF_SENDCHANGE
}
Ничего не изменяется
0
Митя800
66 / 66 / 19
Регистрация: 13.07.2015
Сообщений: 219
23.07.2015, 12:31 5
Лучший ответ Сообщение было отмечено Joey как решение

Решение

Попробуйте метод c_str http://www.cplusplus.com/reference/string/string/c_str/
C++
1
str.c_str() // вместо str
1
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
25.07.2015, 21:31  [ТС] 6
Митя800, Excellent)) пасиба
0
25.07.2015, 21:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2015, 21:31

Как работать с указателями и как работать с ссылками
Я в книге дочитал до темы указатели и ссылки, не понимаю как работать с...

Подскажите как воспользоваться функцией.
Здрасте. В книжке Джесс Либерти &quot;Освой самостоятельно С++ за 21 день&quot;, 3е...

Как пользоваться функцией rand()?
Все привет. Пытаюсь пользоваться функцией rand(), а получаю сообщение ...


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

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

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