dragdetect (user32)
Last changed: -88.50.17.69

.
Summary

C# Signature:

[DllImport("user32.dll")]
static extern bool DragDetect(IntPtr hwnd, POINT pt);

User-Defined Types:

POINT

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Alternative Managed API:

Do you know one? Please contribute it!

This seems to work reasonably:

public static bool DragDetect(IntPtr hWnd, Point pt) {
    DateTime startTime = DateTime.Now;
    while ((DateTime.Now - startTime).TotalMilliseconds < 500) {
        System.Threading.Thread.Sleep(10);
        Application.DoEvents();
        if (Control.MouseButtons != MouseButtons.Left) return false;
        Point newPt = Control.MousePosition;
        Size range = new Size(Math.Abs(newPt.X - pt.X), Math.Abs(newPt.Y - pt.Y));
        if (range.Height > SystemInformation.DragSize.Height
                || range.Width > SystemInformation.DragSize.Width)
            return true;
    }
    return true;
}

by Attilio Pavone 30/06/2010, www.utillyty.eu

Documentation
DragDetect on MSDN