2012-05-16 59 views
2

我有一個使用C++開發的DLL。現在我希望在我的C#應用​​程序中使用這些函數。 我知道如何在我的應用程序中使用dll,但是我的問題是dll需要一個類型爲SYSTEMTIME的參數。我不能在我的C#代碼中使用SYSTEMTIME。請提出解決方法,如何使用SYSTEMTIMEDLL導入使用SYSTEMTIME

+3

你必須告訴爲更具體,爲什麼你不能夠使用它?這只是你沒有C#定義嗎?在P/Invoke場景中可以使用'SYSTEMTIME'的一個可能的定義[here](http://www.pinvoke.net/default.aspx/Structures/SYSTEMTIME.html)。 –

+0

因爲當我編譯時說沒有找到名稱空間或定義。 – xaria

+0

http://www.pinvoke.net/default.aspx/Structures/SYSTEMTIME.html –

回答

4

這應該工作:

[StructLayout(LayoutKind.Sequential)] 
private struct SYSTEMTIME { 
    Int16 wYear; 
    Int16 wMonth; 
    Int16 wDayOfWeek; 
    Int16 wDay; 
    Int16 wHour; 
    Int16 wMinute; 
    Int16 wSecond; 
    Int16 wMilliseconds; 
} 

又見準備使用的解決方案從pinvokeChristian.K指出。

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; 
    }