Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: 次世代OSであるか否かを判定する方法はないですか?


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 2 - Last Post: Jul 15, 2016 7:49 PM Last Post By: osamu nagao Threads: [ Previous | Next ]
osamu nagao

Posts: 97
Registered: 3/22/04
次世代OSであるか否かを判定する方法はないですか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 14, 2016 4:10 PM
nagaoです。いつも教えて頂きありがとうございます。

私は不特定のお客様を対象にして、私のアプリをホームページでダウンロード販売しております。
Windows7+Delphi2010proで開発した私の旧アプリでは、出だしで下記の処理を行っています。
case SysUtils.Win32MajorVersion of
6:Case SysUtils.Win32MinorVersion of
0: s:='Vista';
1: s:='windows7';
2: s:='windows8';
end;
end;
if (s<>'windows8') and (s<>'windows7') and (s<>'Vista') then begin
showmessage('本ソフトが対応していないOSです。’);
close;
exit;
end;

この処理によって、windows10の場合は、旧アプリは動作せず、引き続いてお使いになり
たいお客様は、私のwindow10対応の新アプリを追加購入していただけるものと期待して
いましたが、実際には、この旧アプリは、windows10環境でも
   s='windows8';
と誤った判定をしてしまい、windows10環境でも動作しますので、期待外れになって
しまいました。

この度、Windows10+Delphi10.1Berlinで開発した新アプリでは、出だしで下記の処理を
行うようにしました。
case SysUtils.Win32MajorVersion of
6:Case SysUtils.Win32MinorVersion of
0: s:='Vista';
1: s:='windows7';
2: s:='windows8';
end;
10:Case SysUtils.Win32MinorVersion of
0: s:='windows10';
end;
end;
if (s<>'windows10') and (s<>'windows8') and (s<>'windows7')
                       and (s<>'Vista') then begin
showmessage('本ソフトが対応していないOSです。’);
close;
exit;
end;

しかし、次世代OSでは、OSがwindows10ではないにも拘わらず、上記と似たような
   s='windows10';
といった誤った判断をする恐れが強いと思います。

Embarcadero社から紹介された下記のサイトに記載されている色々なOSのバージョン
番号の取得方法をも試してみましたが、それらの方法でも同じような誤りが起こる
恐れが強いと思います。
http://mrxray.on.coocan.jp/Delphi/Others/WindowsVersion.htm

但し、このサイトには、
『この他,レジストリから取得したり,システムの関係の DLL の製品バージョンから
 取得する方法も考えられます.』
とも書かれています。
次世代OSはどのようなものになるか確実に予測することはできませんので、確かな
判定方法はないでしょうが、上記の私の処理でs:='windows10'と判断した時に、
レジストリやシステムの関係のDLLを調べ、「s='windows10'ではない可能性がある」と
判断する方法はないでしょうか?
igy kk

Posts: 147
Registered: 9/11/03
Re: 次世代OSであるか否かを判定する方法はないですか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 14, 2016 5:34 PM   in response to: osamu nagao in response to: osamu nagao
osamu nagao wrote:
この処理によって、windows10の場合は、旧アプリは動作せず、引き続いてお使いになり
たいお客様は、私のwindow10対応の新アプリを追加購入していただけるものと期待して
いましたが

質問とは関係ないですが・・・・
今まで使っていたソフト(例えば、Delphi)が
新しいOSで、"本ソフトが対応していないOSです。"と表示して、
使えなくなったりしたら、いやですねぇ(笑)

例えば、Delphi 7 を Windows 7にインストールして、起動したときに、
"本ソフトが対応していないOSです。"
と表示して、一切、使えなかったと考えると・・・
osamu nagao

Posts: 97
Registered: 3/22/04
Re: 次世代OSであるか否かを判定する方法はないですか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 15, 2016 12:36 AM   in response to: igy kk in response to: igy kk
igy kk さん、こんにちは。nagaoです。
レスくださいましてありがとうございます。

質問とは関係ないですが・・・・
今まで使っていたソフト(例えば、Delphi)が
新しいOSで、"本ソフトが対応していないOSです。"と表示して、
使えなくなったりしたら、いやですねぇ(笑)
確かにお客様の立場になって考えるといやですね。
お客様からの信頼を損なわないようにするために、次のように変えます。
  ①今までのOSでは今までどうり使え、新しいOSでも使えなくなる前に予告をする。
  ②新規購入代金ではなくバージョンアップ代をお客様にお願いする。
  ③上記のことは
   「今後の新しいOSに対応するバージョンは有料」
   と断って販売してきた私のごく一部のアプリだけに限って行う。



上記のように変えても、今まで販売済みの分ら期待できるバージョンアップ代の総額はがずかです
ので、そのような動きはしないことに考えを変えました。

また、
http://pcmegamiweb.info/1408/
によれば、マイクロソフト社は後継にWindows11なんて出さず、Windows10で最後のバージョン
とするとしています。
従って今回の質問を無意味ですので取り下げます。

色々とお騒がせして、本当にすみませんでした。

Edited by: osamu nagao on Jul 15, 2016 09:45 PM
Edited by: osamu nagao on Jul 16, 2016 06:10 AM
Edited by: osamu nagao on Jul 16, 2016 11:30 AM
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02