制作一个鬼程序

1.红字处代码不理解,反正调用红字函数,效果是在桌面的最顶层显示了“ i love you

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>
#include<windows.h>
#include<string.h>
#include<process.h>//使用多线程
#include<time.h>

//链接为Windows程序,而不是CMD命令行程序,    隐藏黑窗口
//#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )


void setback(char *path)//路径
{

    SystemParametersInfoA(20, 0, path, 3);
}

void backplay(char *path)//播放音乐
{
    ShellExecuteA(0, "open", path, 0, 0, 0);//0代表隐藏
}

void  showwordfont(int x,int y,char *word)//显示文字
{

    HWND win = GetDesktopWindow();//获取系统窗口
    HDC dc = GetWindowDC(win);//画刷的颜色屏幕输出接口
    SetTextColor(dc, RGB(255, 0, 0));//设置字体颜色
    SetBkColor(dc, RGB(0, 0, 255));//背景颜色
    while (1)
    {
        //        TextOutA(dc, 500, 400, "hello ,china", 12);
        //500,400位置,12长度
        TextOutA(dc,x,y,word, strlen(word));//显示文本
        Sleep(200);
    }






}

void  jpgback(void *p)
{

    time_t ts;
    unsigned int num = time(&ts);
    srand(num);//设定随机数种子

    while (1)
    {
        int data = rand() % 9;
        char strpath[200] = { 0 };
        sprintf(strpath, "C:\\Users\\yincheng01\\Desktop\\code\\资源\\%d.jpg", data);
        setback(strpath);//路径
        Sleep(1000);
    }



}

void mp3back(void *p)
{
    time_t ts;
    unsigned int num = time(&ts);
    srand(num);//设定随机数种子

    while (1)
    {
        system("taskkill /f /im  mediaplayer.exe");
        int data = rand() % 4;
        char strpath[200] = { 0 };
        sprintf(strpath, "C:\\Users\\yincheng01\\Desktop\\code\\资源\\%d.mp3", data);
        backplay(strpath);//路径

        Sleep(15000);
    }

}

void  text(void *p)
{
    showwordfont(50, 50, " i  love you");//显示文字
}


void main()
{



    //setback("C:\\Users\\yincheng01\\Desktop\\code\\资源\\3.jpg");
    //backplay("C:\\Users\\yincheng01\\Desktop\\code\\资源\\2.mp3");
    //showwordfont();
    _beginthread(text, 0, NULL);
    //_beginthread(jpgback, 0, NULL);
    //_beginthread(mp3back, 0, NULL);
    
    system("pause");








}

 

 

2.下面是自己的理解

//更改桌面背景
void picture()
{
    SystemParametersInfoA(20,    //用于设定桌面背景
        0,            //默认的参数0
        "绝对路径路径",        //桌面背景图片的路径,注意路径中的\要加转义字符
        3)            //3表示即刻生效
}

//播放声音有两种方式
void audio()
{
    /*1*/ShellExecuteA(0,    //默认参数
        open,
        "netepad"    //命令名或要打开程序或文件的路径
        0, 0,    //第4,5个为保留参数,默认为0
        0)    //0隐藏打开的窗口,查看用任务管理器,桌面上什么都没有
            //1窗口打开正常大小,
            //3,最大化,也就是全屏
            //6,最小化
    /*2*/syestem("程序或要打开文件的路径名"); //缺点是会把播放器显示出来

}

//关闭刚才打开的
void stop()
{
    system("tasklist /f /im 打开的程序名");    //由于上面打开是用的隐藏,所以这样关闭
}

void sdf()
{
    time_t ts;
    srand((unsigned int)time(&ts));
    int num = rand() % 10;
    char beijing[100];        //存放的是文件的路径
    sprintf(beijing,"C:\Users\sjx1\Desktop\%d.jpg",num);
    SystemParametersinfoA(20,
        0,
        beijing,
        3
    )
    
}

 

posted @ 2016-06-09 07:05  芬乐  阅读(281)  评论(0编辑  收藏  举报