Часто приходится лезть в apiload.exe, чтобы написать нужные функции в Declare. Как-то наткнулся в MSDN на статейку о том, что можно описывать функции в DLL через TLB. Задавал такой вопрос на форуме, но поскольку никто не ответил, решил сам попробовать. Попробовал. Вот что получилось.
Выхода в сеть по ресурсам, чтобы выложить файл, у меня нет. Даю такую ссылку. Attachment:
vb6api.zip
Это
vb6api.zip, который содержит
vb6api.idl и
vb6api.tlb из него. Регистрация в Reference... этой TLB даёт доступ к нескольким функциям из
user32.dll, не требуя описания в Declare, флагов и структур.
Чтобы убрать эту TLB из Реестра после ознакомления, можно использовать команду:
regtlib.exe -u vb6api.tlb
Что думается по такому использованию доступа к системным функциям?
PS Пример использования
Option Explicit
' Без Declare и определения структуры WINDOWPLACEMENT
Private Sub Form_Resize()
Dim wp As tagWINDOWPLACEMENT
wp.length = Len(wp)
GetWindowPlacement Me.hWnd, wp
End Sub