объявление Api-функций

sum44

Member
29.10.2008
23
0
#1
ситуация следующая: мне нужно определить тип диска с помощью API-функции GetDriveType.
нашел в инете почти подходящую статью как это делается, немного изменил код, но ничего не
получилось.
вообще я создал модуль и объявил в нем API-функцию GetDriveType:
Код:
Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long.
'''
и вот код обработчика нажатия на кнопку:
Код:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myDrive As Integer
myDrive = 67
Debug.Print(Chr(myDrive) & ":" & " - " & GetDriveType(Chr(myDrive) & ":"))	 
End Sub
End Class
доходит до строчки, где Debug.Print и выдает такое сообщение:
Unable to find an entry point named 'GetDriveType LibA' in DLL 'kernel32'.

я так понимаю, что компилятор не может найти API-функцию в библиотеке kernel32.
Объясните пожалуйста, как исправить ситуацию. Заранее спасибо.
 
S

skysun

Гость
#2
Какая винда у тебя? Вот что дает msdn vs6. Мож у тебя виста то читай доки.
QuickInfo
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winbase.h.
Import Library: Use kernel32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.

Кроме того у тебя судя по коду VB.net. Ты уверен что там API-функции декларируются как в VB6
 

sum44

Member
29.10.2008
23
0
#3
спасибо за ответ. тему закрываю, т.к. решил забить на VB и делать программу на C++