这是一个有点不寻常的问题。我目前正致力于自动化Office应用程序。基本上问题是,当我通过RDP执行我的应用程序时,我的应用程序能够与Office应用程序正确交互,但是如果将应用程序设置为从Windows服务产生,我无法使用SendInput()发送按键。操作系统是Win03标准。C# - SendInput()从Windows服务不起作用,但返回1 - Win03
当从Windows服务中产生应用程序时,我可以通过pinvoke读取窗口标题,自动执行interop等操作,但即使调用返回1,SendInput()消息看起来也会消失。我正试图在这一点上发送一个逃生击键到对话框。
我已经尝试发送击键作为虚拟键和扫描码。
任何想法或建议?提前致谢!
(顺便说一句:我不知道,这种自动化的不支持/由MSFT认可。)
编辑: 万一任何人有这个问题,这个工程:
[DllImport("user32")]
public static extern bool PostMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);
bool returnVal = NativeWin32.PostMessage(popup, 0x0100, new IntPtr(0x1b), IntPtr.Zero);
感谢您的帮助;出于某种原因,我完全忽略了这样一个事实,即没有能够获得焦点的窗口。 *抱怨*我正在用PostMessage进行测试。 – cursedfrogurt 2010-11-22 07:26:01
非常感谢您的帮助;解决了这个问题! – cursedfrogurt 2010-11-22 07:31:02