C# 如果服务器被锁定,是否可以向子客户端窗口发送密钥?
我的程序,找到任何子窗口,如果一个由三部分组成的应用程序显示一个错误框,那么我想关闭它。。当服务器未锁定时,它工作正常 代码:C# 如果服务器被锁定,是否可以向子客户端窗口发送密钥?,c#,winapi,setfocus,C#,Winapi,Setfocus,我的程序,找到任何子窗口,如果一个由三部分组成的应用程序显示一个错误框,那么我想关闭它。。当服务器未锁定时,它工作正常 代码: 如果服务器已锁定但正在运行,是否可以执行此操作?当计算机被锁定时,出于安全目的,您的操作非常有限。我怀疑是否有办法解决这个问题,除非你首先停止锁定计算机,或者阻止消息框出现 你试图用错误的方法解决问题 找出错误消息框的相关信息,并尽可能防止这种情况发生。当电脑被锁定时,不要期望你能做很多事情。(如果它看起来不起作用)-是的,我试过。res1==res2==true?真正
如果服务器已锁定但正在运行,是否可以执行此操作?当计算机被锁定时,出于安全目的,您的操作非常有限。我怀疑是否有办法解决这个问题,除非你首先停止锁定计算机,或者阻止消息框出现 你试图用错误的方法解决问题
找出错误消息框的相关信息,并尽可能防止这种情况发生。当电脑被锁定时,不要期望你能做很多事情。(如果它看起来不起作用)-是的,我试过。
res1==res2==true
?真正地为什么不res1==res2==true==true
?我本来可以使用return(res1&&res2)-它更易于阅读。(messagebox是不可能停止的,它是第三方应用程序,为什么要尝试所有这些,但我认为它必须解锁)谢谢。
[DllImport("user32", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private extern static bool PostMessage(IntPtr hwnd, uint msg, IntPtr WParam, IntPtr lParam);
[DllImport("user32", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private extern static bool BringWindowToTop(IntPtr hwnd);
public static bool FocusWindowAndSendEnter(IntPtr hWnd)
{
try
{ // hWnd = pointer to subwindow, like messagebox.
uint WM_KEYDOWN = 0x0100;
//Set focus
var res1 = BringWindowToTop(hWnd);
//Send enter_Key
var res2 = PostMessage(hWnd, WM_KEYDOWN, (IntPtr)Keys.Enter, IntPtr.Zero);
return (res1 == res2 == true);
}
catch (Exception ex)
{
Logger.LogException(MethodInfo.GetCurrentMethod().Name, ex);
}
return false;
}