Вызов стандартных окон свойств.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MadChild
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 04.03.2002 (Пн) 14:52
Откуда: Russia

Вызов стандартных окон свойств.

Сообщение MadChild » 28.11.2006 (Вт) 21:02

Имеется такая задача, нужно вызвать окно "Свойства: Электропитание", подскажите как это реализовать?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.11.2006 (Вт) 21:37

powercfg.cpl
Изображение

MadChild
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 04.03.2002 (Пн) 14:52
Откуда: Russia

Сообщение MadChild » 29.11.2006 (Ср) 7:20

keks-n писал(а):powercfg.cpl

А как это вызвать из приложения VB?

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 29.11.2006 (Ср) 7:51

Shell
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 29.11.2006 (Ср) 14:15

Код: Выделить всё
Shell "control powercfg.cpl", vbNormalFocus
Последний раз редактировалось hCORe 29.11.2006 (Ср) 22:14, всего редактировалось 1 раз.
Моду создают модоки, а распространяют модозвоны.

MadChild
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 04.03.2002 (Пн) 14:52
Откуда: Russia

Сообщение MadChild » 29.11.2006 (Ср) 20:09

большое спасибо.

MadChild
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 04.03.2002 (Пн) 14:52
Откуда: Russia

Сообщение MadChild » 03.12.2006 (Вс) 18:45

hCORe писал(а):
Код: Выделить всё
Shell "control powercfg.cpl", vbNormalFocus


Замечательно, только вот незадача, а под 9х как быть?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 03.12.2006 (Вс) 20:47

MSDN писал(а):PSS ID Number: 166168

Article Last Modified on 7/15/2004


--------------------------------------------------------------------------------
The information in this article applies to:


Microsoft Visual C++ 2.0
Microsoft Visual C++ 2.1
Microsoft Visual C++ 2.2
Microsoft Visual C++ 4.0
Microsoft Visual C++ 4.1
Microsoft Visual C++, 32-bit Enterprise Edition 4.2
Microsoft Visual C++, 32-bit Enterprise Edition 5.0
Microsoft Visual C++, 32-bit Professional Edition 4.2
Microsoft Visual C++, 32-bit Professional Edition 5.0

--------------------------------------------------------------------------------

This article was previously published under Q166168
SUMMARY
You can use the RUNDLL32 application that is provided with Windows NT and Windows 95 to debug Control Panel applets. Use the following debug settings (set by selecting Build/Settings in Visual C++ version 4.x, or by selecting Project/Settings in Visual C++ version 2.x and 5.0):
Executable For Debug Session: C:\winnt\system32\rundll32.exe

- or -

C:\windows\rundll32.exe
Working Directory:
Program Arguments: shell32.dll,Control_RunDLL [path and name of
CPL file]
Remote Executable Path and File Name:

The two choices for "Executable For Debug Session" are for both Windows NT and Windows 95. You must type in the name "Control_RunDLL" exactly, and you must use the full path and name of the Control Panel applet (.CPL file). You do not have to provide information for "Working Directory" and "Remote Executable Path and File Name."
MORE INFORMATION
The technique described here is subject to change in future versions of Windows and is provided for debugging purposes only. If you want your application to launch control panel applications programmatically, you should use the Control.exe program.
REFERENCES
For additional information, please see the following article in the Microsoft Knowledge Base:
135068 How to Start a Control Panel Applet in Windows 95

Keywords: kbBug kbDebug kbhowto kbide KB166168
Technology: kbAudDeveloper kbVC200 kbVC210 kbVC220 kbVC32bitSearch kbVC400 kbVC410 kbVC420 kbVC500 kbVC500Search kbVCsearch

Короче говоря, надо Shell "rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl".
Последний раз редактировалось keks-n 03.12.2006 (Вс) 21:00, всего редактировалось 3 раз(а).
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.12.2006 (Вс) 20:56

Лол. А объявить в Declare эту функцию из shell32 -- не проще?

[edit]
Только что проверил в Windows 3.11 -- control.exe уже была. Наверняка и раньше она тоже была, лень лезть смотреть.
[/edit]
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 03.12.2006 (Вс) 20:58

Просто в примере Runcpl из поставки masm также использовалался rundll32.exe. Не счёл нужным править.
Add: Заявление о том, что дескать в 9x control путь_к_cpl не работает опровергается:
http://support.microsoft.com/kb/135068/ писал(а):Control.exe is a utility that is included with Windows 95, Windows 98, Windows NT 4.0, and Windows 2000 that launches Control Panel applications. Applications can use the following command line to start a Control Panel applet:
control.exe mycontrol.cpl
This starts the first control panel applet in Mycontrol.cpl. If you have multiple Control Panel applets in Mycontrol.cpl, you need to add to the following line exactly as shown:
Control.exe mycontrol.cpl,@1

@1 specifies the second (zero-based) applet in the .cpl file. If you don't specify this parameter, @0 is used by default.

The final (optional) parameter serves as the command line parameters passed to the Control Panel applet in the CPL_STARTWPARM notification. For example, some of the system's Control Panel applets take the page number (one based, not zero based) as the command line parameter. For example, if you want to start the Add/Remove Programs applet from the Windows Setup page so you can instruct the user to add extra system components, you can use this code:
Control.exe appwiz.cpl,@0,2
Последний раз редактировалось keks-n 03.12.2006 (Вс) 21:06, всего редактировалось 1 раз.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.12.2006 (Вс) 21:04

Все эти заморочки уже обсуждались: http://bbs.vbstreets.ru/viewtopic.php?t=11008
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 13

    TopList  
cron