C# 如何防止第三方应用检测到用户空闲?
在Discord中,没有禁用空闲检测的选项,因此我想编写一个模拟用户的小应用程序,这样Discord和其他应用程序就不会认为我空闲了。 我试过使用游标。在屏幕上移动鼠标,但不阻止空闲检测C# 如何防止第三方应用检测到用户空闲?,c#,winforms,C#,Winforms,在Discord中,没有禁用空闲检测的选项,因此我想编写一个模拟用户的小应用程序,这样Discord和其他应用程序就不会认为我空闲了。 我试过使用游标。在屏幕上移动鼠标,但不阻止空闲检测 如何在c#windows窗体应用程序中模拟用户输入,从而愚弄discord和其他应用程序中的空闲检测?我最后使用了以下代码行。这只会将alt+tab发送到windows。对我来说是可行的,不过最好采用一种破坏性较小的方法,比如windows点击之类的 SendKeys.SendWait("%({tab
如何在c#windows窗体应用程序中模拟用户输入,从而愚弄discord和其他应用程序中的空闲检测?我最后使用了以下代码行。这只会将alt+tab发送到windows。对我来说是可行的,不过最好采用一种破坏性较小的方法,比如windows点击之类的
SendKeys.SendWait("%({tab})");
按钮点击事件中的以下代码可以放入定时器。勾选事件,切换滚动锁定按钮
使用系统;
使用System.Runtime.InteropServices;
使用System.Windows.Forms;
命名空间堆栈溢出\u按ScrollLock
{
公共部分类Form1:Form
{
[DllImport(“user32.dll”)]
静态外部无效keybd_事件(
字节bVk,
字节bScan,
uint-dwFlags,
UIntPtr(外部信息);
公共表格1()
{
初始化组件();
}
私有静态void按ScrollLock()键
{
常量字节vkScroll=0x91;
常量字节keyeventfKeyup=0x2;
keybd_事件(vkScroll,0x45,0,(uintpttr)0);
keybd_事件(vkScroll,0x45,keyeventfKeyup,(uintpttr)0);
}
///
///这将进入计时器。勾选事件
///
///
///
private void ExecuteButton_Click(对象发送方,事件参数e)
{
按ScrollLock();
按ScrollLock();
}
}
}
我不知道Windows日记记录/播放是否有问题,但可能值得一看into@MickyD我不知道为什么会发生这种情况,我添加了“idle”作为标记,另一面显示为pythonidle。我已经移除了,谢谢你的发现。没问题,先生
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();
}
}
}