С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zra123
4 / 4 / 0
Регистрация: 27.10.2012
Сообщений: 10
#1

Включение отключение и перезапуск устройства - C++

27.10.2012, 02:29. Просмотров 918. Ответов 1
Метки нет (Все метки)

Иметься программа включающая и отключающая видео карту.
1) Хотелось бы реализовать включение и отключение не используя внешнего файла (devcon альтернативный диспетчер задач).
2) На ноуте имеется кнопка браузер, новая вкладка (VK_BROWSER_HOME), через реестр можно на неё назначить любое действие. запуск .exe файла. то есть при её нажатии вызывается сие программа. Если жать кнопку браузер происходит вкл\откл, но если зажать F4 и нажать браузер, то будет рестарт устройства. хотелось бы использовать VK_BROWSER_HOME вместо VK_F4, но не получается т.к. при удержании клавиши выдает "0" то есть однократное нажатие без повторения.(то есть к примеру если зажать F5 то он многократно начнет обновлять. а кнопка браузер при удержании срабатывает всего раз.)
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
#include <windows.h>
#include <iostream>
int main()
{
SHORT Extrakey;
Extrakey = GetAsyncKeyState (_In_ VK_F4); //проверка отжата ли клавиша если да то рестарт устройства (хотелось бы использовать VK_BROWSER_HOME)
if (Extrakey==0)
    {   
    HKEY hKey;
    DWORD buffer;
    unsigned long size=8;
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E968-E325-11CE-BFC1-08002BE10318}\\0001",0,KEY_READ,&hKey);
        {
        RegQueryValueEx(hKey,L"DAL_ACEspectReady",NULL,NULL,(LPBYTE)&buffer,&size);
        RegCloseKey(hKey);//Взятие значения из реестра о состояние видео карты
        }
    if (buffer == 1)//если 1 то отключаем её
        ShellExecute (NULL, L"open", L"devcon_x64.exe", L"disable PCI\\VEN_1002*", NULL,SW_HIDE);
    else //если 0 то включаем
        ShellExecute (NULL, L"open", L"devcon_x64.exe", L"enable PCI\\VEN_1002*", NULL,SW_HIDE);
    }
else
    {//если F4 нажата то рестарт
        ShellExecute (NULL, L"open", L"devcon_x64.exe", L"restart PCI\\VEN_1002*", NULL,SW_HIDE);
    }
return(0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 02:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Включение отключение и перезапуск устройства (C++):

Программное отключение\включение ADSL - C++
Здравствуйте, есть ли у кого соображение по поводу, как программно отключить\включить ADSL интернет?

Перезапуск программы - C++
Подскажите как реализовать перезапуск программы, ну допустим задаем условие и если условие выполняется то включить перезапуск программы (не...

Перезапуск программы - C++
Как мне программно перезапустить приложение? Нужно чтобы программа перезапустила себя сам, при том что ее расположение неизвестно ...

Перезапуск программы - C++
Доброго времени суток. Подскажите пожалуйста как сделать, чтобы по окончанию программы выходило сообщение: &quot;Выбрать другой рецепт? да(y)/...

Перезапуск программы - C++
Скажите, пожалуйста, можно ли как-нибудь сделать перезапуск своей программы из нее же самой? Нужно чтобы после завершения всех действий и...

перезапуск программы - C++
пишу игру. в &quot;конце поставил проверку, хотите ли запустить заново?&quot; использовал кучу функций. можно ли в какой-то функции заставить...

1
raxp
10168 / 6554 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
27.10.2012, 11:18 #2
1- через SetupAPI, исходники devcon открыты, через SetupAPI он и работает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2012, 11:18
Привет! Вот еще темы с ответами:

Перезапуск программы - C++
Нужно перезапустить программу нажатием на любую букву, кроме n. В чем ошибка? #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include...

Программный перезапуск программы - C++
Здравствуйте, как программно сделать перезапуск программы в программе (работаю в VS) . При этом путь к .exe должен определяться...

Перезапуск таймера при повторном запуске потока - C++
#include &lt;condition_variable&gt; #include &lt;iostream&gt; #include &lt;random&gt; #include &lt;thread&gt; #include &lt;mutex&gt; #include &lt;queue&gt; ...

Включение/отключение USB-устройства - CMD/BAT
есть у меня USB-устройство, которое имеет свойство подвисать периодически: приходится заходить в диспетчер устройств, отключать/включать...


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

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

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