我有一个使用C ++开发的DLL。现在我希望在我的C#应用程序中使用这些函数。 我知道如何在我的应用程序中使用dll,但我的问题是dll需要一个类型为SYSTEMTIME的参数。
[DllImport("MyControl.dll")]
public static extern Int32 MyCONTROL_NewControl(SYSTEMTIME stime);
但我无法在我的C#代码中使用SYSTEMTIME
。请提供有关如何使用SYSTEMTIME
的解决方法。
答案 0 :(得分:4)
这应该有效:
[StructLayout(LayoutKind.Sequential)]
private struct SYSTEMTIME {
Int16 wYear;
Int16 wMonth;
Int16 wDayOfWeek;
Int16 wDay;
Int16 wHour;
Int16 wMinute;
Int16 wSecond;
Int16 wMilliseconds;
}
另请参阅pinvoke所指向的Christian.K即用型解决方案。
答案 1 :(得分:3)
这就是你在c#中使用它的方式:
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME
{
ushort wYear;//ushort = WORD
ushort wMonth;
ushort wDayOfWeek;
ushort wDay;
ushort wHour;
ushort wMinute;
ushort wSecond;
ushort wMilliseconds;
}