Статья Как изменять настройки интерфейса

$1and1

Активный
Сообщения
285
Реакции
43
Всем привет! Сегодня я попытаюсь объяснить как можно изменять курсор нажимать автоматически на клавиши менять обои и т.д.!


В начале изменение вида курсора! Существуют несколько видов курсора, список снизу

ЗначениеПредназначение
IDC_APPSTARTINGСтандартная стрелка и маленькие песочные часы.
IDC_ARROWСтандартная стрелка.
IDC_CROSSПерекрестие.
IDC_HANDWindows 98/Me, Windows 2000/XP: Рука.
IDC_HELPСтрелка и вопросительный знак.
IDC_IBEAMБалочный указатель (в форме двутавровой балки)
IDC_ICONУстаревшее для приложений, помеченных как версия 4.0 или выше.
IDC_NOПеречеркнутый круг.
IDC_SIZEУстаревшее для приложений, помеченных как версия 4.0 или выше. Используется IDC_SIZEALL.
IDC_SIZEALLЧетырехконечная стрелка, указывающая север, юг, восток и запад.
IDC_SIZENESWДвухконечная стрелка, указывающая северо-восток и юго-запад.
IDC_SIZENSДвухконечная стрелка, указывающая север и юг.
IDC_SIZENWSEДвухконечная стрелка, указывающая северо-запад и юго-восток.
IDC_SIZEWEДвухконечная стрелка, указывающая запад и восток.
IDC_UPARROWВертикальная стрелка.
IDC_WAITПесочные часы.


А теперь код:

C++:
LoadCursor(NULL, IDC_WAIT);//меняем тип курсора на "Песочные часы"

попробуем установить собственный курсор:
C++:
SetSystemCursor(LoadCursorFromFile(TEXT("penis.ani")), 32512);//загружаем свой курсор и устанавливаем его как системный курсор)


А сейчас поменяем обои:
C++:
char* file="1.jpg"//название обои
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, &filename,SPIF_SENDWININICHANGE);//устанавливаем на рабочий стол

тут мы будем постоянно нажимать enter:
C++:
INPUT My_input;

    My_input.type = INPUT_KEYBOARD;//говорим что действие происходит с клавиатурой
    My_input.ki.wVk = VK_RETURN;//тут энтер, можете поменять
    My_input.ki.dwFlags = 0;//флагов нет и времени тоже
    My_input.ki.time = 0;
SendInput(2, &My_input, sizeof My_input);//тут и происходит нажатие

а теперь с мышкой, двигаем его:
C++:
INPUT inp;
   

    inp[0].type = INPUT_MOUSE;//говорим что действие происходит с мышкой
    inp[0].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE ; // движение мышки
    inp[0].mi.dx = 323;//координаты X
    inp[0].mi.dy = 212;// Y
    SendInput(2, &inp, sizeof(INPUT));//тут происходит движение

ну а сейчас попробуем и нажимать левой кнопкой
C++:
INPUT My_input;

    My_input.type = INPUT_MOUSE;//говорим что действие происходит с мышкой
    My_input.ki.wVk = MOUSEEVENTF_LEFTUP;//..левая клавиша
    My_input.ki.dwFlags = 0;//флагов нет! также и таймера
    My_input.ki.time = 0;
  
  SendInput(2, &My_input, sizeof My_input);//происходит нажатие

надеюсь не зря потратил время!
 
Последнее редактирование:

Darwin

Команда форума
Администратор
Сообщения
945
Реакции
513
годная статья по изменению интерфейса)
 

Naperehvate

Следопыт
Сообщения
62
Реакции
8
Полезно. Не попадалась такая инфа.
 

nikitafajcuk

Пользователь
Сообщения
11
Реакции
0
Всем привет! Сегодня я попытаюсь объяснить как можно изменять курсор нажимать автоматически на клавиши менять обои и т.д.!


В начале изменение вида курсора! Существуют несколько видов курсора, список снизу

ЗначениеПредназначение
IDC_APPSTARTINGСтандартная стрелка и маленькие песочные часы.
IDC_ARROWСтандартная стрелка.
IDC_CROSSПерекрестие.
IDC_HANDWindows 98/Me, Windows 2000/XP: Рука.
IDC_HELPСтрелка и вопросительный знак.
IDC_IBEAMБалочный указатель (в форме двутавровой балки)
IDC_ICONУстаревшее для приложений, помеченных как версия 4.0 или выше.
IDC_NOПеречеркнутый круг.
IDC_SIZEУстаревшее для приложений, помеченных как версия 4.0 или выше. Используется IDC_SIZEALL.
IDC_SIZEALLЧетырехконечная стрелка, указывающая север, юг, восток и запад.
IDC_SIZENESWДвухконечная стрелка, указывающая северо-восток и юго-запад.
IDC_SIZENSДвухконечная стрелка, указывающая север и юг.
IDC_SIZENWSEДвухконечная стрелка, указывающая северо-запад и юго-восток.
IDC_SIZEWEДвухконечная стрелка, указывающая запад и восток.
IDC_UPARROWВертикальная стрелка.
IDC_WAITПесочные часы.


А теперь код:

C++:
LoadCursor(NULL, IDC_WAIT);//меняем тип курсора на "Песочные часы"

попробуем установить собственный курсор:
C++:
SetSystemCursor(LoadCursorFromFile(TEXT("penis.ani")), 32512);//загружаем свой курсор и устанавливаем его как системный курсор)


А сейчас поменяем обои:
C++:
char* file="1.jpg"//название обои
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, &filename,SPIF_SENDWININICHANGE);//устанавливаем на рабочий стол

тут мы будем постоянно нажимать enter:
C++:
INPUT My_input;

    My_input.type = INPUT_KEYBOARD;//говорим что действие происходит с клавиатурой
    My_input.ki.wVk = VK_RETURN;//тут энтер, можете поменять
    My_input.ki.dwFlags = 0;//флагов нет и времени тоже
    My_input.ki.time = 0;
SendInput(2, &My_input, sizeof My_input);//тут и происходит нажатие

а теперь с мышкой, двигаем его:
C++:
INPUT inp;
  

    inp[0].type = INPUT_MOUSE;//говорим что действие происходит с мышкой
    inp[0].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE ; // движение мышки
    inp[0].mi.dx = 323;//координаты X
    inp[0].mi.dy = 212;// Y
    SendInput(2, &inp, sizeof(INPUT));//тут происходит движение

ну а сейчас попробуем и нажимать левой кнопкой
C++:
INPUT My_input;

    My_input.type = INPUT_MOUSE;//говорим что действие происходит с мышкой
    My_input.ki.wVk = MOUSEEVENTF_LEFTUP;//..левая клавиша
    My_input.ki.dwFlags = 0;//флагов нет! также и таймера
    My_input.ki.time = 0;
 
  SendInput(2, &My_input, sizeof My_input);//происходит нажатие

надеюсь не зря потратил время!
Прикольная статья, поменял часы
 
Верх Низ