Have a look on these snippet from APIGuide.qvw (is in your qv install-folder):
rem ** minimize all active sheet objects on active sheet **
for i=lbound(objs) to ubound(objs)
if objs(i).IsActive then objs(i).Minimize
Instead of minimize you could read the name, id, timestamp, user .... But I wouldn't create a variable for each object I would rather use one variable as logfile and append each new event as a new row. These variable could you write by closing the app or externally in a text-file. Then to scan each movement within the app is quite heavy but to write it immediately is more difficult - from performance point of view and if several users used the same app at the same time ...