title: Get last used date for installed applications on Windows
body: <p>I am trying to get the last used date for applications on Windows. I have tried looking through the registry but it does not seem to store it there anywhere. </p>
  
  <p>I have also looked at WMIs Win32_SoftwareFeature but it's very very slow and fairly recent so won't work on Windows XP or Server 2003. This is for audit software that would advise the user which programs he doesn't need and so on.</p>
  
  <p><a href="http://blogs.msdn.com/b/oldnewthing/archive/2004/07/09/178342.aspx" rel="nofollow">This</a> article seems to be in the right direction. It says:</p>
  
  <blockquote>
    <p>"In order to get the "Last Used" and "Frequency" values, Add/Remove Programs needs to know the name of the EXE so it can ask the Start menu "Hey, how often did the user run this program, and when was the last time it happened?""</p>
  </blockquote>
  
  <p>But it does not say how to ask the start menu this question.</p>
  
  <p>So, if you know how to enumerate programs in start menu and get the last used date that would be great as well - I can work from there.</p>