|
Если вы хотите запустить любую задачу из Панели Управления, вам достаточно использовать функцию SHELL: Shell "rundll32.exe shell32.dll,Control_RunDLL " & FileName, vbNormalFocus,
где FileName - имя файла с расширением ".CPL",
которые расположены в директории %windir/system%
Данный пример покажет все файлы с расширением
".CPL".
Первая кнопка запускает проводник со всеми
расширениями, вторая - запускает конкретный
сервис.
Добавьте 2 CommandButton и 1 FileListBox
на форму. Вставьте следующий код в события формы.
Public Sub RunControlPanelExtension(FileName As String)
Shell "rundll32.exe shell32.dll,Control_RunDLL " & FileName, vbNormalFocus
End Sub
Private Sub Command2_Click()
RunControlPanelExtension File1.FileName
End Sub
Private Sub Command1_Click()
Shell "rundll32.exe shell32.dll,Control_RunDLL", vbNormalFocus
End Sub
Private Sub Form_Load()
File1.Pattern = "*.CPL"
'В Windows NT замените 'C:\Windows\SYSTEM' на 'C:\WINNT\SYSTEM32'
File1.FileName = "C:\Windows\SYSTEM"
End Sub
Примеры использования:
'Установка оборудования
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1", 5)
'Установка и удаление программ
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1", 5)
'Свойства экрана
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0", 5)
'Настройки Интернета
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,0", 5)
'Клавиатура
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl @1", 5)
'Мастер установки принтера
'Call Shell("rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter",
vbNormalFocus)
'Свойства модема
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL modem.cpl", 5)
'Свойства мыши
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl @0", 5)
'Настройки сети
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl", 5)
'Окно "Пароли"
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL password.cpl", 5)
'Окно "Язык и стандарты"
'Shell("rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0", 5)
'Окно "Звук"
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1", 5)
'Настройки системы
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0", 5)
'Настройка даты и времени
'Call Shell("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl", 5) 'ВАРИАНТ 2
'С использованием ShellExecute.
Private Declare Function GetDesktopWindow Lib "user32.dll" () As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile
As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As
Long) As Long
Const SW_SHOWNORMAL = 1
Function StartCPLApp(AppName As String) As Long
Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
MsgBox Scr_hDC
StartCPLApp = ShellExecute(Scr_hDC, "Open", "Control", AppName,
"C:\", SW_SHOWNORMAL)
End Function
Private Sub Command1_Click()
StartCPLApp "DESK.CPL"
End Sub
|
|