Windows XP SP2 + VS2005 Team + MS SDK最新版で開発しています。
Internet Explorerのプロパティにある「接続」タブの「LANの設定」ボタンで
開かれるダイアログの中身だけ(つまりはProxyの設定だけ)を変更したいので
すが・・・
はじめは、inetcpl.cplをShellExecuteなどから起動してIEのプロパティ画面
を開くように作ろうと思ったのですが・・・
これだと、余計な項目がありすぎてユーザには分かりにくいかなと・・・。
一言で言うと、Proxyの設定を保存し、場所によってそれを切り替えるツール
を作りたいんです。
inetcpl.cpl に、LANの設定だけを開かせるような起動オプションも内容です
し・・・
設定が保存されているのはレジストリなのですが、場所によってはバイナリの
値なので、それをIEの設定画面のようなものを独自で作り上げるのも難しそう
ですし・・・
何かよい方法をご存じの方いらっしゃいましたら、お願いいたします。
いつも変な質問で済みません>_<
よろしくお願いいたします。
よくある「無線アシスタント」つまり接続先に対応して設定値を自動切換えするソフト
をつくろうということでよいのかな?
設定変更はレジストリ直接操作のほうが簡単だと思うよ
HKCU 以下を操作するようにすれば被害も少ないし問題ないと思う
バイナリ設定値は ProxyEnable とか ProxyHttp1.1 とかしかないわけで
それなら Radio/Check で実装できるわけでそんなに難しくないと思う
まずは無線アシスタントソフトの操作画面でも見てみるといい
terapodさん
おっしゃるような、無線ではないのですが、社内/社外でProxyの接続の設定を
制御させるソフトウェアを作りたいと思っています。
現在リリースされているIPアドレスなどを管理者権限でなくても変更できるよ
うにしたツールの中に実装させようかと・・・
ただ、Proxyの設定画面をいじりながらレジストリを変更すると、
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ 以下
の・・・
AutoConfigURL
ProxyEnable
ProxyOverride
ProxyServer
およびHKCU\Microsoft\Windows\CurrentVersion\Internet Settings\Connections
以下の・・・
DefaultConnectionSettings
SavedLegacySettings
が変わることがわかっているのですが、問題は後者の2項目(自動構成スクリプトなどの設定内容だと思われます)。
これは完全にバイナリの値が長々と記載されていて、独自で設定に盛り込むの
は難しいと思うんです。
で、IEの設定画面のうち、LANの設定のダイアログだけを、うまくツールから
起動させ
1.現在のProxyの設定を保存
2.LANの設定ダイアログを開く
3.変更した設定内容を保存
4.保存が終わった1で保存しておいた元の設定に戻す
と言う流れで動作させるしかないのかな・・・と。
IEプロパティ画面のこれ以外の項目の変更をこのツールに盛り込むつもりはな
いので、ユーザに混乱させないよう、うまくここの項目の設定だけを保存・切
換できるようにしたいんです。
それが無理なら、「現在のインターネットの設定からProxyの設定を保存する」
ようなチェックボックスをつくって、今使っている設定を保存するだけで割り
切ってしまおうかとも思っています。
本音でいてば、ここの項目を独自の設定画面にしたいのですが・・・
難しそうですね・・・
ご報告が遅れましたが、結局、
1.IPアドレスの変更などの処理をクライアントアプリからサービスアプリ
へパイプで渡す
2.サービスアプリで受け取った設定に変更→結果をクライアントへ渡す
3.2が成功したら、クライアントアプリ側でProxyの設定を変更
と言う流れにすることにし、RegQueryValueExで取得した値を、そのまま
CreateFile → WriteFile
でまんま保存する形で逃げる方向で検討してみます。
コマンドラインregedit /e も考えたのですが、キーの保存はできるのです
が、値単体の保存ができなかったので・・・。
このプログラムの中でまた疑問点がでたのですが、それは別スレをたてること
にします。
terapodさん、いつもありがとうございます^^
ツイート | ![]() |