У меня проблемы с передачей фрагментов кода из WinForms в WPF, чтобы лучше контролировать пользовательский интерфейс.
Следующий фрагмент кода возвращает True в WinForms, но False в WPF. Я подозреваю, что панели WPF влияют на курсор, поэтому я попытался свернуть приложение, но оно все равно не удалось. Так как GetCursorInfo - это PInvoke, я думаю, что он должен работать так же в языке программирования. Любые советы по этому поводу?
private CURSORINFO ci;
[StructLayout(LayoutKind.Sequential)]
public struct CURSORINFO
{
public Int32 cbSize; // Specifies the size, in bytes, of the structure.
public Int32 flags; // Specifies the cursor state.
public IntPtr hCursor; // Handle to the cursor.
Point point; // Should already marshal correctly.
}
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetCursorInfo(ref CURSORINFO pci);
public MainWindow()
{
InitializeComponent();
ci = new CURSORINFO();
ci.cbSize = Marshal.SizeOf(ci);
MessageBox.Show(GetCursorInfo(ref ci).ToString());
}