どうしても Windows API に拘っているようなので、
この方法ではご期待に添えないと思うので、お使いいただかなくても構いませんが
一応それっぽいことが出来たので載せておきます。
「Windows インストール プログラム 一覧」で検索して出てきたこちらのサイト
http://kgo.dtiblog.com/blog-entry-134.html
それと、HSPのサンプルで有名なこちらのサイト(の「GUIからコンソールを操作する」)
http://hspnext.com/hspkura/hspkura02.htm
これらを組み合わせて、以下を作りました。
//ここに http://hspnext.com/hspkura/hspkura02.htm さんのモジュール
//(;***** コンソールの標準出力をリダイレクト (sysopt06.hsp) *****)
//を貼り付けて下さい。
screen 0,640,480,0,ginfo_dispx-640>>1,ginfo_dispy-480>>1
//REG QUERYコマンドでインストールされているプログラムの一覧を取得
command = "REG QUERY HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall /s | FIND \"DisplayName\"
buf="" : consexec buf, command
//mesboxを作成
font "MS ゴシック",14 : objmode 2
mesbox buf,ginfo(10)-4,ginfo(11)-24,5
objsel 0 : hCld=objinfo(0,2)
objprm 0,buf
//.NET Framework の有無を確認(試しに4だけ)
search = "Microsoft .NET Framework 4 Client Profile"
if( instr(buf, 0, search) != -1 ){
dialog ".NET Framework 4がインストールされています。"
} else {
dialog ".NET Framework 4はインストールされていません。"
}
あとこれは蛇足なのでしょうが、
けけけ様は確かに言葉遣いが丁寧ではなく、
質問しても良い掲示板であるにも関わらず、質問することを貶しているのは確かです。
しかし それでも質問に対して有用な解決策を提示してくださっていますので、
素直にお礼を言ってその方法を使わせて頂くのがいいと思います。
今回はたまたまその解決策が自身の希望に当てはまらなかっただけで、
質問したことに対して回答してくださったことは確かです。
最低限、お礼はしておいた方が、今後 ゴメ吉 様が別の質問をした時も、
皆さん快く回答してくださると思いますよ。
蛇足に蛇足ですが、けけけ様のレスは自分にはツンデレにしか見えませんでした(笑)