private void PrepareCaptureMenuAsync(ContextMenu tsmiWindow, RoutedEventHandler handlerWindow) { tsmiWindow.Items.Clear(); WindowsList windowsList = new WindowsList(); List <WindowInfo> windows = null; windows = windowsList.GetVisibleWindowsList(); TaskEx.Run(() => { windows = windowsList.GetVisibleWindowsList(); }, () => { if (windows != null) { foreach (WindowInfo window in windows) { string title = window.Text.Truncate(40, "..."); MenuItem mi = new MenuItem() { Header = title }; mi.Tag = window; mi.Click += handlerWindow; tsmiWindow.Items.Add(mi); } } } ); }
private void PrepareWindowsMenu(ToolStripMenuItem tsmi, EventHandler handler) { tsmi.DropDownItems.Clear(); WindowsList windowsList = new WindowsList(); List <WindowInfo> windows = windowsList.GetVisibleWindowsList(); foreach (WindowInfo window in windows) { string title = window.Text.Truncate(50); ToolStripItem tsi = tsmi.DropDownItems.Add(title); tsi.Click += handler; try { using (Icon icon = window.Icon) { if (icon != null) { tsi.Image = icon.ToBitmap(); } } } catch (Exception e) { DebugHelper.WriteException(e); } tsi.Tag = window; } }
private void openDetailClient(Client client) { Boolean isOpen = false; DetailClient dcTemp = null; foreach (ListClient lc in this.parent.ListWindowListClient) { foreach (DetailClient testClient in lc.windowsList) { if (testClient.Client == client) { dcTemp = testClient; isOpen = true; } } } if (isOpen) { dcTemp.Activate(); } else { DetailClient dc = new DetailClient(client, this); updateLastClientList(client); WindowsList.Add(dc); dc.Show(); dc.Activate(); } }
public frmNavPrice(WindowsList windowsList) { InitializeComponent(); this.windowsList = windowsList; myIconButton1.MoveColor = Color.Red; }
/// <inheritdoc/> public void Reset() { DesktopWindow = null; WindowsList.Clear(); _windowsStoreApps.Clear(); _windowHandlesToIgnore.Clear(); _refreshDesktopWindowOnly = false; }
private void PrepareCaptureMenuAsync(ToolStripMenuItem tsmiWindow, EventHandler handlerWindow, ToolStripMenuItem tsmiMonitor, EventHandler handlerMonitor) { tsmiWindow.DropDownItems.Clear(); WindowsList windowsList = new WindowsList(); List <WindowInfo> windows = null; TaskEx.Run(() => { windows = windowsList.GetVisibleWindowsList(); }, () => { if (windows != null) { foreach (WindowInfo window in windows) { try { string title = window.Text.Truncate(50); ToolStripItem tsi = tsmiWindow.DropDownItems.Add(title); tsi.Tag = window; tsi.Click += handlerWindow; using (Icon icon = window.Icon) { if (icon != null && icon.Width > 0 && icon.Height > 0) { tsi.Image = icon.ToBitmap(); } } } catch (Exception e) { DebugHelper.WriteException(e); } } } tsmiMonitor.DropDownItems.Clear(); Screen[] screens = Screen.AllScreens; for (int i = 0; i < screens.Length; i++) { Screen screen = screens[i]; string text = string.Format("{0}. {1}x{2}", i + 1, screen.Bounds.Width, screen.Bounds.Height); ToolStripItem tsi = tsmiMonitor.DropDownItems.Add(text); tsi.Tag = screen.Bounds; tsi.Click += handlerMonitor; } tsmiWindow.Invalidate(); tsmiMonitor.Invalidate(); }); }
private void ExecuteAddWindowToIgnoreListCommand(Window window) { if (window == null || window.Handle == IntPtr.Zero) { return; } var collection = IgnoredApplications; var ignoredApp = new IgnoredApplication { ApplicationIdentifier = window.ApplicationIdentifier }; if (window.IsWindowsStoreApp) { ignoredApp.Icon = window.Icon; } else if (File.Exists(window.ApplicationIdentifier)) { var icon = Icon.ExtractAssociatedIcon(window.ApplicationIdentifier)?.ToBitmap(); if (icon != null) { ignoredApp.Icon = DataHelper.BitmapToBitmapImage(new Bitmap(icon, Consts.WindowsIconsSize, Consts.WindowsIconsSize), Consts.WindowsIconsSize); } else { ignoredApp.Icon = window.Icon; } } else { ignoredApp.Icon = window.Icon; } if (window.IsWindowsStoreApp) { ignoredApp.DisplayName = window.ApplicationIdentifier.Split('_').First(); } else { ignoredApp.DisplayName = Path.GetFileNameWithoutExtension(window.ApplicationIdentifier); } if (collection.Any(app => app.DisplayName == ignoredApp.DisplayName)) { return; } collection.Add(ignoredApp); IgnoredApplications = collection; WindowsList.Remove(window); Logger.Instance.Information($"The application '{ignoredApp.ApplicationIdentifier}' has been added to the ignored app list."); }
/// <summary> /// Refresh the list of <see cref="Window"/> /// </summary> /// <param name="refreshDesktopWindowOnly">Defines whether we must only refresh the desktop window information.</param> internal void RefreshWindows(bool refreshDesktopWindowOnly = false) { if (!refreshDesktopWindowOnly) { WindowsList.Clear(); WindowsListChanged?.Invoke(this, new EventArgs()); } _refreshDesktopWindowOnly = refreshDesktopWindowOnly; Requires.VerifySucceeded(NativeMethods.EnumWindows(EnumWindowsCallback, 0)); }
protected override void tsFuncWindowList_Click(object sender, EventArgs e) { base.tsFuncWindowList_Click(sender, e); WindowsListFuncClass pamaClass = GetWinListParam(); WindowsList WinExistList = new WindowsList(WinList, pamaClass); WinExistList.BindWindowInfors(); WinExistList.ShowDialog(this); GetWindowShortCuts().ForEach(x => x.Checked = false); ActiveWindowByShortCut(); }
static double GetStackHeight() { using (var helper = PersistentMemoryMapping.GetHelper()) { var list = helper.Read <List <MyRectangular> >(); if (list != null) { list = list.Where(t => WindowsList.IsWindowExisted(t.Handle)).ToList(); double topExisted = list.Select(t => t.Height).Sum() + list.Select(t => t.Space).Sum(); return(topExisted); } return(0); } }
/// <summary> /// ferme toutes les fiches clients ouvertes dont la checkbox "garder ouvert" n'est pas cochée /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button8_Click(object sender, EventArgs e) { List <DetailClient> temp = new List <DetailClient>(); foreach (ListClient lc in parent.ListWindowListClient) { foreach (DetailClient dc in lc.WindowsList) { if (!dc.CbKeepOpen.Checked) { temp.Add(dc); } } } foreach (DetailClient dc in temp) { dc.Close(); WindowsList.Remove(dc); } }
/// <summary> /// Callback used everytime a window is detected when we call EnumWindows /// </summary> /// <param name="windowHandle">The handle of the window</param> /// <param name="lParam">The application-defined value given in EnumWindows or EnumDesktopWindows.</param> /// <returns>True to continue to search for windows</returns> private bool EnumWindowsCallback(IntPtr windowHandle, int lParam) { // Check if the window is visible, has a border or not, has a title, is the main window of the app (so we ignore the child windows and dialog box) var windowStyle = NativeMethods.GetWindowLongA(windowHandle, Consts.GWL_STYLE); var isApplicationWindow = (windowStyle & Consts.TARGETWINDOW) == Consts.TARGETWINDOW; var isDesktopWindow = windowHandle == NativeMethods.GetShellWindow(); var isVisible = NativeMethods.IsWindowVisible(windowHandle) && NativeMethods.IsWindow(windowHandle); var isChainVisible = IsWindowChainVisible(windowHandle); var isInIgnoreList = _windowHandlesToIgnore.Contains(windowHandle); if (!isVisible || !isChainVisible || isInIgnoreList || (!isApplicationWindow && !isDesktopWindow) || (_refreshDesktopWindowOnly && !isDesktopWindow)) { return(true); //continue enumeration } if (isDesktopWindow) { DesktopWindow = new Window(windowHandle, string.Empty, null, string.Empty, null, false); return(true); //continue enumeration } var stringBuilder = new StringBuilder(256); NativeMethods.GetWindowText(windowHandle, stringBuilder, stringBuilder.Capacity); if (string.IsNullOrEmpty(stringBuilder.ToString())) { return(true); //continue enumeration } var window = GetWindowInformation(windowHandle); if (window != null) { WindowsList.Add(window); WindowsListChanged?.Invoke(this, new EventArgs()); } return(true); //continue enumeration }
private void UpdateWindowListMenu() { cmsWindowList.Items.Clear(); WindowsList windowsList = new WindowsList(Handle); List <WindowInfo> windows = windowsList.GetVisibleWindowsList(); if (windows != null && windows.Count > 0) { List <ToolStripMenuItem> items = new List <ToolStripMenuItem>(); foreach (WindowInfo window in windows) { try { string title = window.Text; string shortTitle = title.Truncate(50, "..."); ToolStripMenuItem tsmi = new ToolStripMenuItem(shortTitle); tsmi.Click += (sender, e) => txtWindowTitle.Text = title; using (Icon icon = window.Icon) { if (icon != null && icon.Width > 0 && icon.Height > 0) { tsmi.Image = icon.ToBitmap(); } } items.Add(tsmi); } catch (Exception e) { DebugHelper.WriteException(e); } } cmsWindowList.Items.AddRange(items.OrderBy(x => x.Text).ToArray()); } }
public override void CaptureSelectedWindowGetList() { tsddbCoreSelectedWindow.DropDownItems.Clear(); var windowsList = new WindowsList(); List <WindowInfo> windows = windowsList.GetVisibleWindowsList(); foreach (WindowInfo window in windows) { string title = window.Text.Truncate(50); ToolStripItem tsiSelectedWindow = tsddbCoreSelectedWindow.DropDownItems.Add(title); tsiSelectedWindow.Click += tsiSelectedWindow_Click; using (Icon icon = window.Icon) { if (icon != null) { tsiSelectedWindow.Image = icon.ToBitmap(); } } tsiSelectedWindow.Tag = window; } }
public frmNavB2B(WindowsList windowsList) { InitializeComponent(); this.windowsList = windowsList; }
public frmNavConCenter(WindowsList windowsList) { InitializeComponent(); this.windowsList = windowsList; }
public frmNavSaleProcurement(WindowsList windowsList) { InitializeComponent(); this.windowsList = windowsList; }