Điều này dường như làm việc:
using System;
using System.Runtime.InteropServices;
namespace ClockResync
{
class Program
{
[DllImport("w32time.dll")]
public static extern uint W32TimeSyncNow([MarshalAs(UnmanagedType.LPWStr)]String computername, bool wait, uint flag);
static void Main(string[] args)
{
Console.WriteLine(W32TimeSyncNow("computername", true, 8).ToString());
Console.ReadLine();
}
}
}
Nó cung cấp tài liệu vì vậy tôi không chắc chắn chính xác những gì các lá cờ có thể là, nhưng 8 dường như thực hiện công việc tốt - thử nghiệm với đồng hồ hệ thống của tôi. Nếu bạn đang chạy Windows 64 bit, biên dịch cho 64-bit hoặc bạn sẽ nhận được ngoại lệ vi phạm truy cập.
W32TimeQueryStatus
sẽ có thể nhận được thời gian đồng bộ hóa thành công cuối cùng. Tôi sẽ làm việc trên đó khi tôi có nhiều thời gian hơn.
Nguồn
2016-07-13 00:39:44
Không chính xác những gì tôi cần, nhưng tốt hơn là không có gì. Cảm ơn! –
Cảm ơn một triệu! –