📄 cl.cpp
字号:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
char addr[15]; /*存储ip地址*/
char times[]="00:00:00"; /*时间初始化*/
char name[20]; /*存储呢称*/
int inp(); /*发送信息*/
void save(); /*保存客户端信息*/
void sbat(); /*生成连接服务器bat*/
void vbs(); /*生成开启连接服务器的vbs*/
void lianjie(); /*测试与服务器连接状态*/
void showfile(); /*检测并打开信息内容显示程序show.exe*/
void cldlfile(); /*测试并打开进程监控程序cldl.exe*/
void cldlvbs(); /*生成开启进程监控vbs*/
void sxian(); /*写入上线信息到服务器*/
void affiche(); /*加载服务器公告*/
void gettime(); /*获取当前时间*/
main()
{
system("title 登陆-C chat system Client");
printf("ip:");
scanf("%s",addr);
printf("输入呢称:");
scanf("%s",name);
save();
system("title 正在连接服务器-C chat system Client");
sbat();
vbs();
lianjie();
system("title 正在文件检测-C chat system Client");
showfile();
cldlfile();
system("title 登陆成功-C chat system Client");
sxian();
system("title 发送信息-C chat system Client");
for(;;)
inp();
}
int inp()
{
FILE *fp=NULL;
char tt[255];
int i=1;
printf("\x0d ");
printf("\x0d发送:");
scanf("%s",tt);
printf("正在发送...");
while(fp==NULL)
{
if((fp=fopen("w:\\data.dat","wb"))!=NULL) /*写入信息到服务器*/
{fprintf(fp,"%s",name); fprintf(fp,":"); fprintf(fp,"%s",tt); fclose(fp);}
else { /*写入信息失败,重新发送*/
Sleep(2000);
if(i==5)
{printf("\n是否show.exe被关闭或与服务机中断连接,按任意键退出..."); getch(); exit(0);}
printf("\n发送失败,重新发送(%d)",i);
i++;
}
}
}
void sbat()
{
FILE *fp;
char bf=37;
printf("正在连接服务机...\n");
if((fp=fopen("c:\\windows\\cchatbat.bat","wb"))!=NULL)
{fprintf(fp,"@echo off\r\nnet use w: \\\\%s\\chat 65559696 /user:cchat\r\ndel cchatvbs.vbs\r\ndel %c0",addr,bf); fclose(fp);}
else {printf("erroe in open the file,press any key exit..."); getch(); exit(0);}
fclose(fp);
Sleep(1000);
}
void vbs()
{
FILE *fp;
if((fp=fopen("c:\\windows\\cchatvbs.vbs","wb"))!=NULL)
{fprintf(fp,"CreateObject(\"WScript.Shell\").Run \"cmd /ccchatbat.bat\",0"); fclose(fp);system("start cchatvbs.vbs");}
else {printf("erroe in open the file,press any key exit..."); getch(); exit(0);}
Sleep(1000);
}
void cldlvbs()
{
FILE *fp;
if((fp=fopen("c:\\windows\\cldlvbs.vbs","wb"))!=NULL)
{fprintf(fp,"CreateObject(\"WScript.Shell\").Run \"cmd /ccldl.exe\",0"); fclose(fp);system("start c:\\windows\\cldlvbs.vbs");}
else {printf("erroe in open the file,press any key exit..."); getch(); exit(0);}
Sleep(1000);
}
void sxian()
{
FILE *fp=NULL;
gettime();
printf("%s\n",times);
while(fp==NULL) /*写入上线信息到服务器*/
if((fp=fopen("w:\\data.dat","wb"))!=NULL)
{fprintf(fp,"[%s],(%s)上线了...\r\n",times,name); fclose(fp);}
for(;;)
if((fp=fopen("w:\\sss.dat","ab+"))!=NULL)
{fprintf(fp,"[%s],(%s)上线了...\r\n",times,name); fclose(fp);return;}
}
void lianjie()
{
FILE *fp=NULL;
int i;
Sleep(1000);
for(i=1;i<6;i++)
{
if(i==5)
{printf("无法连接服务器,按任意键退出...\n"); getch(); exit(0); }
else if((fp=fopen("w:\\l.dat","wb"))==NULL)
{printf("连接失败,正在重连(%d)...\n",i);Sleep(2000);}
else if((fp=fopen("w:\\l.dat","wb"))!=NULL)
{printf("连接成功...\n"); Sleep(500); printf("加载公告...\n\n"); affiche(); return;}
}
}
void affiche()
{
FILE *fp;
char ch[20];
if((fp=fopen("w:\\gg.txt","rb"))!=NULL)
{fscanf(fp,"%s",ch); system("type w:\\gg.txt"); printf("\n\n");return; fclose(fp);}
else if((fp=fopen("w:\\gg.txt","rb"))==NULL)
{printf("+-----------------------------+\n C语言聊天室 \n|程序还未完善,如发现问题请联系本人.\n|Qq:65559696\n|By:张泽华\n+---------------------------+\n\n"); return;}
}
void showfile()
{
FILE *fp=NULL;
int i;
for(i=1;i<6;i++)
{
if(i==5)
{printf("必要文件Show.exe丢失,5秒后退出...\n"); for(i=6;i>1;i--) {printf("\x0d%d",i-1); Sleep(1000);}exit(0);}
else if((fp=fopen("show.exe","rb"))!=NULL)
{fclose(fp); system("start show.exe"); cldlvbs(); return;}
}
}
void cldlfile()
{
FILE *fp=NULL;
int i;
for(i=1;i<6;i++)
{
if((fp=fopen("show.exe","rb"))!=NULL)
return;
if(i==5)
{printf("必要文件cldl.exe丢失,5秒后退出...\n"); for(i=6;i>1;i--) {printf("\x0d%d",i-1); Sleep(1000);}exit(0);}
}
}
void gettime()
{
time_t ltime; /*时间结构体*/
time(<ime); /*获取时间*/
char tmp[20];
int i,j=0;
strcpy(tmp,ctime(<ime)); /*时间赋值*/
for(i=11;i<19;i++)
times[j++]=tmp[i];
}
void save()
{
FILE *fp=NULL;
if((fp=fopen("c:\\windows\\saveinfo.dat","wb"))!=NULL)
{fprintf(fp,"%s\n%s\r\n",name,addr); fclose(fp); return;}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -