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

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

Восстановить пароль Регистрация
 
zra123
4 / 4 / 0
Регистрация: 27.10.2012
Сообщений: 10
27.10.2012, 02:29     Включение отключение и перезапуск устройства #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);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 02:29     Включение отключение и перезапуск устройства
Посмотрите здесь:

Включение файла без .h C++
C++ Перезапуск программы
C++ Программный перезапуск программы
Перезапуск программы C++
C++ Бинарное включение
Включение библиотеки C++
C++ Перезапуск программы
C++ Проверка на включение, множества

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
raxp
10140 / 6527 / 475
Регистрация: 28.12.2010
Сообщений: 21,167
Записей в блоге: 1
27.10.2012, 11:18     Включение отключение и перезапуск устройства #2
1- через SetupAPI, исходники devcon открыты, через SetupAPI он и работает.
Yandex
Объявления
27.10.2012, 11:18     Включение отключение и перезапуск устройства
Ответ Создать тему
Опции темы

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