簡體   English   中英

如何防止第三方應用檢測到用戶空閑?

[英]How to prevent third party apps from detecting user idleness?

Discord沒有禁用空閑檢測的選項,所以我想編寫一個模擬用戶的小應用程序,以便不和諧和其他應用程序不會認為我空閑。

我試過使用光標。 定位並在屏幕上傳送鼠標,但它不會阻止空閑檢測。

我如何在 c# windows 窗體應用程序中模擬用戶輸入,以便在不和諧和其他應用程序中欺騙空閑檢測?

我最終使用了以下代碼行。 這只是將 alt+tab 發送到 Windows。 雖然破壞性較小的方法更適合我的目的,但可能適合我的目的,例如單擊 Windows 之類的。

SendKeys.SendWait("%({tab})");

按鈕 Click 事件中的以下代碼可以放入切換滾動鎖定按鈕的 Timer.Tick 事件中。

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace StackOverflow_PressScrollLock
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        static extern void keybd_event(
            byte bVk, 
            byte bScan, 
            uint dwFlags, 
            UIntPtr dwExtraInfo);

        public Form1()
        {
            InitializeComponent();
        }
        private static void PressScrollLock()
        {
            const byte vkScroll = 0x91;
            const byte keyeventfKeyup = 0x2;

            keybd_event(vkScroll, 0x45, 0, (UIntPtr)0);
            keybd_event(vkScroll, 0x45, keyeventfKeyup, (UIntPtr)0);
        }
        /// <summary>
        /// This would go in a Timer.Tick event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ExecuteButton_Click(object sender, EventArgs e)
        {
            PressScrollLock();
            PressScrollLock();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM