I would use
fuser. You said you have looked into it,
but you don't say why you rejected it. For obvious reasons,
you either need to be root, or own the process that's accessing the file though. Alternatively, if your OS supports
it, you might use the
/proc filesystem, but then you
must have the same permissions as
fuser (which uses
/proc as well). And if you have the license for it,
I bet glance/advisor will be able to give you the information
as well.
Abigail