tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル起動中のIEへパラメータを渡したい
記事No11705
投稿日: 2008/03/07(Fri) 12:05
投稿者たけぼ
はじめまして。

現在WinXPpro+VB6でツールを作成しています。

いろいろ機能を実装しなくてはならず、どうしてもわからない点があります。
IEが起動している場合は、起動中のIEへURLを渡してリロードさせたいのです。
(起動してない場合は起動させてURLを渡す・・・ですがこちらはわかります)
IEの起動はWindowsのスタートアップに入っているので、VBアプリから起動するもの
ではありません。

プロセスの検索まではなんとかできるのですが、果たして起動中のプロセスに対して
パラメータを渡すことが可能なのか・・・。

そのパソコンにはマウスもキーボードも接続されておらず、ネットワークで
接続されていて、外部パソコンから特定の情報を受け取ったら
IEをリロード(特定のURLに移動)させる・・・という仕組みのものを作成しています。
(PC間通信の部分までは実装済みです)

同ツールをVB.NET2005で作成していたのですが・・・いろいろつまづいてしまって
VB6で作成しています。

ご存じな方いらっしゃいましたら教えていただけないでしょうか。
ご協力お願いいたします。

[ツリー表示へ]
タイトルRe: 起動中のIEへパラメータを渡したい
記事No11712
投稿日: 2008/03/07(Fri) 17:36
投稿者これ
> IEが起動している場合は、起動中のIEへURLを渡してリロードさせたいのです。
> (起動してない場合は起動させてURLを渡す・・・ですがこちらはわかります)

こんな感じですか?
' Microsoft Shell Contorols And Automationを参照設定に追加
' 起動中のIEは1個限定

Dim sh      As Shell32.Shell    ' Shell Object
Dim shws    As Object           ' ShellWindows Collection
Dim w       As Object           ' Window App
Dim url     As String           ' Navigate URL

    Set sh = New Shell32.Shell
    Set shws = sh.Application.Windows()

    url = "hhttp://www.google.co.jp/"    ' 掲示板投稿対策でh全角にしてます

    For Each w In shws
        If Trim(w.Name) = "Microsoft Internet Explorer" Then
            ' ハンドルとURL表示
            'Debug.Print "&H" & Hex(w.hWnd), w.LocationURL

            ' 指定のURLに移動
            w.Navigate url
        End If
    Next

[ツリー表示へ]
タイトルRe^2: 起動中のIEへパラメータを渡したい
記事No11730
投稿日: 2008/03/10(Mon) 23:21
投稿者いろいろ
環境によっては、
GetObject(,"InternetExplorer.Application")
で取れるようです。どうすればそうなるのか分かりません。

ほかに、URLを
WScript.ShellのRun()
または、
Shell.ApplicationのOpen()や、ShellExecute()
あるいは、
DDEでWWW_OpenURL(url,,-1,,,,,)
を使ってもできます。

[ツリー表示へ]