|   |      1 
                                  4
                             Hans是正确的,Acrobat Reader在托管代码中生成两个子AcroRd32进程,您无法直接访问这些进程。 我已经尝试过了,你有三个可行的选择: 
 | 
|   |      2 
                                  4
                             我终于有了一个可笑的简单答案。到目前为止,在测试这是工作。 在这个问题困扰了相当长的一段时间之后,我建立了一个复杂的系统,每个自定义控件记录下它们中的哪一个最后有焦点,并使用计时器将焦点翻转回来(当acropdf抓到它时),我重新研究了这个问题,并阅读了大量的答案(寻找最新的解决方案)。收集到的信息帮助我想出了这个主意。 其思想是在加载时禁用(acropdf)控件,如以下示例所示(为清晰起见,代码减少) 然后在计时器上,说1秒钟后。 基本上,这个想法是告诉Windows在允许之前不要让用户使用acropdf控件,因此要求Windows阻止它获得焦点(因为不允许用户进入)。 
 | 
|   |      3 
                                  2
                             这是一个进程外COM组件,这就是问题所在。完全违反了SetParent()中规定的Windows SDK要求。一旦它的窗口获得焦点,acroread.exe进程中的消息循环将获得所有消息,消息过滤器将无法再看到任何消息。 从技术上讲,可以通过使用SetWindowsHookEx()将DLL注入进程并使用WH\u GETMESSAGE监视消息来修复此问题。但是你不能用C语言写这样的DLL。 少校,我知道。这个项目似乎从来都不缺少它。 | 
|   |      4 
                                  2
                             由于某种原因,Tim的答案,直接禁用AxAcroPDF控件,在我的例子中不起作用。先前选择的文本框上的Leave事件也不会触发。 工作原理是将AxAcroPDF控件嵌套在禁用的GroupBox中。由于我的应用程序的用户只需要查看PDF,而不需要与之交互,因此在设计器中GroupBox的Enabled属性设置为False。 | 
|   | qouify · 将PDF转换为具有透明度的PNG 9 月前 | 
|   | Yoko · 试图用Javascript在表格中发送多个PDF块 10 月前 | 
|  | SrinivasR · 有没有办法检查pdf文件中的颜色空间 1 年前 | 
|   | Luka · 如何使更新的文本以粗体显示(Python) 1 年前 | 
|   | David_E · 根据另一张图纸中的特定值创建循环并保存PDF 1 年前 |