怎么获取当前浏览的ie网页地址,并修改为其他地址!紧急多谢

如何获取当前浏览的ie网页地址,并修改为其他地址!紧急!谢谢!
问题1:
如何获取当前浏览的ie页面的网页地址,注意是当前页面

问题2:
在当前页面修改为其他地址!,注意是当前页面

谢谢,谢谢!
ie ie浏览器

------解决方案--------------------
我的方法只是从注册表获取相关信息
问题1:
解决方法如下:
  可以从注册表中读取IE的设置的主页的

问题2;
解决方法如下:
 直接修改注册表中相关“键值”即可,不过现在的一些软件都“锁定”这个主页
所以都必须将那些“解锁”才可以修改的

------解决方案--------------------
以下代码在Delphi7,+IE7下测试可以:

uses SHDocVw;


function TForm1.GetIEUrl: string;
  function GetWindowCaption(AWnd: THandle): string;
  var
    WndCaption: array[0..254] of Char;
  begin
    GetWindowText(AWnd, @WndCaption, 254);
    Result := WndCaption;
  end;
var
  aShellWindow: IShellWindows;
  aDispatch: IDispatch;
  i: Integer;
  vi: OleVariant;
  aWebBrowser2: IWebBrowser2;
  sIECaption, sTabCaption: string;
  hTab: THandle;
begin
  Result := '';
  aShellWindow := CoShellWindows.Create;
  try
    try
      for i := 0 to aShellWindow.count - 1 do
      begin
        Application.ProcessMessages;
        vi := i;
        aDispatch := aShellWindow.Item(vi);
        if aDispatch = nil then
          Continue;
        aDispatch.QueryInterface(IWebBrowser2, aWebBrowser2);
        if aWebBrowser2 = nil then
          Continue;

        sIECaption := GetWindowCaption(aWebBrowser2.Hwnd);
        hTab := 0;
        hTab := FindWindowEx(aWebBrowser2.Hwnd, hTab, 'TabWindowClass', nil);
        if (hTab <> 0) and (Pos(aWebBrowser2.LocationName, sIECaption) > 0) then
        begin
          sTabCaption := GetWindowCaption(hTab);
          if (sTabCaption = sIECaption) then
            Result := aWebBrowser2.LocationURL;
        end;

        if Result <> '' then
        begin
          SHowMessage(IntToHex(hTab, 8) +#13#10+ Result + #13#10+ aWebBrowser2.LocationName);
          Break;
        end;
      end;