Beispiel #1
0
        public List <AccessibleJvm> EnumJvms(Func <IntPtr, AccessibleWindow> windowFunc)
        {
            if (_library == null)
            {
                return(new List <AccessibleJvm>());
            }

            try {
                var windows = new List <AccessibleWindow>();
                var success = NativeMethods.EnumWindows((hWnd, lParam) => {
                    var window = windowFunc(hWnd);
                    if (window != null)
                    {
                        windows.Add(window);
                    }
                    return(true);
                }, IntPtr.Zero);

                if (!success)
                {
                    var hr = Marshal.GetHRForLastWin32Error();
                    Marshal.ThrowExceptionForHR(hr);
                }

                // Group windows by JVM id
                return(windows.GroupBy(x => x.JvmId).Select(g => {
                    var result = new AccessibleJvm(this, g.Key);
                    result.Windows.AddRange(g.OrderBy(x => x.GetDisplaySortString()));
                    return result;
                }).OrderBy(x => x.JvmId).ToList());
            } catch (Exception e) {
                throw new ApplicationException("Error detecting running applications", e);
            }
        }
        public AccessibleJvm BuscarJanelaJava(string TituloJanela)
        {
            var qtdProcesso = _accessBridge.EnumJvms();

            AccessibleJvm jvm = null;

            foreach (var p in qtdProcesso)
            {
                var title = p.GetTitle();

                if (title.Contains("Omni"))
                {
                    jvm = p;

                    break;
                }
            }

            return(jvm);
        }