我试图编写一个Utility Manager应用程序,我试图在WinXP SP3上测试它。 我把它添加到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Utility Manager
,并加载程序管理器时,当我在我登录它工作得很好。如何安装可在安全桌面上运行的公用程序管理器应用程序?
然而,当我尝试从工具管理器在启动时登录(通过窗口+ U)之前加载它,或锁定屏幕上出现错误消息,说(大约,因为它是德语版的WinXP)“此应用程序无法在安全桌面上执行,请联系您的系统管理员以获取所需的权限”。
为了在安全桌面上完成这项工作,我需要做些什么不同?
[B]编辑:[/ B] 我跟大卫教皇的建议,并试图调试utilman.exe(使用OllyDebug因为我比使用新的调试器...更多习惯了,并问它打破过程创造)。看起来好像我的应用程序根本就没有开始。由于OllyDebug似乎有一些功能(如API调用中断)被禁用(可能是因为该进程作为不同的用户运行),所以我使用Sysinternals Process Monitor对其进行了双重检查。启动屏幕键盘时,会出现“创建过程”事件;当启动我的工具时,不会显示任何事件。
另一方面的注意事项:当我将osk.exe(屏幕键盘)放入我的新注册表项时,它工作正常(我在菜单中基本上有两个屏幕键盘输入),但是如果我复制osk。 exe到osk2.exe并将osk2.exe作为可执行文件,则屏幕键盘onls的副本将在非安全桌面上启动。所以在调用可执行文件之前,它必须是某种验证(针对文件名+内容)?用我的工具(或osk.exe)替换magnify.exe将使下一次重新启动后(当utilman重新启动时)失效。
换句话说:它只有在文件名为osk.exe并且在屏幕键盘上或该文件被命名为magnify.exe并且是magnifyer时才起作用。
这不会在事件日志中创建任何信息。
似乎Vista的密钥已更改。这些密钥在我的XP版本中不存在。 – mihi 2009-04-20 18:24:17
感谢您的建议。我相应地更新了我的问题。 – mihi 2009-04-24 16:43:42