Neo*_*ani 4 c# c++ dll dllimport windows-7
如何在C#中创建数学输入面板?
我试图将它放入一个dll并调用它但它立即关闭.
#include <stdafx.h>
#include <atlbase.h>
#include "micaut.h"
#include "micaut_i.c"
extern "C" __declspec(dllexport) int run()
{
CComPtr<IMathInputControl> g_spMIC; // Math Input Control
HRESULT hr = CoInitialize(NULL);
hr = g_spMIC.CoCreateInstance(CLSID_MathInputControl);
hr = g_spMIC->EnableExtendedButtons(VARIANT_TRUE);
hr = g_spMIC->Show();
return hr;
}
Run Code Online (Sandbox Code Playgroud)
我在C#中调用了dll函数,面板弹出但立即消失.有什么建议?
在C#项目中,添加对COM库的引用micautLib
.然后您可以使用以下代码(在C#中):
MathInputControl ctrl = new MathInputControlClass();
ctrl.EnableExtendedButtons(true);
ctrl.Show();
Run Code Online (Sandbox Code Playgroud)
我不确定这是不是你应该怎么做,但这似乎干净利落(完整的程序).
using System;
using System.Windows.Forms;
using micautLib;
namespace MathInputPanel
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MathInputControl ctrl = new MathInputControlClass();
ctrl.EnableExtendedButtons(true);
ctrl.Show();
ctrl.Close += () => Application.ExitThread();
Application.Run();
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2276 次 |
最近记录: |