今、使っているパソコンのOSを調べたいのNo.03543
haru さん 03/01/20 11:00
 
 標記の件、マクロでは、どう書けば良いでしょうか?
 教えて下さい。
 よろしくお願いします。

[ ]
RE:03543 今、使っているパソコンのOSを調No.03544
ひろ さん 03/01/20 11:59
 
 haru さん今日は、ひろです。
>  標記の件、マクロでは、どう書けば良いでしょうか?
 おそらくマクロだけでは無理です。ただ tkinfo.dll 等外部 DLL を使うな
ら別です。また何の目的に OS を知りたいか書き込みされると、それに合わせ
た別解が提供されるかもしれません。

[ ]
RE:03544 今、使っているパソコンのOSを調No.03545
haru さん 03/01/20 14:03
 
 ありがとうございます。
 実際どういう場面で、使おうかとしているかと申しますと、

run "cmd.exe /c    
run "command.com /c

 は、OSの違いにより使い分けなければいけませんが、
 この際、これがマクロで判別できれば調子良いのですが。
 とりあえず、getregstr("ComputerName")で見分けることにしまし
た。
 他にもっと、良い手があればご教授下さい。
 よろしくお願いします。

[ ]
RE:03545 今、使っているパソコンのOSを調No.03546
でるもんた さん 03/01/20 14:17
 
>  実際どういう場面で、使おうかとしているかと申しますと、
>
> run "cmd.exe /c
> run "command.com /c
>
>  は、OSの違いにより使い分けなければいけませんが、
>  この際、これがマクロで判別できれば調子良いのですが。

NT 系でも command.com は使えますから、特に問題がなければ command.com で
統一してしまうというのはいかがですか?

[ ]
RE:03546 今、使っているパソコンのOSを調No.03547
haru さん 03/01/20 15:32
 
>NT 系でも command.com は使えますから、特に問題がなければ command.com で
>統一してしまうというのはいかがですか?
 win2000で、command.comに変更して実行したら、コピーできませ
んでした。
 cmd.exeならOKなんですが。
 そういうものなのでしょうか?

[ ]
RE:03547 今、使っているパソコンのOSを調No.03548
手風琴 さん 03/01/20 16:52
 
haruさんはじめまして。
手風琴ともうします。

環境変数ComSpecを使う方法はどうでしょうか?

$cmd = getenv("ComSpec");
run $cmd + " /c";


[ ]
RE:03545 今、使っているパソコンのOSを調No.03549
山紫水明 さん 03/01/20 20:56
 
 haruさん,こんばんは。

》 は、OSの違いにより使い分けなければいけませんが、
》 この際、これがマクロで判別できれば調子良いのですが。

 手風琴さんがおっしゃっている「環境変数ComSpecを使う方法」が使えると思い
ます。
 具体的使用例は,http://www.maruo.co.jp/turukame/3/#1344
以下のスレッドが参考になるでしょう。
 元々環境変数取得についてはひろさんに教えていただいたものです。

     では, (^^)/~
                                        山紫水明

[ ]
RE:03549 今、使っているパソコンのOSを調No.03550
山紫水明 さん 03/01/20 22:30
 
追伸です。
 OS バージョンそのものを取得したいなら,次のマクロでもやれそうです。

//----- GetOSversion.mac -----------------------------------------//
disabledraw;
#x = x; #y = y;
if( rightstr( getenv( "COMSPEC"), 11) == "COMMAND.COM" )
                      $com = "command.com";
else $com = "cmd.exe";
gofileend;
beginsel;
run $com + " /c ver > con";
searchup "Win";
$ver = gettext( 0, y, linelen, y );
undo;
undo;
moveto #x, #y;
message $ver;
endmacro;
//----------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:03550 今、使っているパソコンのOSを調No.03551
haru さん 03/01/21 09:12
 
 ありがとうございます。
 うまくいきました。

[ ]
RE:03550 今、使っているパソコンのOSを調No.03555
ENCODINGSHIFTJIS さん 03/01/22 19:39
 
追加です
> OS バージョンそのものを取得
Win32API のほうなら 田楽DLLに GETOSINFO
がありました。

"%t"  OSの種類
"%M"  メジャーバージョン番号
"%m"  マイナーバージョン番号
"%b"  ビルド番号
"%e"  その他の情報

[ ]