Q&A

  • 떠있는 익스플러러에 값 전달하는방법좀
예를 들어
폼위의 버튼에다가
procedure TForm1.Button2Click(Sender: TObject);
var
  IE:Variant;
begin
  IE:=CreateOleObject('InternetExplorer.Application');   //uses comobj 추가
  IE.Visible:=True;
  IE.Navigate('http://www.naver.com');
  IE.toolbar:=False;
end;

이런식으로 뛰운후에
자동으로 아이디와 패스워드 입력창에 값이 들어 가게 할려고 합니다.
어떻게 해야하는지 아시는분 있으면 알려주세요

WebBrowser1 콤퍼넌트는 다음과 같이 되는데
WebBrowser1.OleObject.Document.thisform.address.value:='aa';
WebBrowser1 이용하지 않고 별도로 뛰운 익스플러로에 직접 값을 어떻게 전달하는지 알려 주시면
고맙겠습니다

ㅜ.ㅜ
2  COMMENTS
  • Profile
    남충희 2007.01.25 10:03
    외부의 웹브라우저에 연결만되면 될것 같네요.


    아래의 소스는 현재 열린 웹브라우저에 접근하는 소스입니다.
    참조하시길 바랍니다..

    그러나 여러개의 브라우저 중 어느 것을 선택할 지 판단하는 부분이 남아 있을것 같습니다.
    그것은 IHtmlDocument2의 프로퍼티를 참조하시면 어느 정도 접근할 수 있지 않을까 싶네요..

    그럼 즐코~



    <!--CodeS-->
    function TTest.BrowserCheck : String;
    var
      ShWindows: IShellWindows;
      PBrowser :IWebBrowser2;
      iDoc : IHtmlDocument2; //IDispatch;
      i : integer;
    begin
      ShWindows := CoShellWindows.Create;
      Result := '';
      for i := 0 to ShWindows.Count - 1 do
      begin
        try
          PBrowser := ShWindows.Item(i) as IWebBrowser2;
          PBrowser.Document.QueryInterface(IHtmlDocument2,iDoc);
          if Assigned(iDoc) then
             Document.thisform.address.value:='aa'; << 여기다...
        except
          Result := Result + '읽을 수 없는 웹문서';
        end;
      end;
    end;
    <!--CodeE-->


  • Profile
    박성준 2007.01.26 00:09
    제가 한번해볼려고 아래와 같이 소스코드를 작성했더니
    [Error]Unit1.pas [27]: Function needs result type이란 메세지가 뜨더라고요.

    <!--CodeS-->
        function  BrowserCheck : String;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    function TForm.BrowserCheck : String;
    var
      ShWindows: IShellWindows;
      PBrowser :IWebBrowser2;
      iDoc : IHtmlDocument2; //IDispatch;
      i : integer;
    begin
      ShWindows := CoShellWindows.Create;
      Result := '';
      for i := 0 to ShWindows.Count - 1 do
      begin
        try
          PBrowser := ShWindows.Item(i) as IWebBrowser2;
          PBrowser.Document.QueryInterface(IHtmlDocument2,iDoc);
          if Assigned(iDoc) then
             Document.thisform.address.value:='aa'; << 여기다...
        except
          Result := Result + '읽을 수 없는 웹문서';
        end;
      end;
    end;
    <!--CodeE-->

    왜 그런건가요?