最近,我的兄弟打算恶作剧,我看了这段视频,称为"醉酒PC":https://www.youtube.com/watch?v=48K9EYVSC-M
我有C#的经验,我不难理解代码并编写它。好吧,让我们说出要点。
我的代码运行良好,它可以完成我想要的一切(作为控制台应用程序),但是当我转到我的项目属性并将输出类型更改为" Windows应用程序"并运行它时,它会立即关闭。
那些看过视频的人知道,如果将应用程序更改为Windows应用程序,则可以隐藏该应用程序。
我尝试添加:Console.Read();
和if (System.Diagnostics.Debugger.IsAttached) Console.ReadLine();
,但这都不可行,它只是立即关闭。如果需要代码,即使它很长,我也会在这里粘贴。
感谢您提前的任何帮助。
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Forms;
using System.Media;
using System.Drawing;
namespace DrunkPC
{
class Program
{
public static Random _random = new Random();
static void Main(string[] args)
{
Console.WriteLine("DrunkPC Prank Application by: Cupid (get pranked bruv)");
Thread drunkMouseThread = new Thread(new ThreadStart(DrunkMouseThread));
Thread drunkKeyboardThread = new Thread(new ThreadStart(DrunkKeyboardThread));
Thread drunkSoundThread = new Thread(new ThreadStart(DrunkSoundThread));
Thread drunkPopupThread = new Thread(new ThreadStart(DrunkPopupThread));
drunkMouseThread.Start();
drunkKeyboardThread.Start();
drunkSoundThread.Start();
drunkPopupThread.Start();
Console.Read();
drunkMouseThread.Abort();
drunkKeyboardThread.Abort();
drunkSoundThread.Abort();
drunkPopupThread.Abort();
}
public static void DrunkMouseThread()
{
int moveX = 0;
int moveY = 0;
Console.WriteLine("DrunkMouseThread started");
while (true)
{
moveX = _random.Next(20) - 10;
moveY = _random.Next(20) - 10;
Cursor.Position = new System.Drawing.Point(Cursor.Position.X + moveX, Cursor.Position.Y + moveY);
Thread.Sleep(50);
}
}
}
}
鉴于您有Windows Application
作为项目输出,我建议它将主要方法更改为这样的方法:
static void Main(string[] args)
{
Console.WriteLine("DrunkPC Prank Application by: Cupid (get pranked bruv)");
Thread drunkMouseThread = new Thread(new ThreadStart(DrunkMouseThread));
Thread drunkKeyboardThread = new Thread(new ThreadStart(DrunkMouseThread));
Thread drunkSoundThread = new Thread(new ThreadStart(DrunkMouseThread));
Thread drunkPopupThread = new Thread(new ThreadStart(DrunkMouseThread));
drunkMouseThread.Start();
drunkKeyboardThread.Start();
drunkSoundThread.Start();
drunkPopupThread.Start();
// this one makes the trick
while (true)
{
Thread.Sleep(100);
}
}
启动应用程序后 - 没有显示窗口,鼠标会发疯,直到应用被杀死
添加行:
Console.ReadLine()
到最后。它将暂停直到您击中输入。