搜索
查看: 1778|回复: 11
打印 上一主题 下一主题

自己编的一个恶作剧的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2015-9-12 10:22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
就是本来想做出蓝屏的效果,但是总是会卡一会再打印下一次,是怎么回事?
代码在此
#include <stdio.h>
#include <windows.h>
int main()
{
int x=GetSystemMetrics(SM_CXSCREEN)+300,y=GetSystemMetrics(SM_CYSCREEN)+300;
char setting[30];
    HWND hwnd=GetForegroundWindow();
    HWND handle=GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO cursor_info={1,0};
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
    SetConsoleTextAttribute(handle,FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_RED);
sprintf(setting,"mode con:cols=%d lines=%d",x,y);
system(setting);
SetWindowPos(hwnd, HWND_TOPMOST,0,0,x+1000,y+1000,NULL);
MoveWindow(hwnd,-8,-25,x+300,y+300,1);
        system("color fc");
    printf("        Waring!    蓝屏恶作剧,谨防盗版,贴吧小u制作ひつゃのねなゃのぬなっもなゃ");
    Sleep(1000);

    system("cls");
    system("color fc");
    printf("      系统即将崩溃!");
    Sleep(1000);

    system("cls");
    system("color fc");
    printf("      即将蓝屏!");
    system("cls");

    while(1==1)
    {
    system("color 9f");
    printf("0101011111010000010000\n");
    printf("0x00001e\n");
    printf("B u g  C h e c k  0 x 1 : APC_INDEX_MISMATCH\n");
        printf("B u g  C h e c k  0x2: DEVICE_QUEUE_NOT_BUSY\n");
        printf("B u g  C h e c k  0x1: APC_INDEX_MISMATCH\n");
    Beep(500,100);
        Beep(0,100);
    Beep(900,100);
    Beep(9000,100);
    Beep(89,1000);
    Beep(567,100);
    Beep(568,100);
    Beep(591,100);
    Beep(568,600);
    Beep(89,56);
    Beep(95,38);
    Beep(1,100);
    }
        system("pause");
        return 0;   //贴吧小u制作,谨防盗版!εθγχκτθκιησοθσηι
}


沙发
发表于 2015-9-12 10:22:14 | 只看该作者
本帖最后由 4399APPLE 于 2015-9-12 11:22 编辑
  1. #include <stdio.h>
  2. #include <windows.h>

  3. DWORD WINAPI BeepThread(LPVOID p)
  4. {
  5.     Beep(500,100);
  6.     Beep(0,100);
  7.     Beep(900,100);
  8.     Beep(9000,100);
  9.     Beep(89,1000);
  10.     Beep(567,100);
  11.     Beep(568,100);
  12.     Beep(591,100);
  13.     Beep(568,600);
  14.     Beep(89,56);
  15.     Beep(95,38);
  16.     Beep(1,100);
  17.    
  18.     BeepThread(NULL);
  19.    
  20.     return 0;
  21. }

  22. int main()
  23. {
  24.     int x, y;
  25.     char setting[30];
  26.     x = GetSystemMetrics(SM_CXSCREEN) + 300;
  27.     y = GetSystemMetrics(SM_CYSCREEN) + 300;
  28.    
  29.     HWND hwnd = GetForegroundWindow();
  30.     HWND handle = GetStdHandle(STD_OUTPUT_HANDLE);
  31.     CONSOLE_CURSOR_INFO cursor_info = {1,0};
  32.     SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
  33.     SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED);
  34.     sprintf(setting, "mode con:cols=%d lines=%d", x, y);
  35.     system(setting);
  36.     SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, x + 1000, y + 1000, NULL);
  37.     MoveWindow(hwnd,-8,-25,x+300,y+300,1);
  38.    
  39.     system("color fc");
  40.     printf("        Waring!    蓝屏恶作剧,谨防盗版,贴吧小u制作ひつゃのねなゃのぬなっもなゃ");
  41.     Sleep(1000);

  42.     system("cls");
  43.     system("color fc");
  44.     printf("      系统即将崩溃!");
  45.     Sleep(1000);

  46.     system("cls");
  47.     system("color fc");
  48.     printf("      即将蓝屏!");
  49.     system("cls");

  50.     CloseHandle(CreateThread(NULL, 0, BeepThread, NULL, 0, NULL));
  51.     while(1)
  52.     {
  53.                 system("color 9f");
  54.                 printf("0101011111010000010000\n");
  55.                 printf("0x00001e\n");
  56.                 printf("B u g  C h e c k  0 x 1 : APC_INDEX_MISMATCH\n");
  57.                 printf("B u g  C h e c k  0x2: DEVICE_QUEUE_NOT_BUSY\n");
  58.                 printf("B u g  C h e c k  0x1: APC_INDEX_MISMATCH\n");
  59.     }

  60.     return 0;
  61. }
复制代码
板凳
发表于 2015-9-12 11:14:17 | 只看该作者
因为Beep同时也会延时
例如,Beep(1000, 1000)发出频率为1000的声音1000MS。
也就是等待了1秒。
想要不闪去用CreateThread
地板
 楼主| 发表于 2015-9-12 14:14:04 | 只看该作者
4399APPLE 发表于 2015-9-12 11:14
因为Beep同时也会延时
例如,Beep(1000, 1000)发出频率为1000的声音1000MS。
也就是等待了1秒。

好的,感谢

点评

不谢(破事水)  发表于 2015-9-12 14:19
5#
 楼主| 发表于 2015-9-12 20:16:53 | 只看该作者
4399APPLE 发表于 2015-9-12 11:14
因为Beep同时也会延时
例如,Beep(1000, 1000)发出频率为1000的声音1000MS。
也就是等待了1秒。

那请问能不能让程序检测其中的一段文字,有的话正常运行,没有的自动关闭?
6#
发表于 2015-9-12 21:05:59 | 只看该作者
158979u 发表于 2015-9-12 20:16
那请问能不能让程序检测其中的一段文字,有的话正常运行,没有的自动关闭?

检测哪里的文字?
7#
 楼主| 发表于 2015-9-13 20:06:16 | 只看该作者
4399APPLE 发表于 2015-9-12 21:05
检测哪里的文字?

比如printf里的文字
8#
发表于 2015-9-13 20:09:06 | 只看该作者
158979u 发表于 2015-9-13 20:06
比如printf里的文字

你自己的printf?
9#
 楼主| 发表于 2015-9-14 18:47:05 | 只看该作者

主要是防盗版,这个要发到贴吧里去,而贴吧又有些小学狗喜欢拿别人的东西装B......
10#
发表于 2015-9-14 19:19:16 | 只看该作者
158979u 发表于 2015-9-14 18:47
主要是防盗版,这个要发到贴吧里去,而贴吧又有些小学狗喜欢拿别人的东西装B......

人家也会把你的这里检测部分改掉啊。。
况且这些东西谁都会做。。
11#
发表于 2016-8-18 22:30:41 | 只看该作者
······
我竟无言以对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表