![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов диалога свойств интернета [D5, Win2k, WinXP]
Smok_er © (2002-07-27 13:36:00)Уважаемые мастера!
Подскажите пожалуйста способ вызвать из программы сабж. Если я делаю это таким методом:
procedure TfrMain.actInetOptionsExecute(Sender: TObject);
const
CGID_WebBrowser: TGUID = "{ED016940-BD5B-11cf-BA4E-00C04FD70816}";
var
CmdTarget : IOleCommandTarget;
vaIn, vaOut: OleVariant;
PtrGUID: PGUID;
begin
New(PtrGUID);
PtrGUID^ := CGID_WebBrowser;
with TEmbeddedWB(PageControl1.ActivePage.FindComponent("WB")) do
begin
if Document <> nil then
try
Document.QueryInterface(IOleCommandTarget, CmdTarget);
if CmdTarget <> nil then
try
CmdTarget.Exec( PtrGUID, HTMLID_OPTIONS, 0, vaIn, vaOut);
finally
CmdTarget._Release;
end;
except
end;
Dispose(PtrGUID);
end;
end;
Недостатком данного метода является то, что для вызова диалога необходимо связать его с браузером. Интересно, как это сделать без необходимости наличия браузера?
Smok_er (2002-07-29 00:43:00) [1]Большое спасибо!
Макс Черных (2002-07-28 20:50:00) [2]Слать TCM_SETCURSEL можно, но, пожалуй, не не нужно.
Все делается очень просто:
ShellExecute(Application.Handle, nil,"Control.exe",
"inetcpl.cpl,@0,6",nil,SW_SHOWNORMAL);
Циферка 6 в данном случае и есть нужная страница. В XP это:
Internet properties - Advanced.
В MSDN это расписано в статье:
HOWTO: Start a Control Panel Applet in Windows 95 or Later
Юрий Зотов (2002-07-28 16:09:00) [3]Вариант, наверное, не лучший, но работать должен - после запуска и активизации диалога найти окно Tab control"а на нем и послать ему TCM_SETCURSEL.
Smok_er (2002-07-28 14:59:00) [4]Спасибо большое!
Этот диалог и все остальное скорее всего открывается методом, предложенным Billy (кстати, великолепно работает - спасибо Billy). А вот как вызвать определенную вкладку этого диалога, видимо никто не знает. Нигде не могу найти ответ на этот вопрос.
Billy (2002-07-27 22:41:00) [5]У большенства людей файлы cpl ни с чем не ассоциированы. Запустить апплет панели приложения можно так:
control.exe applet_name.cpl . То же можно проделать с помощью ShellExecute. Успехов.
tsarevep (2002-07-27 21:36:00) [6]Если у вас за CPL отвечает REstarator то............? А как тогда у вас все остальное открывается Дата и время например?
Smok_er (2002-07-27 15:44:00) [7]Кстати, желательно также узнать, как вызвать этот диалог таким образом, чтобы сразу открылась определенная вкладка, т.е. не General, а Advanced например...
Smok_er (2002-07-27 15:41:00) [8]Попробовал...
Вместо диалога вылез ресторатор.
дело в том, что он ассоциирован с файлом "cpl" :(
Есть другие предложения?
int64 (2002-07-27 14:24:00) [9]Зачем вырезать гланды через ...
Этот диалог "находится" в Панели управления. :)
ShellExecute(Application.Handle, nil,"inetcpl.cpl",nil,nil,SW_SHOWNORMAL);