Перейти к содержимому

Фотография

Системные типы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Morozenko

Morozenko

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:FIO

Отправлено 01 октября 2010 - 09:07

Как использовать системные типы в вызове функций из dll? Например BYTE, LONG.
Функция которую мне нужно подключить в документации имеет вот такое описание:
[DllImport("user32.dll")]
public static extern int GetMenuItemRect(int hWnd, int hMenu,int uItem, [MarshalAs(UnmanagedType.Struct)] ref RECT lprcItem);
Я в коде сделал вот так, но компилятор ругаеться, что нельзя использовать тип RECT
[-] dll "user32.dll"
    [ ] int GetMenuItemRect(int hWnd, int hMenu, int hItem, RECT r)

  • 0

#2 vass

vass

    Опытный участник

  • Members
  • PipPipPipPip
  • 298 сообщений
  • ФИО:Василий

Отправлено 06 октября 2010 - 08:15

Как использовать системные типы в вызове функций из dll? Например BYTE, LONG.
Функция которую мне нужно подключить в документации имеет вот такое описание:
[DllImport("user32.dll")]
public static extern int GetMenuItemRect(int hWnd, int hMenu,int uItem, [MarshalAs(UnmanagedType.Struct)] ref RECT lprcItem);
Я в коде сделал вот так, но компилятор ругаеться, что нельзя использовать тип RECT

[-] dll "user32.dll"
    [ ] int GetMenuItemRect(int hWnd, int hMenu, int hItem, RECT r)

Правильно ругается :) используйте inout WINRECT r
Всё-таки силковский RECT отличается от системного WINRECT %)
системные целочисленные типы (согласно встроенному хелпу, почитайте его обязательно) все считаются INT
  • 0

#3 Morozenko

Morozenko

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:FIO

Отправлено 06 октября 2010 - 13:41

VASS, БОЛЬШОЕ СПАСИБО! Что-то я не вижу на форуме средств для поднятия репутации, сделал б много кликов сейчас...
Для тех кто в будущем будут использовать длл-функции: для использования системных типов нужно подключить msw32.inc, а в mswfun32.inc описаны все функции из usr32.dll (только что нашел)
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных