Взаимодействие управляемого и не управляемого кода - C#

Узнай цену своей работы

Формулировка задачи:

Есть проект Win32Project1 В Win32Project1 есть функция
void Test()
{
    MessageBox( 0, L"Imported", L"Imported", MB_OK );
}
на выходе получается Win32Project1.dll Есть проект WpfApplication1 - это простая форма с 1 кнопкой
public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        [DllImport("Win32Project1.dll")]
        private static extern void Test();
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Test();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
Пишет не удается найти точку входа Test в DLL Win32Project1.dll Гуглил... пишут что компилятор по разному может изменять реальное имя функций, но тогда почему я спокойно вызываю функции из WinAPI

Решение задачи: «Взаимодействие управляемого и не управляемого кода»

textual
Листинг программы
#include <Windows.h>
 
extern "C" __declspec(dllexport) void Test()
{
    MessageBox(0, L"Imported", L"Imported", MB_OK);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы