Először is, szükségünk van egy oldalra, amit le akarunk tölteni.
Webbrowser1.Navigate(Edit1.Text);
Ezután szükségünk van egy interfészre, amelyen keresztül parancsokat adhatunk a TWebBrowser osztálynak. Erre a IOleCommandTarget interfész osztály szolgál.
Az interfészhez az alábbi módon csatlakozhatunk.
Webbrowser1.Document.QueryInterface(IOleCommandTarget,CmdTarget);
Az interfészen keresztül, az Exec metódus meghívásával adhatunk ki parancsokat.
try
if Sender=Button2 then
CmdTarget.Exec(PtrGUID,HTMLID_FIND,0,vaIn,vaOut);
if Sender=Button3 then
CmdTarget.Exec(PtrGUID,HTMLID_OPTIONS,0,vaIn,vaOut);
if Sender=Button4 then
CmdTarget.Exec(PtrGUID,HTMLID_VIEWSOURCE,0,vaIn,vaOut);
finally
CmdTarget._Release;
end;

Exec
Osztály: IOleCommandTarget
function Exec(
CmdGroup: PGUID;
nCmdID,
nCmdexecopt: DWORD;
const vaIn: OleVariant;
var vaOut: OleVariant
): HResult;
Egy megadott parancs végrehajtására szolgál.
Paraméterek
CmdGroup: PGUID
A parancscsoport GUID azonosítója.
nCmdID
A végrehajtandó parancs. A WebBrowser esetében ezek a következők lehetnek.
| Parancs |
Jelentése |
| HTMLID_FIND 1 |
Keresés ablak megnyitása. |
| HTMLID_VIEWSOURCE = 2 |
Forrás megnézése. |
| HTMLID_OPTIONS = 3 |
Beállítások. |
nCmdexecopt: DWORD
A parancs futásának módját állíthatjuk be vele. Az egyes opciók a parancs típusától függnek.
| Érték |
Jelentése |
| OLECMDEXECOPT_DODEFAULT = 0 |
A parancsok alapértelmezett hívását kéri. |
| OLECMDEXECOPT_PROMPTUSER = 1 |
A beviteli fókusz megkapása után hajtja végre a parancsot. |
| LECMDEXECOPT_DONTPROMPTUSER = 2 |
Végrehajtja a parancsot, anélkül, hogy bármit is visszajelezne a felhasználó felé. |
| OLECMDEXECOPT_SHOWHELP = 3 |
Segítség kérése az adott parancshoz, amennyiben az létezik. Ilyenkor a parancs nem hajtódik végre. |
const vaIn: OleVariant
A hívott parancs bemenő paramétereit itt adhatjuk meg.
var vaOut: OleVariant
A parancs lefutása után, ezen a változón keresztül kapjuk meg a parancs által szolgáltatott értékeket.
Visszatérési érték
| Érték |
Jelentése |
| S_OK |
A parancs végrehajtása sikeresen megtörtént. |
| OLECMDERR_E_UNKNOWNGROUP |
A CmdGroup paraméter értéke nem nulla, de nem azonosít semmilyen felismerhető parancscsoportot. |
| OLECMDERR_E_NOTSUPPORTED |
Az nCmdID paraméterben megadott parancs nem létező. |
| OLECMDERR_E_DISABLED |
Az nCmdID paraméterben megadott parancs jelenleg nem hajtható végre. |
| OLECMDERR_E_NOHELP |
Az nCmdexecopt paraméterben segítség kérését kértük, de az nem létezik az adott parancshoz. |
| OLECMDERR_E_CANCELED |
A felhasználó megszakította a parancs végrehajtását. |