IEのバージョンを取得 – プログラミング – Home

通知
すべてクリア

[解決済] IEのバージョンを取得


potu
 potu
(@potu)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

potuです。いつもお世話になっています。

今回の質問は、「IEのバージョンを取得したい」ことです。
OSが98でも2000でもxpでも、同じように取得できる方法を教えて下さい。

下記のサンプルプログラムでは、2000とxpでは取得できるのですが、
98では取得できないらしいのです。

-----ここから-----

DWORD dwType;
ULONG nSize;
HKEY hKey;
BYTE lpszBuff[20];

dwType = REG_SZ;
nSize = 256;
hKey = NULL;
::RegOpenKeyEx(HKEY_LOCAL_MACHINE
,Software\\Microsoft\\Internet Explorer
,0,KEY_ALL_ACCESS,&hKey);
::RegQueryValueEx(hKey,Version,NULL,&dwType,lpszBuff,&nSize);

-----ここまで-----

環境は、Win2000, VC6.0, MFC使用です。

どなたかご存知でしたら、教えてください。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

http://www.microsoft.com/japan/support/kb/articles/JP164/5/39.asp

ここを見る限り、Win98も同様に取得できるようですが。

> 98では取得できないらしいのです。

というのは、確かな情報なのでしょうか?


返信引用
potu
 potu
(@potu)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

dairygoodsさんレスありがとうございます。

私のマシンは2000なので、98の人にテストしてもらったところ「dllがない」と表示されたらし
いのです。
dairygoodsさんの教えてくれたHPに「Shdocvw.dllを利用した方法」とありました。
上のサンプルプログラムでは「Shdocvw.dll」を見にいっているのでしょうか?
で、98は指定するフォルダが違うので落ちてる・・・?

うーん・・・。


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

Releaseバージョンで試していますか?


返信引用
potu
 potu
(@potu)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

saraさんレスありがとうございます。

なぜかダメみたいです・・・。 (;_;)

「OSの種類を判別して、それによって指定するフォルダを変える」手法に切り替えてみます。

でも、方法がわからない・・・。勉強します。

レスありがとうございました。


返信引用
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 24年前
投稿: 76
 

>nSize = 256;
少なくともコレはだめなのでは?


返信引用
potu
 potu
(@potu)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

EIJIさんレスありがとうございます。

>>nSize = 256;
>少なくともコレはだめなのでは?

「256」がダメですか?


返信引用
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 24年前
投稿: 76
 

nSize = sizeof(lpszBuff);
でどうです?


返信引用
potu
 potu
(@potu)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

EIJIさんレスありがとうございます。

やはりダメです・・・。m(__)m

OSの識別をして、それにより

::RegOpenKeyEx(HKEY_LOCAL_MACHINE
,Software\\Microsoft\\Internet Explorer  ←この部分
,0,KEY_ALL_ACCESS,&hKey);

Software\\Microsoft\\Internet Explorerを、

・2000(そのまま)
Software\\Microsoft\\Internet Explorer

・98
System\\Microsoft\\Internet Explorer

としました。

レスありがとうございました。


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

> 98の人にテストしてもらったところ「dllがない」と表示されたらし
> いのです。
 ここで表示されたDLLファイル名は何ですか?


返信引用
potu
 potu
(@potu)
ゲスト
結合: 23年前
投稿: 36
Topic starter  

レス遅くなりました。

「カーネル32」の問題ということです。(-_-;

まったく「Shdocvw.dll」と関係ないですね(汗)
お騒がせしてすみません。

でも、どんなOSでも動くように、(こういったエラーがでないように)
OSを識別する方法をとろうと思います。m(__)m

みなさんのレスに感謝です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました