Есть ли способ подключить нажатие клавиши в фоновом режиме на рабочем столе С# mauiC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ подключить нажатие клавиши в фоновом режиме на рабочем столе С# maui

Сообщение Anonymous »

Я пытаюсь обнаружить нажатие клавиши в настольном приложении maui C#, которое свернуто в фоновом режиме. Любая помощь.
Я пробовал GlobalKeyboardHook. Я пробовал использовать этот
`класс GlobalKeyboardHook
{
private const int WH_KEYBOARD_LL = 13;
частная константа int WM_KEYUP = 0x0101;

Код: Выделить всё

        private delegate int LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern bool UnhookWindowsHookEx(IntPtr hhk);

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);

private IntPtr _hookID = IntPtr.Zero;
private LowLevelKeyboardProc _proc;

public GlobalKeyboardHook()
{
_proc = HookCallback;
}

public void Hook()
{
_hookID = SetWindowsHookEx(WH_KEYBOARD_LL, _proc, IntPtr.Zero, 0);
}

public void Unhook()
{
UnhookWindowsHookEx(_hookID);
}

private int HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
if (nCode >= 0 && wParam == (IntPtr)WM_KEYUP)
{
int vkCode = Marshal.ReadInt32(lParam);

//MessageBox.Show($"Key released: {vkCode}");
if (vkCode == 9)
{
Global.Initiate_server?.SendMessage(Global.TrepCserver.Takescreenshot);
}
// Handle key release here
}

return (int)CallNextHookEx(_hookID, nCode, wParam, lParam);
}
}`
это работает для приложения wpf, но не для окон maui. помощь. есть ли сторонняя сторона, которая могла бы работать, или разрабатывает класс, который мог бы работать для этой функции.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ui-desktop
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»