C# Windows被锁定时SendMessage VK_选项卡不工作

C# Windows被锁定时SendMessage VK_选项卡不工作,c#,com-interop,sendmessage,C#,Com Interop,Sendmessage,Windows被锁定时,SendMessage VK_选项卡不工作 我在网上搜索了一下,没有发现关于这个问题的任何讨论 我的代码: [DllImport("User32.dll")] private static extern bool SendMessage(int hWnd, int wMsg, IntPtr wParam, IntPtr lParam); [DllImport("user32.dll")] private static extern IntPtr FindWindowEx

Windows被锁定时,SendMessage VK_选项卡不工作

我在网上搜索了一下,没有发现关于这个问题的任何讨论

我的代码:

[DllImport("User32.dll")]
private static extern bool SendMessage(int hWnd, int wMsg, IntPtr wParam, IntPtr lParam);

[DllImport("user32.dll")]
private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, String lpszClass, String lpszWindow);

public const Int32 WM_KEYDOWN = 0x0100;
public const Int32 WM_KEYUP = 0x0101;
public const Int32 WM_CHAR = 0x0102;

IntPtr hndl = [my logic to get Google Chrome window hndl]
IntPtr controlHandle = FindWindowEx(hndl, IntPtr.Zero, "Chrome_RenderWidgetHostHWND", null);//get Google Chrome tab area hndl

SendMessage(controlHandle, WM_CHAR, 
  new IntPtr(Convert.ToInt32(Keys.A)), IntPtr.Zero);//work
SendMessage(controlHandle, WM_KEYDOWN, 
  new IntPtr(Convert.ToInt32(Keys.Enter)), IntPtr.Zero);//work
SendMessage(controlHandle, WM_KEYDOWN, 
  new IntPtr(Convert.ToInt32(Keys.Tab)), IntPtr.Zero);//NOT work when Windows is locked out
环境信息:

Windows 8
.Net 4.5
WinForms

感谢您的帮助。

也许您的自动系统需要一个更好的解决方案。您的意思是当Windows处于睡眠模式时?或者当用户帐户被锁定时?David,你能建议一个更好的解决方案吗?paqogomez,我的意思是当用户帐户被锁定时(不是睡眠模式)。你想做什么?