AWS EC2实例,访问被拒绝

时间:2018-06-08 00:27:52

标签: .net amazon-web-services amazon-ec2 access-denied

我在aws上运行了一个窗口2012服务器实例。

Windows_Server-2012-R2_RTM-English-64Bit-Base-2018.05.09(ami-3c0f22d7)

实例ID - i-0cd5e4853062d3e69

在实例上,我正在运行一个执行自动化(c#),鼠标点击/键盘点击等脚本。

脚本工作正常,直到我决定最小化/关闭实例的窗口。 一旦我从实例中删除了焦点,我就会在服务器上出错:

  

System.ComponentModel.Win32Exception:拒绝访问

无法看到它背后的逻辑,因为它应该保持同样的工作方式,无论我是否专注甚至当前登录到远程桌面都不是吗?

有什么建议吗?

代码示例 -

    static public void StayAlive()
    {
        IntPtr hWnd = FindFocusWindow();
        Stopwatch s = new Stopwatch();

        s.Start();
        while (s.Elapsed < TimeSpan.FromSeconds(1))
        {
            SendKeys.SendWait("{LEFT}");
        }
        s.Stop();
        s = new Stopwatch();
        s.Start();
        while (s.Elapsed < TimeSpan.FromSeconds(1))
        {
            SendKeys.SendWait("{RIGHT}");
        }
        s.Stop();

    }

    static private IntPtr FindFocusWindow()
    {
        IntPtr hWnd = IntPtr.Zero;
        //Look for chrome and set to top
        foreach (Process pList in Process.GetProcesses())
        {
            if (pList.MainWindowTitle.Contains("Google Chrome"))
            {
                hWnd = pList.MainWindowHandle;
                ShowWindow(hWnd, 3);
                SetForegroundWindow(hWnd); //set to topmost
                return hWnd;
            }
        }
        return hWnd;

    }

谢谢,Ben。

1 个答案:

答案 0 :(得分:0)

所以...在深入研究之后,找不到使用代码的解决方案。

使用以下链接中提供的方法解决了我的问题 -

https://stackoverflow.com/a/36190639/7210967

干杯,本。