Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Joey
Джоуи Скалолазер
 Аватар для Joey
217 / 131 / 28
Регистрация: 05.05.2015
Сообщений: 984
Записей в блоге: 1
14.07.2015, 21:23     Как работать с функцией SystemParametersInfo? #1
Чтобы установить обои рабочего стола. Пишу вот так:
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, если что
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Митя800
45 / 45 / 12
Регистрация: 13.07.2015
Сообщений: 149
14.07.2015, 22:40     Как работать с функцией SystemParametersInfo? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Смотрели? Программная смена обоев рабочего стола...
и http://cboard.cprogramming.com/windo...er-issues.html

что функция возвращает? true?
Joey
Джоуи Скалолазер
 Аватар для Joey
217 / 131 / 28
Регистрация: 05.05.2015
Сообщений: 984
Записей в блоге: 1
14.07.2015, 23:46  [ТС]     Как работать с функцией SystemParametersInfo? #3
А, все, разобрался. Всем спасибо

Добавлено через 4 минуты
Митя800, спасибо, твоя вторая ссылка помогла реализовать этот код еще и в Dev-C++, моей любимой среде
Joey
Джоуи Скалолазер
 Аватар для Joey
217 / 131 / 28
Регистрация: 05.05.2015
Сообщений: 984
Записей в блоге: 1
19.07.2015, 14:08  [ТС]     Как работать с функцией SystemParametersInfo? #4
А как передать в эту функцию переменную string? Пробовал
C++
1
2
3
4
5
6
7
8
string str;
str = "1.bmp";
SystemParametersInfo{
SPI_SETDESKWALLPAPER,
0,
(void*)&str,
SPIF_SENDCHANGE
}
Ничего не изменяется
Митя800
45 / 45 / 12
Регистрация: 13.07.2015
Сообщений: 149
23.07.2015, 12:31     Как работать с функцией SystemParametersInfo? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Попробуйте метод c_str http://www.cplusplus.com/reference/string/string/c_str/
C++
1
str.c_str() // вместо str
Joey
Джоуи Скалолазер
 Аватар для Joey
217 / 131 / 28
Регистрация: 05.05.2015
Сообщений: 984
Записей в блоге: 1
25.07.2015, 21:31  [ТС]     Как работать с функцией SystemParametersInfo? #6
Митя800, Excellent)) пасиба
Yandex
Объявления
25.07.2015, 21:31     Как работать с функцией SystemParametersInfo?
Ответ Создать тему
Опции темы

Текущее время: 12:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru