怎么实现在程序中自动记录该程序已经运行的秒数
如何实现在程序中自动记录该程序已经运行的秒数
如何实现在程序中自动记录该程序已经运行的秒数,如果运行该程序的人在该程序运行期间私自更改了电脑系统的时间,这个累记秒数的正确性也不受到影响。
谢谢大家!
------解决思路----------------------
用 API 函数 GetTickCount(),这是硬件开机后的毫秒计数、和当前时间没关系。
注意:该计数约50天不到会再次从0开始计数。
------解决思路----------------------
如果精度要求不是很高的话,用timer控件应该也是可以的
------解决思路----------------------
做软件的注册用?
写数值到注册表中或是某个TXT文件中如何?一旦用户修改时候,比较注册表数据跟现在的数据,是否人工调整时间,一目了然
------解决思路----------------------
GetTickCount可以得到开机以来的毫秒数,
------解决思路----------------------
程序自己记秒写到一个地方,每次运行都累计。
------解决思路----------------------
从WMI里面获取,或者
------解决思路----------------------
支持。确切地说,是 47 天多。
如何实现在程序中自动记录该程序已经运行的秒数,如果运行该程序的人在该程序运行期间私自更改了电脑系统的时间,这个累记秒数的正确性也不受到影响。
谢谢大家!
------解决思路----------------------
用 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)
------解决思路----------------------
支持。确切地说,是 47 天多。