我如何在C#GUI中调用我的C 程序
How can I call my c++ program in c# gui?
我可以在C#GUI中调用此C 代码吗?如果是这样,我该怎么办?
我的C 功能:
int getSize(const char *file) {
HANDLE hFile;
LPCWSTR inFile = (LPCWSTR)file;
hFile = CreateFile(
inFile,
GENERIC_READ,
FILE_SHARE_READ,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
CloseHandle(hFile);
return dwFileSize;
}
我想在C#中使用它:
int fileSize = getSize(DecryptionOpenFile.FileName);
您只需要将DLL导入C#GUI项目并在其周围制作包装。
这是一个样本:
public static class IncDll
{
[DllImport("myLibrary.dll")]
public static extern void MethodName(ParameterList);
}
然后在您的代码中,您只需要这样称呼:
IncDll.MethodName(params);
您还可以有两个项目,一个在C /CLI中,另一个在C#中。
。C /CLI正在包装本机C API。
然后将C /CLI库的引用添加到C#中,您将能够通过包装器使用本机库。
相关文章:
- 为什么我的运算符 + 重载尽管是通过引用传递的,但仍调用我的复制构造函数?
- 什么时候可以使用常量装饰调用我的重载函数?
- 为什么当我做复制和交换习语时不调用我的复制构造函数?
- 钩/绕道 d3d9 (现在/结束场景) - 似乎调用我的函数然后崩溃
- 为什么在这种情况下不调用我的虚拟函数实现?
- 在linux中,mono调用我的.so-lib返回System.EntryPointNotFoundException
- 当我从头文件和实现文件调用我的函数到我的主文件时,我没有得到任何输出
- 为什么没有调用我的回调?
- 如何制作指针来调用我的成员函数
- 如何在Android Studio中编写CMakelists来调用我的C 项目(JNI)的功能
- 为什么在这种情况下不调用我的移动构造函数?(首先分配 r 值引用并创建对象)
- 我如何调用我的3个数据成员中每个人的设置方法,然后显示由我的设置方法设置的值
- 为什么没有调用我的覆盖方法
- 我的类中有方法的指针数组,但我不能调用我的方法.代码如下
- C++模板:无法从 main.cpp 调用我的函数
- 为什么我继承的构造函数调用我的基本默认构造函数
- 我如何在C#GUI中调用我的C 程序
- SetWindowsHookEx没有调用我的回调
- c++ Glut 显示需要调用我的绘制函数,但我无法传递任何参数
- 如何从对象中调用我的set回调函数