CDドライブが何ドライブかを取得させるには?

解決


マグ  2004-08-28 01:58:35  No: 115946

題名の通りなのですか、

プログラムでCDの挿入のドライブがそのパソコンでは何ドライブになっているかを取得させるには、
どのように組めばいいでしょうか?

たまにドライブを変えている方もいますので
昔のパソコン:Dドライブ
現在のパソコン:Eドライブ

になっていますが、

ドライブをQドライブなどに変えているユーザがいるかもしれないということで
ドライブをプログラム上で直接指定するのではなく、CDドライブがそのパソコン
では、何ドライブになっているのかをプログラムで判断させるにはどうすればいいでしょうか?


特攻隊長まるるう  2004-08-28 02:19:51  No: 115947

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200401/04010105.txt


魔界の仮面弁士  2004-08-28 05:30:57  No: 115948

'FileSystemObject の Drive オブジェクトを利用する方法
For Each Drv In CreateObject("Scripting.FileSystemObject").Drives()
   If Drv.DriveType = 4 Then
       Call MsgBox(Drv.DriveLetter & "はCD-ROMドライブです")
   End If
Next

'WMI の Win32_CDROMDrive クラスを利用する方法
For Each Drv In GetObject("winmgmts:").InstancesOf("Win32_CDROMDrive")
    Call MsgBox(Drv.Drive & "はCD-ROMドライブです")
Next


マグ  2004-08-28 20:13:05  No: 115949

宣言に
Dim Drv As Object
が抜けていました。

あと、上のFor Each文でIf文の中の数字を変えることにより尾ライブの取得を
帰ることが出来ましたが、
下のFor Each文では、ドライブの種類を変えるにはどこをどのように変えればいいか教えてください。
お願いします。


マグ  2004-08-28 20:13:41  No: 115950

[訂正]

尾ライブ→ドライブ


あんぐり  2004-08-28 22:05:39  No: 115951

回答ではありません。
Win32_CDROMDrive をMSDN等で調べた上での質問ですか?

The Win32_CDROMDrive WMI class represents a CD-ROM drive on a Windows computer system.


マグ  2004-08-28 23:08:54  No: 115952

MSDNで調べたのですが、見つかりませんでした。

>The Win32_CDROMDrive WMI class represents a CD-ROM drive on a Windows computer system. 

これってもしかして、CD-ROMドライブ自体のシステムだから、
DドライブやFドライブやAドライブというように出す事ができないということですか?

もし、その操作を行うとしたら、上のほうのFor Each文でしか方法は存在しないという意味でしょうか?


Dental  2004-08-29 00:56:33  No: 115953

> MSDNで調べたのですが、見つかりませんでした。
見つからないのは、MSDNのバージョンの相違かも知れませんが、
MSDN以外にも、googleやyahooなど、調査方法は沢山あるかと。

> 上のほうのFor Each文でしか方法は存在しないという意味でしょうか?
その前に、APIでの調査法も紹介されているというのに、
どうして、そういう発言が出てきますかねぇ。(--;)

後者(WMIでの処理方法)という点で見ても、Win32_FloppyDrive とか
 Win32_DiskDrive とか Win32_TapeDrive で物理デバイスの調査が
できますし、Win32_MappedLogicalDisk や Win32_LogicalDisk で
論理デバイスの調査もできます。

さらに .NETなら、WMIを扱うための専用のクラスも用意されていますし。

> これってもしかして、CD-ROMドライブ自体のシステムだから、
> DドライブやFドライブやAドライブというように出す事ができないということですか?

質問の趣旨が変わって来てますよ。

そもそも、CD-ROMドライブを探す方法に関する質問だったので、
Win32_CDROMDriveクラスが紹介されたわけで。。。

HDDやFDDに対しても流用できる方法を知りたかったのなら、
最初からドライブの種類を調べる方法を聞いた方が良かったのでは?


マグ  2004-08-29 01:36:03  No: 115954

その方法でも調べたのですが、見つからなかったんです。
実は最初の質問は、CD-ROMで調べたのですが、
後から、他のドライブも必要になってしまい、追加質問したわけなんです。
最初の話題から、ずれてしまい、すみません。

それともうひとつ、追加質問したいんですけど、

.NET系でソフトを作るとしたら、どういう系統のソフトを作っているのでしょうか?
詳しく説明しますと、例えば、秋葉原などで売られている市販のソフトなどは主に何の言語で作られているのでしょうか?
.NET系ですか?

変な質問だとは思いますが、前から疑問に思っていたのですけれど教えてください。


?  2004-08-29 01:51:42  No: 115955

>.NET系でソフトを作るとしたら、どういう系統のソフトを作っているのでし>ょうか?
>詳しく説明しますと、例えば、秋葉原などで売られている市販のソフトなど>は主に何の言語で作られているのでしょうか?
>.NET系ですか?

>変な質問だとは思いますが、前から疑問に思っていたのですけれど教えてく>ださい

このひとは?


?  2004-08-29 01:58:36  No: 115956

以前に別の質問で、あったのですが、なぜ、関係のない追加質問をするのですか?
マグさんの掲示板の使い方おかしいのではないでしょうか?


マグ  2004-08-29 03:30:26  No: 115957

>マグさんの掲示板の使い方おかしいのではないでしょうか?

おかしいですか?

できれば、教えてください。
どうしても知りたいんです。(TT)


Dental  2004-08-29 11:36:32  No: 115958

> おかしいですか?
おかしいから、複数の人に何度も注意されているのでしょう?
“仏の顔も三度まで”。そのうち誰も答えてくれなくなりますよ。

> できれば、教えてください。
それでも直そうという意識が見えない所は、悪い意味で尊敬しますよ。

> .NET系でソフトを作るとしたら、どういう系統のソフトを作っているのでしょうか?
aspx系以外だと、CE.NET用アプリの作成によく利用されてますね。
Windows用フリーソフトでは、blogリーダのたぐいとか。。。

> 市販のソフトなどは主に何の言語で作られているのでしょうか?
主にというか、それぞれ、いろんな物で作られてますよ。Flashで作られた
市販ソフトもありますし、もちろん、VBで作られたソフトだってあります。
たとえば、SonyのCD-Rドライブ等で使用される「RecordNow DX」という
ライティングソフトのUIは、VB6製ですしね。あとは(最近は数が減ったかも
知れませんが) JAVA製のソフトが売られているのも目にしますし、海外だと
VBAで作られた製品も見かけます。.NET製品について言うとすれば、たとえば
GrapeCity社の コンポーネントなどは、C++.NETで書かれてますし、
他にも、MFC とか Delphi 製のアプリケーションもあります。

開発言語は、言語自体の得意/苦手な分野を慮って選ばれる事が
多いとは思いますが、予算や時間、社内の開発スタッフの都合などで
選択される事もあるので、対極的に見ると、特にどれがメインで
使われているか、という判断は難しいでしょう。製品の分野別に見れば
どの言語が良く使われているのか、といった話もできるかとは思いますが、
いずれにしろ、この質問はスレ違い…いや、板違いだとは思いませんか?


Dental  2004-08-29 11:39:06  No: 115959

> 対極的に見ると
「対極」→「大局」の変換ミスです。


マグ  2004-08-29 18:22:25  No: 115960

分かりました。
板違いの質問をしてしまい、すみませんでした。
CD-ROMドライブの取得に関する件についても出来ましたし、
解決しました。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加