There are typically a few reasons for not working jps (for me it works):
A) the jps does only see processes which use the same java.io.tmpdir property (as the hs_perf directory is created/searched there)
B) jps and the java process should be same/similar version
C) jps and java process should both be same bit width (64/32)
D) when starting the JVM from a windows service the (same) user will not be able to control it from interactive session
E) not all users can see all JVM from other users
So if you want to list a running application be sure to pick the associated jps, run it as the same user and you should be fine (unless it is a service).
Windows integration is still a very poor point in JVM :-/