Big picture - У меня есть обычный код на C++ (некоторые функции помещаются в пространства имен), и у меня есть код C#, который должен вызывать этот материал C++. Как мне сказали, единственный способ сделать это - написать C++/CLI-обертку. На основании того, что я читаю, я пытаюсь использовать заголовки из reg.C++ и ссылаться на dll reg.C++.Как ввести HWND в код C++/CLI?
Первая проблема у меня есть HWND
. В reg.C++ он почти исходит из тонкого воздуха (у меня нет даже правильного включения для него, и VS принимает его), в CLI/C++ Я явно добавил include путь к c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\
(*), поэтому я мог бы добавить
#include <windef.h>
в коде C++/CLI, но в свою очередь включает winnt.h
и у меня есть ошибки в этом файле. Я чувствую, что включил reg.C++ в код CLI/C++, и он не подходит для этого.
So where есть HWND
определение C++/CLI?
(*) Этот каталог, потому что в проекте reg.C++ VS найдено определение HWND
.
Обновление Позже я установил Windows Development Kit 8.0, изменил пути к нему, включил windows.h
, однако затем я получил ошибки внутри входящих файлов. Для сравнения я попросил своего коллегу создать для меня пустой проект, я добавил его в свое решение, и это сработало. Поэтому я считаю, что сейчас есть какая-то странная вещь с настройкой моего VS, он не может создать правильно проект CLI/C++.
Я не могу ничего отличить в коде reg.C++, потому что он исправлен (я не могу его изменить). В C++/CLI - это именно то, что я намереваюсь делать, но я не могу использовать HWND в IntPtr, потому что HWND - это неизвестный тип для VS в C++/CLI. – greenoldman