【问题标题】:Is there a way to open Windows date and time settings dialog from a WinForms application?有没有办法从 WinForms 应用程序打开 Windows 日期和时间设置对话框?
【发布时间】:2013-04-07 13:28:00
【问题描述】:

我正在开发一个嵌入式软件,我们希望尽可能避免暴露 Windows 功能和界面。但是,用户需要能够更改系统日期和时间,可能还需要更改时区或夏令时模式。

我想我会为此创建我们自己的简单表单,我尝试深入研究 Win32 API 调用,但意识到这不是一个简单的方法。

所以我发现这里基本上最简单的方法是从软件中调用众所周知的 Windows 对话框并让用户在那里更改内容。到目前为止,我找不到任何关于它的信息。是否有任何可执行文件(例如 gpedit.msc),或者是否有任何 API 调用来显示该窗口?如果没有,或者在我没有考虑到任何反对意见的情况下,任何人都可以为这项任务提出更好的方法吗?

编辑:感谢 timedate.cpl 的提示,我会尽快尝试。

【问题讨论】:

  • 您知道您需要管理员权限来更改时间吗?这会是个问题吗?
  • 在嵌入式平台上,管理员权限没有问题,我们只有一个具有管理员权限的用户。
  • 你可能想看看这个链接:stackoverflow.com/questions/650849/…

标签: c# windows winforms winapi datetime


【解决方案1】:

在我的桌面版 Windows 上,您可以通过执行 timedate.cpl 来显示该对话框。我不知道这是否适用于您的嵌入式 Windows。

【讨论】:

  • 它也可以在我们的嵌入式环境中工作,但是,我不知道它依赖于哪个包。但目前这无关紧要。谢谢。
【解决方案2】:

是的,有。使用此代码,单击按钮即可工作:

System.Diagnostics.Process.Start("timedate.cpl");

它应该工作。如果要打开其他窗口控件,只需将"timedata.cpl" 更改为您选择的命令即可。

祝你好运!

【讨论】:

    【解决方案3】:

    试试这个:

    Process.Start(System.Environment.SystemDirectory + @"\TimeDate.cpl");
    

    但我不知道它是否适用于您的嵌入式 Windows...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      相关资源
      最近更新 更多