【发布时间】:2013-11-09 04:01:13
【问题描述】:
我必须在 rundll32.exe 进程窗口中输入用户名/密码。我坚持以下几点:
- 从 rundll32.exe 进程获取登录窗口句柄
- 聚焦窗口
- 在2个文本框中注入文本并点击确定按钮
是否可以在 .NET 中做到这一点,或者我必须求助于较低级别的 win32 api?任何人都这样做过并且可以指出我正确的方向吗?
【问题讨论】:
-
你到底想做什么?让用户输入许可证密钥或类似内容?还是您需要他们的 Windows 登录?您是否要让他们注册为管理员?
-
@Ben 我正在尝试在之前由代码创建的交换 mapi 配置文件中输入用户名/密码。 mapi32.dll api 不公开提供凭据的函数,它从 windows 帐户获取它们,如果它们与 AD 中的交换帐户不匹配(就是这种情况),则提示输入密码。我需要检索此窗口提示并注入凭据以确保一切都保持全自动
-
好的,因此您正在尝试从 rundll32.exe 进程中检索 MAPI 应用程序(可能是 Outlook)的 Exchange 登录对话框的窗口句柄...msdn.microsoft.com/en-us/library/…。或者,您可以使用 NetUseAdd 提前建立 NETBIOS 会话来建立会话......msdn.microsoft.com/en-us/library/windows/desktop/…
标签: c# c++ winapi autologin rundll32