Есть программа на c++, которая генерирует зашифрованное сообщение и выводит в файл и консоль. Программа на c# должна эти данные выводить на winforms. Как их вообще связать? Т.е. вызвать шифратор сообщения на с++ из c#, подождать пока она посчитает и выведет данные, а затем на с# в winforms выведет ответ?
Ответ
Лучше переделать программу на C++ в dll, подключить его и из C# вызать соответствующий метод.
C++
Запускаем Visual Studio .NET.
Создаём новый проект File->New->Project.
Выбираем Visual C++ Project, На вкладке Templates->Visual C++, Выбираем “Win32 Project”.
Выбираем имя для проекта, например TestLib. Нажимаем OK.
В следующей форме выбираем Application Type: DLL и Empty Project.
Добавим в "Source File" New Item->C++ File.
Добавим код
#include
C#
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("TestLib.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern double Add(double a, double b);
private void button1_Click(object sender, EventArgs e)
{
var x = Add(25, 17);
MessageBox.Show(x.ToString());
}
}
}
Комментариев нет:
Отправить комментарий