掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.netでFTP受信を行うには? (ID:85688)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>ん? ポインタなら、ByRef(参照渡し)でOKですよ。 >ByValだと、値渡しになってしまいます。 間違でした。m(_ _)m Option Strict Off Option Explicit On Imports System.Runtime.InteropServices Module Module1 Public Const MAX_PATH As Short = 260 Structure FILETIME Dim dwLowDateTime As Integer Dim dwHighDateTime As Integer End Structure Structure WIN32_FIND_DATA Dim dwFileAttributes As Integer Dim ftCreationTime As FILETIME Dim ftLastAccessTime As FILETIME Dim ftLastWriteTime As FILETIME Dim nFileSizeHigh As Integer Dim nFileSizeLow As Integer Dim dwReserved0 As Integer Dim dwReserved1 As Integer <VBFixedString(MAX_PATH), System.Runtime.InteropServices.MarshalAs _ (System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=MAX_PATH)> _ Public cFileName As String <VBFixedString(14), System.Runtime.InteropServices.MarshalAs _ (System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=14)> _ Public cAlternate As String End Structure Public Const INTERNET_OPEN_TYPE_DIRECT As Short = 1 Public Const INTERNET_INVALID_PORT_NUMBER As Short = 0 Public Const INTERNET_SERVICE_FTP As Short = 1 Public Declare Function InternetConnect Lib "wininet.dll" Alias _ "InternetConnectA" (ByVal hInternetSession As Integer, ByVal _ sServerName As String, ByVal nServerPort As Short, ByVal _ sUsername As String, ByVal sPassword As String, ByVal _ lService As Integer, ByVal lFlags As Integer, ByVal lContext As Integer) As Integer Public Declare Function InternetFindNextFile Lib "wininet.dll" _ Alias "InternetFindNextFileA" (ByVal hFind As Integer, ByRef _ lpvFindData As WIN32_FIND_DATA) As Integer Public Declare Function FtpFindFirstFile Lib "wininet.dll" _ Alias "FtpFindFirstFileA" (ByVal hFtpSession As Integer, _ ByVal lpszSearchFile As String, ByRef lpFindFileData As WIN32_FIND_DATA, _ ByVal dwFlags As Integer, ByVal dwContent As Integer) As Integer Public Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _ (ByVal hFtpSession As Integer, ByVal lpszRemoteFile As String, ByVal _ lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal _ dwFlagsAndAttributes As Integer, ByVal dwFlags As Integer, _ ByVal dwContext As Integer) As Boolean Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _ (ByVal hFtpSession As Integer, ByVal lpszLocalFile As String, ByVal _ lpszRemoteFile As String, ByVal dwFlags As Integer, ByVal dwContext As Integer) As Boolean Public Declare Function FtpSetCurrentDirectory Lib "wininet.dll" _ Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Integer, ByVal _ lpszDirectory As String) As Boolean Declare Function FtpGetCurrentDirectory Lib "wininet.dll" _ Alias "FtpGetCurrentDirectoryA" (ByVal hFtpSession As Integer, ByVal _ lpszCurrentDirectory As String, ByRef lpdwCurrentDirectory As Integer) As Integer ' Initializes an application's use of the Win32 Internet functions Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _ (ByVal sAgent As String, ByVal lAccessType As Integer, ByVal sProxyName As String, _ ByVal sProxyBypass As String, ByVal lFlags As Integer) As Integer Public Declare Function FtpCreateDirectory Lib "wininet.dll" _ Alias "FtpCreateDirectoryA" (ByVal hFtpSession As Integer, ByVal _ lpszDirectory As String) As Boolean Public Declare Function InternetReadFile Lib "wininet.dll" _ (ByVal hFile As Integer, ByVal sBuffer As String, ByVal lNumBytesToRead As Integer, _ ByRef lNumberOfBytesRead As Integer) As Short ' Closes a single Internet handle or a subtree of Internet handles. Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Integer) As Short Public Declare Function CloseHandle Lib "Kernel32" (ByVal hObject As Integer) As Integer End Module Option Strict Off Option Explicit On Friend Class Form1 Inherits System.Windows.Forms.Form Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click Dim Pdata As WIN32_FIND_DATA 'バッファの初期化 Dim hopen As Integer Dim hConnection As Integer Dim hFind As Integer Dim nFlag As Integer Pdata.cFileName = New String(Chr(0), MAX_PATH) hopen = InternetOpen("vb wininet", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0) hConnection = InternetConnect(hopen, "XXXXX.com", INTERNET_INVALID_PORT_NUMBER, "xxxx", "pasxxxxx", INTERNET_SERVICE_FTP, nFlag, 0) hFind = FtpFindFirstFile(hConnection, "/*.*", Pdata, 0, 0) 'ファイルが有るか調べる Text1.Text = Pdata.cFileName InternetCloseHandle(hConnection) End Sub End Class 私の環境ではこれでいけてます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.