按Ctrl+Alt+DEL能看见,精确到秒;但不知道它怎么干的;那个对话框对应的应该是msgina.dll,资源都能看见,但也看不出它干了什么没,导入的函数都是MSDN里都找不到的;
GetTickcount不行,那个是启动,我要的是注销后的登录;
自己搜索了几个文件,发现c:\winnt\system32\config\sam.log(或者sam自己)的改动时间最为接近登录时间,用如下方法,
filetime := FileDateToDateTime(FileAge('c:\winnt\system32\config\sam.log'));
然后再messagebox出来,误差大约在2-3秒;现询问各位有否哪个api能直接完事的?

解决方案 »

  1.   

    getTickCount()
    返回登录到现在的毫秒
      

  2.   

    “getTickCount()
    返回登录到现在的毫秒”
    返回的是重新启动的时间,不是登录的时间,我试过了。
      

  3.   

    gettickcount()是当前时间的毫秒级的Double表示!最近登录时间可能要访问日志了!
      

  4.   

    日志里头的6009、6005事件好像能说明启动的时间,但不是登录;
    在登录时刻好象没有什么事件被windows写入日志。
    谢。
      

  5.   

    过完年up一下,这个主要用于屏保;
    by the way,98/XP下面哪个文件是类似于sam.log(对应HKEY_LOCAL_MACHINE的)的,改动时间最接近登录时间?