C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■30843  IEと自プログラムとの連携
□投稿者/ たつ -(2009/01/08(Thu) 10:45:47)

    分類:[C#] 

    お世話になります。
    C#(.net)の勉強を兼ねて、他のプログラム(IE)との連携を
    してみたいと考えています。

    ◎やりたい事
    --------------------------------------
    自プログラムは、対象URL、ID、PWを管理している。

    例:
    URL:https://login.yahoo.co.jp/config/login?.src=www&.done=http://www.yahoo.co.jp
    ID:hogehoge
    PW:hogepass

    ここで、保持しているURLをIE上で表示している場合、
    指定されたキーで、保持しているIDとPWを入力させようと
    考えています。
    (カーソルをID入力欄にセットしてALT+1で"hogehoge"が
    入力されると言う具合です。)
    --------------------------------------
    少なくとも、IE上でキー操作をフックして、自プログラムとの
    連携をしなければならないとは思いますが、このあたりが初めて
    でさっぱりわかりません。
    どのような項目を学習すべきなのか指針を頂きたいです。

    そもそも、自プログラムをIEのプラグインとしてしまえば
    話はもう少し早いのかも知れませんが、それはそれでプラグインの
    作り方から学習しなくてはならないので次のステップでと
    考えています。

    環境はXP/Vista VS2008(C#) .netFramework3.5を
    使用しています。

    宜しくお願い致します。
親記事 /過去ログ55より / 関連記事表示
削除チェック/

■30852  Re[1]: IEと自プログラムとの連携
□投稿者/ やじゅ -(2009/01/08(Thu) 12:46:30)
>
    2009/01/08(Thu) 12:47:03 編集(投稿者)

    No30843 (たつ さん) に返信
    > 少なくとも、IE上でキー操作をフックして、自プログラムとの
    > 連携をしなければならないとは思いますが、このあたりが初めて
    > でさっぱりわかりません。

    別のやり方ですが、アプリケーションに対してキーストロークを送る
    って方法があります。

    下記の例はVisual Basicですが、電卓を起動して、"22"が表示されます。
    Dim ProcID As Integer
    ProcID = Shell("ICALC.EXE", AppWinStyle.NormalFocus)
    AppActivate(ProcID)
    My.Computer.Keyboard.SendKeys("22", True)

    アプリケーションを起動してキーストロークを送る
    http://msdn.microsoft.com/ja-jp/library/ms172702.aspx
記事No.30843 のレス /過去ログ55より / 関連記事表示
削除チェック/

■30875  Re[2]: IEと自プログラムとの連携
□投稿者/ たつ -(2009/01/08(Thu) 15:17:48)
    No30852 (やじゅ さん) に返信
    > 2009/01/08(Thu) 12:47:03 編集(投稿者)
    >
    > 別のやり方ですが、アプリケーションに対してキーストロークを送る
    > って方法があります。

    お返事ありがとう御座います。
    質問を投稿後、色々と捜しまして、上記の方法を発見して
    今、作成しているところなのです。

    アクティブなIEのハンドルを取得する所までは出来たのですが、
    そのIEが表示しているURLを取る方法が出来ません。

    EnumChildWindows()を使って、ウィンドウクラス名が
    "Internet Explorer_Server"のものを取得して、そのハンドルを
    使ってさらにIHTMLDocumentを取得する・・・と理解しているのですが、
    関数をどう呼んでやれば良いのかに詰まっています。
    (認識はあってますよね?)

    このあたりC#でのサンプルソース等掲載しているところは
    ご存知ありませんでしょうか?
    宜しくお願い致します。
記事No.30843 のレス /過去ログ55より / 関連記事表示
削除チェック/

■30883  Re[3]: IEと自プログラムとの連携
□投稿者/ やじゅ -(2009/01/08(Thu) 15:48:32)
>
    No30875 (たつ さん) に返信
    > EnumChildWindows()を使って、ウィンドウクラス名が
    > "Internet Explorer_Server"のものを取得して、そのハンドルを
    > 使ってさらにIHTMLDocumentを取得する・・・と理解しているのですが、


    「EnumChildWindows IE」で検索して、VB2005でならありましたね。
    C#に変換するか、そのソースを見て応用すればいいでしょう。

    IEのウィンドウハンドルからIHTMLDocumentを取得する(アクティブウィンドウのIEのURLを取得する)
    http://homepage1.nifty.com/yasunari/VB/VB2005/GetHtmlObject.htm
記事No.30843 のレス /過去ログ55より / 関連記事表示
削除チェック/

■30885  Re[4]: IEと自プログラムとの連携
□投稿者/ たつ -(2009/01/08(Thu) 15:57:15)
    No30883 (やじゅ さん) に返信

    > 「EnumChildWindows IE」で検索して、VB2005でならありましたね。
    > C#に変換するか、そのソースを見て応用すればいいでしょう。
    >
    > IEのウィンドウハンドルからIHTMLDocumentを取得する(アクティブウィンドウのIEのURLを取得する)
    > http://homepage1.nifty.com/yasunari/VB/VB2005/GetHtmlObject.htm
    >

    ありがとうございます。
    早速参考にさせていただきます。
記事No.30843 のレス / END /過去ログ55より / 関連記事表示
削除チェック/

■30887  Re[3]: IEと自プログラムとの連携
□投稿者/ 渋木宏明(ひどり) -(2009/01/08(Thu) 16:18:49)
>
    > EnumChildWindows()を使って、ウィンドウクラス名が
    > "Internet Explorer_Server"のものを取得して、そのハンドルを
    > 使ってさらにIHTMLDocumentを取得する・・・と理解しているのですが、

    IE が HTML を表示している場合は IHTMLDocument が取得できますが、PDF を表示しているような場合は IHTMLDocument は取得できません。

記事No.30843 のレス /過去ログ55より / 関連記事表示
削除チェック/

■30889  Re[4]: IEと自プログラムとの連携
□投稿者/ たつ -(2009/01/08(Thu) 16:41:48)
    No30887 (渋木宏明(ひどり) さん) に返信
    >>EnumChildWindows()を使って、ウィンドウクラス名が
    >>"Internet Explorer_Server"のものを取得して、そのハンドルを
    >>使ってさらにIHTMLDocumentを取得する・・・と理解しているのですが、
    >
    > IE が HTML を表示している場合は IHTMLDocument が取得できますが、PDF を表示しているような場合は IHTMLDocument は取得できません。
    >
    >

    追加コメントありがとうございます。
    IHTMLDocumentはExcelやWordなんかの場合も同じなのでしょうか?
    動くようになったらテストしてみます。
記事No.30843 のレス /過去ログ55より / 関連記事表示
削除チェック/

■30890  Re[5]: IEと自プログラムとの連携
□投稿者/ たつ -(2009/01/08(Thu) 16:42:11)
    解決済忘れました。
記事No.30843 のレス / END /過去ログ55より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -