public static void DragFileFromExplorer(string filePath, Point dropTarget)
        {
            var explorerProcess = Process.Start("explorer.exe", Path.GetDirectoryName(filePath));

            if (explorerProcess == null)
            {
                throw new Utilities.CannotOpenExplorerException();
            }

            Thread.Sleep(DefaultTimeout);

            AutomationElement explorerWindow = null;

            try
            {
                explorerWindow = ElementFinder.TryFindElement(AutomationElement.RootElement, Utilities.GetExplorerWindowTitle(filePath), "window", DefaultTimeout);
                Utilities.AlignWindowToRight();

                ElementActions.InsertText(ElementFinder.TryFindElement(explorerWindow, "search box", "edit", DefaultTimeout), Path.GetFileName(filePath));
                Thread.Sleep(1000);
                var file = ElementFinder.TryFindElement(explorerWindow, Path.GetFileName(filePath), "list item", DefaultTimeout);

                var filePoint = file.Current.BoundingRectangle.TopLeft;
                filePoint.Offset(file.Current.BoundingRectangle.Width / 2, file.Current.BoundingRectangle.Height / 2);
                ElementActions.DragDrop(filePoint, dropTarget);

                ElementActions.ClickElement(ElementFinder.TryFindElement(explorerWindow, "close", "button", DefaultTimeout));
            }
            catch (Exception e)
            {
                ElementActions.ClickElement(ElementFinder.TryFindElement(explorerWindow, "close", "button", DefaultTimeout));
                throw e;
            }
        }