|
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
|
|||||||||||||||||||||||||||||||
Срочно - стринги и вызов Win32 API функций (.NET)27.06.2012, 15:16. Показов 2327. Ответов 4
Метки нет (Все метки)
Я новичек в VB.NET.
В VB6 можно было декларировать стринг как
System.Text.StringBuilder, но ничего не помогает. (тип ошибок при различных декларациях разный, но результат тот же). Вопрос: как в .NET декларируются структуры со стрингами для последующей передачи их в Win32 API функции для заполнения полей?
0
|
|||||||||||||||||||||||||||||||
| 27.06.2012, 15:16 | |
|
Ответы с готовыми решениями:
4
Срочно - стринги и вызов Win32 API функций Вызов API функций в VB.NET Win32 API vs MFC vs .NET |
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 27.06.2012, 16:18 | |
|
kpoxa,
Я нашел чью-то дискуссию на схожую тему: Hello all, I am having some trouble using wininet.dll fot FTP in VB.NET. Here is my code: CODE Module Module1 Private Structure FILETIME Dim dwLowDateTime As Long Dim dwHighDateTime As Long End Structure Private Structure WIN32_FIND_DATA Dim dwFileAttributes As Long Dim ftCreationTime As FILETIME Dim ftLastAccessTime As FILETIME Dim ftLastWriteTime As FILETIME Dim nFileSizeHigh As Long Dim nFileSizeLow As Long Dim dwReserved0 As Long Dim dwReserved1 As Long Dim cFileName As String Dim cAlternate As String End Structure Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal HINet As Integer) As Integer Private 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 Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Integer, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Integer, ByVal lFlags As Integer, ByVal lContext As Integer) As Integer Private 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 Private 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 Private Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, ByVal lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long Private Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" (ByVal hFind As Long, ByVal lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean Private Declare Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszCurrentDirectory As String, ByVal lpdwCurrentDirectory As Long) As Long Sub Main() Dim INet As Long Dim INetConn As Long Dim RC As Boolean Dim FileData As WIN32_FIND_DATA Dim FileList As String Dim MAX_PATH As Long = 0 INet = InternetOpen("FTP_Backup", 1, vbNullString, vbNullString, 0) INetConn = InternetConnect(INet, "my.ftp.server.name", 0, "MyUsername", "MyPassword", 1, 0, 0) RC = FtpGetFile(INetConn, "/notes.ini", "D:TempVB .NET TempNotes Data otes.ini", False, 0, 0, 0) If RC Then Console.WriteLine("Transferred Notes.ini") RC = FtpSetCurrentDirectory(INetConn, "/Data/mail") MsgBox(RC) RC = FtpGetCurrentDirectory(INetConn, FileList, MAX_PATH) MsgBox(MAX_PATH) MsgBox(FileList) FileData.cFileName = New String("", 0, MAX_PATH) RC = FtpFindFirstFile(INetConn, "*.*", FileData, 0, 0) MsgBox(RC) FileList = FileData.cFileName & "," 'Do While RC = True ' RC = InternetFindNextFile(INetConn, FileData) '
0
|
|
|
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
|
|
| 27.06.2012, 19:35 [ТС] | |
|
Те решения, что здесь приведены, я и так уже нашел (см. в моем коде), но я не нашел решения проблемы для структуры, а именно там и происходит ошибка на котороя я застопорился, если можно помощи именно со структурой и передачей её в WinAPI (в моем случае вызов FtpFindFirstFile ).
0
|
|
|
Messir
|
||
| 27.06.2012, 22:21 | ||
|
||
|
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
|
|
| 28.06.2012, 14:36 [ТС] | |
|
Спасибо, messir. Это именно то, что нужно (впрочем, как и все твои тветы :o) )
0
|
|
| 28.06.2012, 14:36 | |
|
Помогаю со студенческими работами здесь
5
описание функций Win32 API получение имени компьютере GetComputerName
Вызов функций Windows API в HomeLisp 1.13.51 Прямой вызов функций ODBC API Вызов функций RASDIAL RASEnumConnections RASHangUp с API. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|