Форум: "WinAPI";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизОбновление списка оборудования ОС Найти похожие ветки
← →
Apophis © (2004-11-18 23:22) [0]Подскажите, пожалуйста, как программно выполнить следующие действия (Win XP):
Мой компьютер --> Свойства --> Оборудование --> Диспетчер устройств --> !ОБНОВИТЬ! (да еще желательно и в фоне!)
Спасибо!
← →
Defunct © (2004-11-18 23:26) [1]Зачем???
да еще и в WinXP
← →
Apophis © (2004-11-18 23:42) [2]Ну надААА!!!
Так можно и как?
← →
Юпитер (2004-11-19 01:54) [3]обновить не знаю но просто запустить.. это
Не получаца скрыть иконку внешней програмки
WinExec("C:\windows\system32\devmgmt.exe",0);
{хотя можно :) после запуска его скрыть и виртуально нажать сначала
на компьютер в списке и кнопку обновить}
//чтобы скрыть
ShowWindow(FindWindow(0, "Диспетчер Устройств"),HIDE_WINDOW);
//чтобы закрыть
SendMessage(FindWindow(nil,"Диспетчер Устройств"), WM_CLOSE, 0, 0);
ниче не возможного :) еще существуют команды API только их надо искать... и комманды shell32 и user32...
← →
DC-AC (2004-11-19 08:26) [4]Когда-то на эту тему был такой ответ :
--------------------------------------------------------------------------------
N170 (04.04.04 18:27) [1]
Поищите в MSDN статью:
"HOWTO: Force Reenumeration of a Device Tree From an Application"
[PSS ID Number: 259697]
[Q259697]
Там есть ответ с примером кода.
--------------------------------------------------------------------------------
← →
Apophis © (2004-11-20 00:31) [5]DC-AC
Найти-то я нашел, а как сие на Делфях будет выглядеть? Какие типы переменных и как их вызывать?
-----------------------------------
BOOL ScanForHardwareChanges()
{
DEVINST devInst;
CONFIGRET status;
//
// Get the root devnode.
//
status = CM_Locate_DevNode(&devInst, NULL, CM_LOCATE_DEVNODE_NORMAL);
if (status != CR_SUCCESS) {
printf("CM_Locate_DevNode failed: %x\n", status);
return FALSE;
}
status = CM_Reenumerate_DevNode(devInst, 0);
if (status != CR_SUCCESS) {
printf("CM_Reenumerate_DevNode failed: %x\n", status));
return FALSE;
}
return TRUE;
}
-----------------------------------
Ну не сталкивался я Сями раньше :(
← →
DC-AC (2004-11-20 14:48) [6]Я только привёл ответ. Сам я это не делал. Для Delphi сначала придётся поискать переведённый хидер Cfgmgr32.h содержащий описания структур и функций Cfgmgr32.dll или перевести его самому. На www.delpihi-jedi.org лежит много переведённых хидеров, сам пользовался Setupapi.pas. Скачай его, посмотри, может там что-нибудь похожее есть.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.054 c