怎么实现在程序中自动记录该程序已经运行的秒数

如何实现在程序中自动记录该程序已经运行的秒数
如何实现在程序中自动记录该程序已经运行的秒数,如果运行该程序的人在该程序运行期间私自更改了电脑系统的时间,这个累记秒数的正确性也不受到影响。

谢谢大家!
------解决思路----------------------
用 API 函数 GetTickCount(),这是硬件开机后的毫秒计数、和当前时间没关系。
注意:该计数约50天不到会再次从0开始计数。
------解决思路----------------------
如果精度要求不是很高的话,用timer控件应该也是可以的
Private Sub Form_Load()
    Timer1.Interval = 1000
    Count = 0
End Sub
Private Sub Timer1_Timer()
    Count = Count + 1
End Sub
Private Sub Form_Unload(Cancel As Integer)
    MsgBox "本次运行总时间大约 " & Count & " 秒"
End Sub



------解决思路----------------------
做软件的注册用?
写数值到注册表中或是某个TXT文件中如何?一旦用户修改时候,比较注册表数据跟现在的数据,是否人工调整时间,一目了然
------解决思路----------------------
GetTickCount可以得到开机以来的毫秒数,
------解决思路----------------------
程序自己记秒写到一个地方,每次运行都累计。
------解决思路----------------------
从WMI里面获取,或者
typedef struct _SYSTEM_PROCESSES { // Information Class 5
    ULONG NextEntryDelta;
    ULONG ThreadCount;
    ULONG Reserved1[6];
    LARGE_INTEGER CreateTime;
    LARGE_INTEGER UserTime;
    LARGE_INTEGER KernelTime;
    UNICODE_STRING ProcessName;
    //KPRIORITY BasePriority;
    LONG BasePriority;
    ULONG ProcessId;
    ULONG InheritedFromProcessId;
    ULONG HandleCount;
    ULONG Reserved2[2];
    VM_COUNTERS VmCounters;
    IO_COUNTERS IoCounters; // Windows 2000 only
    SYSTEM_THREADS Threads[1];
}
SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
NtQuerySystemInformation(SystemProcessesAndThreadsInformation,sp, n*sizeof(SYSTEM_PROCESSES), 0)

------解决思路----------------------
引用:
用 API 函数 GetTickCount(),这是硬件开机后的毫秒计数、和当前时间没关系。
注意:该计数约50天不到会再次从0开始计数。


支持。确切地说,是 47 天多。