FAQ по Visual Basic

Содержание / Windows API Поиск | Далее

§ 5.18. Как вызвать апплеты из панели управления?

Обычно для этого вызывается control.exe, а в командной строке указывается имя апплета, например:

control.exe desk.cpl

Однако его нельзя назвать правильным, а кроме того, таким способом не получится вызвать, например, окно настройки клавиатуры.

Более правильным можно считать метод вызова апплетов или самой контрольной панели через служебную утилиту RunDll32.exe:

rundll32.exe Shell32.dll,Control_RunDLL applet @number

или

rundll32.exe Shell32.dll,Control_RunDLL applet,,tab

где:
applet — название файла с расширением cpl,
number — внутренний номер апплета,
tab — закладка, на которую нужно перейти.

Запустить команду на выполнение можно как с помощью банальной функции Shell, так и используя функцию ShellExecute.

Рассмотрим только команды, не оговария сам способ запуска:

' Вызов панели управления
rundll32.exe  Shell32.dll,Control_RunDLL
' Свойства системы, открыть закладку "Устройства"
rundll32.exe  Shell32.dll,Control_RunDLL sysdm.cpl,,1
' Принтеры
rundll32.exe  Shell32.dll,Control_RunDLL main.cpl @2
' Свойства экрана, закладка "Настройка"
rundll32.exe  Shell32.dll,Control_RunDLL desk.cpl,,3
' Установка оборудования
rundll32.exe  Shell32.dll,Control_RunDLL sysdm.cpl @1

Чтобы вызвать другие апплеты, попробуйте поэкспериментировать. Или в любом вьювере (скажем, F3 в Far'е) откройте файл control.exe и внимательно его изучите.

Автор:
Александр Щербаков

Предыдущий раздел Следующий раздел

© 2004. При цитировании, пожалуйста, не забудьте поставить ссылку на оригинальную страницу.