Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как вызвать функцию WinAPI / 6 сообщений из 6, страница 1 из 1
19.08.2003, 11:06
    #32239930
Flug
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать функцию WinAPI
Есть такая функция в WinAPI

BOOL GetUserName(
LPTSTR lpBuffer, // name buffer
LPDWORD nSize // size of name buffer
);

Как в VB ее правильно описать и затем вызвать?.

Как вообще в VB описыва.тся переменные типа LPTSTR ?

Заранее спасибо.
...
Рейтинг: 0 / 0
19.08.2003, 12:28
    #32240072
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать функцию WinAPI
Вот пример от товарища апплемана :
GetUserName

VB Declaration

Declare Function GetUserName& Lib "advapi32.dll" Alias "GetUserNameA" (ByVal _
lpBuffer As String, nSize As Long)

Description

Retrieves the name of the current user.

Use with VB

No problem.

Parameter Type/Description
lpBuffer String—A string buffer preinitialized to length nSize. It will be loaded with the user name.
nSize Long—A long variable initialized to the length of lpBuffer. On return it will contain the number of characters loaded into lpBuffer
Return Value

Long—True (nonzero) on success, zero on error. Sets GetLastError.

Platform

Windows 95, Windows NT

Example

Dim s$, cnt&, dl&
cnt& = 199
s$ = String$(2ØØ, Ø)
dl& = GetUserName(s$, cnt)
Debug.Print Left$(s$, cnt); cnt
...
Рейтинг: 0 / 0
22.08.2003, 10:44
    #32244232
cancel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать функцию WinAPI
а вот как написать функцию на Delphi, чтобы она возвращала строку в VB.
какие вообще правила передачи параметров для VB??? точнее для VBA...
...
Рейтинг: 0 / 0
22.08.2003, 14:04
    #32244641
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать функцию WinAPI
На Delphi при написании обычной DLL для строк можно использовать только pchar.

Но лучше написать ActiveX-объект. Это "роднее" и для VB, и для VBA, да к тому же в Delphi тогда можно будет использовать WideString и String, не задумываясь - все автоматом преобразуется к OLE-совместимому типу.
...
Рейтинг: 0 / 0
25.08.2003, 07:40
    #32245705
cancel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать функцию WinAPI
а мне посоветовали просто OleVariant... удобно...
...
Рейтинг: 0 / 0
25.08.2003, 13:15
    #32246117
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать функцию WinAPI
OleVariant в простую DLL (не activex) ?
Можешь сделать, конечно, но может наступить жопа в виде Access Violation.

В ActiveX можно конечно и OleVariant, и просто Variant, и любой стринг.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как вызвать функцию WinAPI / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]