Передайте метод C ++/Winrt и используйте его в C# winuiC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Передайте метод C ++/Winrt и используйте его в C# winui

Сообщение Anonymous »

Я работаю над компонентом C ++/Winrt, который можно использовать с проекцией в приложении C# Winui. Мне нужно реализовать метод, который принимает HWND (обрабатывать в окно) из C# App.

Код: Выделить всё

IDL file:
[default_interface]
runtimeclass FileOpenPicker
{
void SetWindowIdFromHwnd();
}
< /code>
и в .h File: < /p>
struct FileOpenPicker : FileOpenPickerT
{
void SetWindowIdFromHwnd();
}
< /code>
и в файле CPP: < /p>
void FileOpenPicker::SetWindowIdFromHwnd() {}
< /code>
И, наконец, в моем приложении C# я могу использовать этот метод, как это: < /p>
var picker = new FileOpenPicker();
picker.SetWindowIdFromHwnd();
из приложения C# winui Мне нужно передать INTPTR/NINT этому методу.
var picker = new FileOpenPicker();
picker.SetWindowIdFromHwnd(hwnd);
< /code>
Но я не знаю, что мне делать в IDL и в файлах CPP /H.
Когда я использую следующие коды в IDL, я получаю ошибку, я протестировал длинный, INTPTR, INTPTR_T:
void SetWindowIdFromHwnd(IntPtr hwnd);< /code> < /p>
Я получаю ошибки неразрешенного типа. />'microsoft.storage.pickers.fileopenpicker ')]

Мне нужно реализовать метод в C ++/Winrt, который примет мне правильное направление или предоставить решение для этого?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... harp-winui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»