تعطيل ADBLOCK

يمنع ADBlock بعض المحتوى على الموقع

ADBlock errore

سؤال

وOK. هذا هو جزء من التطبيق الغرور، ولكن كان الوضع اليوم في العمل حيث كنت في دورة تدريبية وضبط الجهاز لقفل كل 10 دقيقة. حسنا، إذا حصلت على المدربين متحمسون الحديث - بدلا من الشرائح تغيير - آلة أن حبس

.

وأود أن أكتب التطبيق تيني التي لديها سوى رمز شريط المهام أن يفعل شيئا سوى تحريك الماوس عن طريق 1 بكسل كل 4 دقائق.

ويمكن أن نفعل ذلك في 3 طرق مع دلفي (لغتي قوية) ولكن أنا على الانتقال إلى C # للعمل وأود أن أعرف الطريق الأقل مقاومة هناك.

المحلول

<القوي> لC # 3.5

ودون notifyicon بالتالي سوف تحتاج إلى إنهاء هذا التطبيق في إدارة المهام يدويا

using System;
using System.Drawing;
using System.Windows.Forms;

static class Program
{
    static void Main()
    {
        Timer timer = new Timer();
        // timer.Interval = 4 minutes
        timer.Interval = (int)(TimeSpan.TicksPerMinute * 4 / TimeSpan.TicksPerMillisecond);
        timer.Tick += (sender, args) => { Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y + 1); };
        timer.Start();
        Application.Run();
    }
}

نصائح أخرى

والطريقة "الصحيحة" للقيام بذلك هي للرد على رسالة WM_SYSCOMMAND. في C # هذا يبدو شيئا من هذا القبيل:

protected override void WndProc(ref Message m)
{
    // Abort screensaver and monitor power-down
    const int WM_SYSCOMMAND = 0x0112;
    const int SC_MONITOR_POWER = 0xF170;
    const int SC_SCREENSAVE = 0xF140;
    int WParam = (m.WParam.ToInt32() & 0xFFF0);

    if (m.Msg == WM_SYSCOMMAND &&
        (WParam == SC_MONITOR_POWER || WParam == SC_SCREENSAVE)) return;

    base.WndProc(ref m);
}

ووفقا ل MSDN ، إذا كانت شاشة التوقف تمكين كلمة المرور عن طريق السياسة على ويندوز فيستا أو أعلى، وهذا لن ينجح. يفترض برمجيا تتحرك يتم تجاهل الماوس أيضا، على الرغم من أنني لم تختبر هذا.

عند أعمل من المنزل، وذلك عن طريق ربط الحبل الماوس إلى مروحة سطح المكتب التي تتأرجح اليسار إلى اليمين. إنها تحافظ على تحريك الماوس ويحافظ على محطة العمل من الذهاب إلى النوم.

وشيء من هذا القبيل يجب أن تعمل (رغم ذلك، كنت على سوف تريد تغيير الفاصل الزمني).

public Form1()
{
    InitializeComponent();
    Timer Every4Minutes = new Timer();
    Every4Minutes.Interval = 10;
    Every4Minutes.Tick += new EventHandler(MoveNow);
    Every4Minutes.Start();
}

void MoveNow(object sender, EventArgs e)
{
    Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y - 1);
}

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow