CD-Rに保存するには?

解決


マグ  2004-08-19 17:57:16  No: 115773  IP: [192.*.*.*]

VB.NETを使ってCD-Rにデータを保存するようにプログラムを組むにはどうすれば良いでしょうか?

ファイルとディレクトリーの属性はそのままの状態で書き込みしたのですけれど・・・

例えば、保存元が隠しファイルだったら、隠しファイルのままCD-Rに保存するようにプログラムを組む方法を教えてください。
お願いします。

環境:VB.NET

編集 削除
とおりすぎ  2004-08-20 02:06:18  No: 115774  IP: [192.*.*.*]

やりたいことは解かったけど、
何処まで出来ていて、何処が解からないのか、具体的な質問の仕方
をしないと、回答のしようもない(しょうもない回答か?)。

とりあえず、Image Mastering API (IMAPI)を調べてみたら?

編集 削除
?  2004-08-20 07:27:11  No: 115775  IP: [192.*.*.*]

>やりたいことは解かったけど、
>何処まで出来ていて、何処が解からないのか、具体的な質問の仕方
>をしないと、回答のしようもない(しょうもない回答か?)。

まったくそのとおりです。
マグさんには、悪いですが、何から何まで、
教えるのは、難しいです。

自分でやってみて、具体的に質問してくれないと。
ほんとにわかっているのでしょうか?

編集 削除
マグ  2004-08-20 11:40:17  No: 115776  IP: [192.*.*.*]

調べたのですけど、さっぱり分かりません。(TT)

ファイルとディレクトリーの属性をそのままでCD-Rに焼くという動作をさせるには
プログラムでどのように記述すればいいか分かりません。
教えてください。
お願いします。

編集 削除
36NET  2004-08-20 16:57:05  No: 115777  IP: [192.*.*.*]

取り合えずです
>何処まで出来ていて、何処が解からないのか、具体的な質問の仕方
のようにマグさんの質問ではどこまで出来ているのかがわからないのですよ。

今回の場合
>ファイルとディレクトリーの属性をそのままでCD-Rに焼くという動作をさせるには
とゆう記述から推測すると今はファイルとディレクトリーの属性が変わってしまう
書込みまではうまくいっているのですか?

でしたら現状のソースを記述すればここの引数をこう変えるんだよ!
とか回答してくれる人がきっと現れると思います

もしそれすら実現できていないのであれば、まずはVB.NETでCDを書込みする方法!
と質問を一本にしぼって質問した方が回答する人も回答しやすいかと

で。その後できたソースでは属性に問題があるなら
そのソースを元に属性をそのままにするには?とか別スレッドを立てるとか

因みに自分はVB環境でCD書込みするアプリの作り方は知りません(ごめんなさい
↓取り合えずこんなのありました
http://madia.world.coocan.jp/vb/vb_bbs2/200309_03090053.html

編集 削除
GOD  2004-08-20 17:08:51  No: 115778  IP: [192.*.*.*]

>ファイルとディレクトリーの属性をそのままでCD-Rに焼くという動作をさせるには
CD-Rに焼いた時点でRead Only属性になってしまうと言うことじゃないですか?
そもそもCD-Rってそういう仕様なのでは?

編集 削除
マグ  2004-08-20 17:21:21  No: 115779  IP: [192.*.*.*]

>CD-Rに焼いた時点でRead Only属性になってしまうと言うことじゃないですか?

それはWindows XPに付属されている装置です。
自動で読み取り専用になって隠しファイルが解除されてしまいます。

>そもそもCD-Rってそういう仕様なのでは

Autorunを使ってCDを挿入時にファイルリストにアクセスしてWindows Media Player
を起動させて、自動再生させる所までは出来たんです。
そこで、Autorunファイルとファイルリストにアイコンを隠しファイルのまま
CDに保存したいんです。

そこで、隠しファイルのままCDに保存するプログラムの記述方法を質問しているのですが、
知っている方がいれば教えてください。
お願いします。

編集 削除
マグ  2004-08-20 17:26:01  No: 115780  IP: [192.*.*.*]

[訂正]

そこで、Autorunファイルとファイルリストにアイコンを隠しファイルのまま
CDに保存したいんです。



そこで、Autorunファイルとファイルリストとアイコンを隠しファイルのまま
CDに保存したいんです。

でした。

編集 削除
36NET  2004-08-20 23:45:32  No: 115781  IP: [192.*.*.*]

あのですね
>でしたら現状のソースを記述すればここの引数をこう変えるんだよ!
>とか回答してくれる人がきっと現れると思います
とかいたように現状のやりかた方を表記しないとアドバイスができないとおもうのですよ?

マグさんが現状作成したソースは一切流用する気がないのなら話は別ですが
でもそれって私は80%まで機能を完成させました。残りの20%はわからないので
助言をください。でも現状の80%はおしえません...ってことですよね?
まあこれはあまりにも極端な例ですがこんなお願いをされてマグさんは
どのように助言すればよいのかわかりますか?

編集 削除
マグ  2004-08-21 09:14:11  No: 115782  IP: [192.*.*.*]

説明不足ですみませんでした。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim oShell As Object
        Dim oCDRFolder As Object
        Dim oFolder As Object
        Dim oFolderItems As Object
        Dim oFolderItem As Object
        Dim oFolderItemVerbs As Object
        Dim oFolderItemVerb As Object

        oShell = CreateObject("Shell.Application")

        oCDRFolder = oShell.NameSpace("E:\")
        oFolder = oShell.NameSpace("C:\test")

        oCDRFolder.CopyHere(oFolder, 0&)

        MsgBox("U HAVE FILES WAITING TO BE WRITTEN TO THE CD", vbInformation)

        oFolderItems = oCDRFolder.Items()

        oFolderItem = oFolderItems.Item()

        oFolderItemVerbs = oFolderItem.Verbs

        For Each oFolderItemVerb In oFolderItemVerbs
            Debug.Print(oFolderItemVerb.Name)
            '↑ここで「'System.Diagnostics.Debug'のメンバーではありません。」というエラーが発生してしまいました。
            If oFolderItemVerb.Name Like "Write these files*" Then

                oFolderItemVerb.DoIt()

                Exit For
            End If
        Next

    End Sub

ソースを書いたのですが、エラーが発生して、
書き込みが出来ません。
あと、隠しファイルのまま保存する方法もどのように記述すれば良いか分かりません。

編集 削除
マグ  2004-08-22 09:51:44  No: 115783  IP: [192.*.*.*]

Dim oShell As Object
        Dim oCDRFolder As Object
        Dim oFolder As Object
        Dim oFolderItems As Object
        Dim oFolderItem As Object
        Dim oFolderItemVerbs As Object
        Dim oFolderItemVerb As Object
        oShell = CreateObject("Shell.Application")
        oCDRFolder = oShell.NameSpace("E:\")
        oFolder = oShell.NameSpace("C:\test")
        oCDRFolder.CopyHere(oFolder, 0&)
        MsgBox("U HAVE FILES WAITING TO BE WRITTEN TO THE CD", vbInformation)
        oFolderItems = oCDRFolder.Items()
        oFolderItem = oFolderItems.Item()
        oFolderItemVerbs = oFolderItem.Verbs
        For Each oFolderItemVerb In oFolderItemVerbs
            Debug.Write(oFolderItemVerb.Name)
            If oFolderItemVerb.Name Like "Write these files*" Then
                oFolderItemVerb.DoIt()
                Exit For
            End If
        Next

でできたのですけれど、書き込み準備にしかできません。
VB.NETからプログラムで実際に書き込み準備をして、書き込ませたのですけれど、
どうすればいいでしょうか?
ファイルやフォルダの属性をそのままの状態で

編集 削除
ハラー・ポッター  2004-08-22 10:26:34  No: 115784  IP: [192.*.*.*]

>MsgBox("U HAVE FILES WAITING TO BE WRITTEN TO THE CD", vbInformation)

を見ても解るかと思うのですが・・
このコードだと英語版OS仕様です。

>If oFolderItemVerb.Name Like "Write these files*" Then



>If oFolderItemVerb.Name Like "これらのファイルを*" Then

にかえてみて。他は未確認・・・

編集 削除
マグ  2004-08-22 13:23:54  No: 115785  IP: [192.*.*.*]

ありがとうございます。
確かに保存できましたが・・・

隠しファイルのままCD-Rに保存してくれません。(TT)
隠しファイルを解除して、保存してしまいます。
どうすればいいでしょうか?
教えてください。
お願いします。

編集 削除
マグ  2004-08-27 12:17:03  No: 115786  IP: [192.*.*.*]

書き込みがないから、解決とさせていただきます。

でも、もし、知っている方がいるのならば、
かわいそうな私にファイルやフォルダの属性をそのままCD-Rに書き込む方法を教えてください。(TT)
お願いします。

編集 削除