DOBON.NET DOBON.NETプログラミング掲示板過去ログ

起動中のプロセスにパラメータを渡す

環境/言語:[WinXPpro .NET Framework2.0]
分類:[.NET]

はじめまして。

VB.NET2005ではたしてできるものなのか現在調査中のことがあります。
どなたかご存じな方いらっしゃいましたら教えていただけないでしょうか。

・起動中のプロセス(IEなんですが)へURLをパラメータとして渡す
    渡すことによって起動中のIEは渡されたURLのページを表示する仕組み
    IEの複数起動ではなく、起動中のIEにのみ変更をかけたいです

というものを考えています。
複数のパソコンがあり(すべてIEが自動起動)、1台のパソコンがURL変更したら
連動ですべてのパソコンへURLを送りつけてページの表示をさせたいというものです。

パソコン間はTCP/IP通信あたりでどうにかなるかと思っているのですが
起動中プロセス(IE)へURLを渡すことによってリロードしてくれるのかが知りたいです。
どのようにすればできるのでしょうか。

ご存じの方いらっしゃいましたらお教え願います。
よろしくお願いします。
■No21576に返信(たけぼさんの記事)

> ・起動中のプロセス(IEなんですが)へURLをパラメータとして渡す
> 渡すことによって起動中のIEは渡されたURLのページを表示する仕組み
> IEの複数起動ではなく、起動中のIEにのみ変更をかけたいです
>
> というものを考えています。
> 複数のパソコンがあり(すべてIEが自動起動)、1台のパソコンがURL変更したら
> 連動ですべてのパソコンへURLを送りつけてページの表示をさせたいというもの
> です。

TVジャックならぬWEBサイトジャックですよね。

発想を逆転させるなら可能かと思いますが、
但しクライアント側のIEは自作成サイトとする

クライアント側からURLを監視するようにしてい
URLが変更されていたらリロードする。
■No21579に返信(やじゅさんの記事)

> クライアント側からURLを監視するようにしてい
> URLが変更されていたらリロードする。

アドバイスありがとうございます。
そうですね。逆の発想でIEを監視して、URL変更があればリロードをかけるという
手がありますね。

ただ、たとえばPC1〜PC5まであったとして、PC1を監視対象とした場合。
PC2〜PC5には監視プログラムを導入するとして、ローカルパソコン内なら
プロセス監視等でいけるんでしょうけど、パソコンをまたがる場合はどうすれば
いいのやら・・・。

どうしてもPC1でリロードがかかったらPC2〜PC5へ通知してリロードという
仕組みしかプログラム的には思いつかないです。

引き続きよろしければ情報提供をお願いいたします。
■No21580に返信(たけぼさんの記事)

リモート操作できるソフトの「VNC」
http://www.forest.impress.co.jp/article/2004/06/17/vnc40.html
がありますが、これも各クライアントに監視プログラムを
常駐させているんですよね。

各クライアントに監視プログラムは入れないで、サーバー側のみで
処理したいのでしょうか?
■No21582に返信(やじゅさんの記事)

> 各クライアントに監視プログラムは入れないで、サーバー側のみで
> 処理したいのでしょうか?

お返事ありがとうございます。

基本的にマウスもキーボードも接続されていないPCが複数台あります。
バーコードにより特定のURLのページを表示させるという仕組みのものです。
(イントラネット上のシステムです)

なので、VNCで制御はできません。
一番の理想は、バーコードリーダー(キーボードエミュレート)で入力
された値がすべての接続されているPCへ情報伝達できればいいのですが・・・。
そのようなことが可能なのかどうか・・・。

サーバ側から制御は一切行いません。サーバは単なるデータ蓄積なだけなのです。
唯一操作と言えばクライアントから入力されるバーコード読み取りの作業だけ
なのです。

うぅん・・・。
■No21586に返信(たけぼさんの記事)

> サーバ側から制御は一切行いません。サーバは単なるデータ蓄積なだけなの
> です。
> 唯一操作と言えばクライアントから入力されるバーコード読み取りの作業だけ
> なのです。

やっとお話が見えてきました。
クライアントPC同士で情報をやり取りすればいいわけですね。
いわば、P2P技術みたいなことですね。

各クライアントPCに、監視するソフトを入れて常駐させる。
URLの変更があれば、IEのプロセスを閉じてそのURLで開き直す。

監視するソフト常駐させていいなら、いろいろ出来そうですけどね。
■No21589に返信(やじゅさんの記事)

> 各クライアントPCに、監視するソフトを入れて常駐させる。
> URLの変更があれば、IEのプロセスを閉じてそのURLで開き直す。

お返事ありがとうございます。
たしかに起動しているIEを一度閉じて、パラメータ(URL)をプログラム
内部で作り上げて、プログラムから再度IEをパラメータ渡しで起動させるという
手もありますね。
どうしてもそれしかない・・・という場合の最終手段で考えたいと思います。

IEをキヨスクモード(-kパラメータでフルスクリーン化)で起動しているので
一度IEを終了させてIE再起動・・・とすると、やはりデスクトップが
見えてしまったりして不細工なことになるのでは・・・と思っています。
できれば起動中IEのプロセスを探し出して、そのプロセスへパラメータ(URL)を
渡してリロードさせる・・・というやり方があるのであれば、それを
実現させたいです。

ご存じな方いらっしゃいましたら引き続き情報提供よろしくお願いいたします。
■No21599に返信(たけぼさんの記事)
> IEをキヨスクモード(-kパラメータでフルスクリーン化)で起動しているので
> できれば起動中IEのプロセスを探し出して、そのプロセスへパラメータ(URL)
> を渡してリロードさせる・・・というやり方があるのであれば、それを

セキュリティ上無理では無いでしょうか。

別案とすれば、WebControl(IEコンポーネント)を使った独自のブラウザを
作成し、監視している値が変われば、リロードさせるようにすれば
いいかと思います。
ひらぽんさんの言われるように
・バーコード読み取り
・Webコンポーネント
・UDP通信
というひとつのアプリがいいかも知れません。

あとは素人考えですが、全画面表示しているなら2つのIEを交互に切り替えるとか。

DOBON.NET | プログラミング道 | プログラミング掲示板