首先明确说明,该技术问题小弟不是搞不正当行为,主要是为公司做一个关于PC安全防护软件。如今小弟已经实现了对每个逻辑磁盘分区表进行加解密功能。
加密后的逻辑磁盘,每当用户用鼠标或键盘在(我的电脑窗体或右键资源管理器)打开企图浏览,系统都会提示磁盘未格式化是否格式化对话框。小弟,想不让系统发送消息提示该对话框。此时自动启动小弟软件,进行划入用户指纹解密后打开该逻辑磁盘,为用户保护重要的文献资料。我知道一点点。大概需要用到HookApi
或进行注入Windows系统DLL中进行拦载Win消息。也有可能用到Shell监控。如果大家不知道什么消息,也可以通过这样来实现,小弟的程序只要能够获取到用户双击以及单击的盘符即可启动小弟的软件实现解密功能。请高手帮忙?  那位高手解决了,小弟此问题一定给分。谢谢大家

解决方案 »

  1.   

    不知道啊。高深好象截获消息,经常看到人家学说重栽一个很有用的虚函PreTranslateMessage();说是在TranslateMessage()and DispatchMessage()之前调用这个函数。所以在这个函数好象能够起到一定的作用。我想你应该知道,看你是高手。小弟献丑了!!
      

  2.   

    ifs ddk can help you
      

  3.   

    一点建议啊,呵呵~~~
    我想APIHOOK应该可以做到,呵呵~~~ 先说下原理吧。你双击是不是都要谈出"磁盘未格式化。。"这个MessageBox吗? 用APIHOOK拦截这个MessageBox就可以啦~~~ 当发现系统中有调用MessageBox并且内容为"磁盘未格式化",时,就不弹出这个MessageBox并且启动自己的程序就可以了。
    具体的APIHOOK代码可以到这里下载,http://pgy12345.googlepages.com/apihook 这个是我的新主页,呵呵~~~
      

  4.   

    可以试下IShellExecuteHook,可拦截用户对文件(夹)的打开或运行等操作。具体看下MSDN吧,我也不太清楚。