■19291 / ) |
ファイルのコピーができません |
□投稿者/ たくあん (1回)-(2008/05/21(Wed) 19:43:50)
|
分類:[VB.NET/VB2005]
とても困っています。 よろしくお願いします。
APIを使ってファイルのコピーをしたいと思っています。 ところが、「ファイルをコピーできません。送り側のファイルまたはディスクから読み取れません。」 というエラーになってしまいます。 ちなみにコピー元ファイルの存在は確認済みです。
ソースは下記のようにしました。 -------------------------------------------------------------------------------------------- 'APIの宣言 Private Declare Function SHFileOperation Lib "shell32.dll" (ByRef lpFileOp As SHFILEOPSTRUCT) As Integer
'構造体 <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=1)> _ Private Structure SHFILEOPSTRUCT Dim hwnd As IntPtr Dim wFunc As Integer <MarshalAs(UnmanagedType.LPStr)> Dim pFrom As String <MarshalAs(UnmanagedType.LPStr)> Dim pTo As String Dim fFlags As Short <MarshalAs(UnmanagedType.Bool)> Dim fAnyOperationsAborted As Boolean Dim hNameMappings As IntPtr <MarshalAs(UnmanagedType.LPStr)> Dim lpszProgressTitle As String End Structure
'使用個所 Dim udtFileOp As SHFILEOPSTRUCT
'' 構造体の設定 With udtFileOp .fFlags = mlngOperationFlg .hwnd = mlngTarget .pFrom = strFrom .pTo = strTo .wFunc = lngFunc End With Ret = Not CBool(SHFileOperation(udtFileOp))
------------------------------------------------------------------------------------- ネットで調べたところ、「pFromとpToにそれぞれの末尾にNullを二つ結合すると成功した」とあったので試しましたがやはり駄目でした。 もう私ではどこがおかしいのか皆目検討つきません。 どなたかよろしくお願いします。
|
|