这个问题我已经郁闷一个礼拜了:-(,具体情况如下:
1.我需要截获用户任何时候对任意文件的copy paste操作,并把其记录成xml文档。
现在通过截获WM_COPY,WM_PASTE消息和OleSetClipBoard OleGetClipBoard SetClipboardData
GetClipboardData等API基本已经实现截获用户的任何copy paste操作,但分析后发现截获的信息远比
用户的操作要多,例如:打开一个word文档时(现在用户还未进行任何操作)就截获了许多上面4个API
调用,而且由于word等office软件实现了自己的剪贴板,导致用户copy任何文件时word都会调用GetClipboardData等得到系统剪贴板的东西来填充自己的简帖版。
请问如何才能过滤掉这些伪操作信息,使截获的信息和用户操作更好的对应起来。
2.我有一个进程的ID和主窗口的HWND,如何才能得到他所打开的文件的绝对路径我分不多,尽量给了:)
1.我需要截获用户任何时候对任意文件的copy paste操作,并把其记录成xml文档。
现在通过截获WM_COPY,WM_PASTE消息和OleSetClipBoard OleGetClipBoard SetClipboardData
GetClipboardData等API基本已经实现截获用户的任何copy paste操作,但分析后发现截获的信息远比
用户的操作要多,例如:打开一个word文档时(现在用户还未进行任何操作)就截获了许多上面4个API
调用,而且由于word等office软件实现了自己的剪贴板,导致用户copy任何文件时word都会调用GetClipboardData等得到系统剪贴板的东西来填充自己的简帖版。
请问如何才能过滤掉这些伪操作信息,使截获的信息和用户操作更好的对应起来。
2.我有一个进程的ID和主窗口的HWND,如何才能得到他所打开的文件的绝对路径我分不多,尽量给了:)
1。我要截获所有进程的COPY PASTE消息,怎么能通过来源进程过虑?
2。GetModuleFileName是得到应用程序名,不是得到它所打开的文档绝对路径请路过的高手尽量详细回答一下
其他进程不可一
我的意思是能得到进程所打开的文件的绝对路径,而不是进程exe文件的绝对路径
比如word打开了aaa.doc,如何在知道word的绝对路径和进程id和主窗口句柄的前提下,
得到aaa.doc的绝对路径
大侠们,救命啊。这个是偶在csdn的处女贴,居然就没人能有一个满意的答复555
得到aaa.doc的绝对路径
~~~~这个没什么关系吧,能得到?
大家随便讨论吧,这个贴发了这么久都没找到答案:(
现在的项目我只是得到了文件名,而不是绝对路径
真的没人做过?
2.监视快捷健,一般是ctrl+c,ctrl+v
如果程序自己实现剪贴板的话就不太好弄了。不同程序不同的实现方法,要具体分析了。
SetClipboardViewer只能监视到copy操作吧
这个月实在是见识了office的那一套东西是多么bt了,很多别的程序能用的方法对他们都无效:(((
不能拦截,但是当有操作的时候他可以通知你