プロが教えるわが家の防犯対策術!

こんにちは。よろしくお願いします。
VB5を使って開発しています。
パソコンの環境はWindowsXP(SP2)、データはAccess2003のMDBデータとスキャナで取り込んだ画像ファイルです。
上記2データをCD-RWにバックアップする処理をフォーム上のコマンドボタンを押して実行したいと考えています。
いろいろなサイトなどを探してみてFilecopyやSHFileOperationといったコピーの方法があると知りどちらも試してみたのですが、うまくいきません。間違っている箇所すらわからない状態です。CD-RWにバックアップを取ることは不可能なのでしょうか。また正しい方法が別に存在するのでしょうか。ご指摘、アドバイスをお願いいたします。
下は実際に作った処理です。
-----------------------------------------------------
Filecopy "D:\data\*.*","E:\back\*.*"
------------------------------------------------------
Private Declare Function SHFileOperation Lib "shell32" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String
End Type
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_MOVE = &H1
Private Const FO_RENAME = &H4
Private Sub Command1_Click()
Dim Ret As Long
Dim sf As SHFILEOPSTRUCT
sf.hwnd = Me.hwnd
sf.wFunc = FO_COPY
sf.pFrom = "D:\data\*"
sf.pTo = "E:\back\"
Ret = SHFileOperation(sf)
If Ret <> 0 Then MsgBox "失敗しました。"
End Sub

A 回答 (3件)

API宣言の『Alias "SHFileOperationA"』を削除してみてください



当方 VB6+WinXP(SP2)の環境で実験したところ Aliasの指定を外したら動作しましたよ

# 何かエラー表示があるならその情報も記述しましょう

この回答への補足

ご回答いただきありがとうございます。
ご指摘のとおりに変更して実行してみたのですが、
「○○をコピーできません。このCDのファイルは読み取り専用ですが、この書き込み可能なCDに新しいファイルをコピーすると、ディスクにあるファイルを置き換えることができます」というエラーメッセージが表示され、正しく実行されませんでした。
ほかにパソコン側での設定が必要なのでしょうか。

補足日時:2007/06/24 19:45
    • good
    • 0

こんなものを見つけました。


試してはいませんのでなんともいえませんが、
XPだったら書ける可能性はあると思います。

参考URL:http://www.bayden.com/delphi/cdburner.htm
    • good
    • 0
この回答へのお礼

ありがとうござました。
全て英語なので、勉強してから使ってみようと思います。

お礼日時:2007/06/24 21:13

VBでは基本的にCD-R(W)・DVD-R(W)とかにプログラムでは書き込みが出来なかった気がします。

(逆に出来るのであれば僕も教えてほしい。)書き込み系はC言語じゃないと無理と聞いたことがありますが、不確かな情報なので、あとは自分で調べてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
言語により可・不可があるのですね。

お礼日時:2007/06/24 20:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!