如何在C#中设置Windows日历类型

时间:2014-07-13 22:11:38

标签: c# pinvoke

有没有办法使用C#设置系统日历类型?

我从Kernel32.dll找到了这个函数:

    BOOL SetCalendarInfo(
      _In_  LCID Locale,
      _In_  CALID Calendar,
      _In_  CALTYPE CalType,
      _In_  LPCTSTR lpCalData
    );

如何在C#应用程序中调用此方法?

1 个答案:

答案 0 :(得分:2)

Method签名应如下:

[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
static extern bool SetCalendarInfo(uint Locale, uint Calendar, uint CalType, 
    string lpCalData);

pinvoke网站是一个起点,展示如何为本机方法创建c#方法签名,但它可能并不总是准确。

您需要熟悉.net中的pinvoking,以了解如何正确地与此方法进行交互。

有关SetCalendarInfo方法的其他信息,请在此处阅读MSDN文档http://msdn.microsoft.com/en-us/library/windows/desktop/dd374048(v=vs.85).aspx

下面的链接提供了一个关于平台调用的好教程。

http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx