?? 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 + -