📄 unit1.h
字号:
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
//------------------------------------------------------------------------
#include <wininet.h>
#include <ras.h>
#include "GSocket.h"
#include "Control\GServer.h"
#include "Control\GClient.h"
#include <Graphics.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
#include <iphlpapi.h>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>
#include <ToolWin.hpp>
#define BufferSize 1024
#define WM_ADDRREADY WM_USER+0X181
#define AddrBufferSize 200
typedef struct QCallInfo
{
bool AutoRetry,
isAsp;
int Len,
AutoRetryTime,
CTimeOut,
WTimeOut,
STimeOut;
char*Text,*Host,*Reply;
unsigned short Port;
}*PQCALLINFO;
typedef struct GProxy
{
char Host[52];
char Port[10];
bool Enabled;
}*PGPROXY;
typedef struct fInfo
{
char SWarning[101];
char SWelcome[51];
char SPassword[15];
char CPassword[15];
char SPort[11];
char CPort[11];
char CServer[26];
char CName[15];
char DialName[257];
int CFace;
TColor ClientColor;
GProxy proxy;
bool imidiate,
ServerConnect,
ServerLeave,
ClientSay,
Max,
AutoRetry,
ToolAlign;
int AutoRetryTime,
CTimeOut,
WTimeOut,
STimeOut,
AutoHanup;
}*PFINFO;
#define WM_LOVERICON WM_USER+0X112
//---------------------------------------------------------------------------
class TForLover : public TForm
{
__published: // IDE-managed Components
TImageList *ImageList1;
TTimer *Timer2;
TSaveDialog *sdSave;
TColorDialog *cdColor;
TPopupMenu *pmMenu;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TMenuItem *N7;
TMenuItem *N8;
TMenuItem *N9;
TPageControl *PCControl;
TTabSheet *TabSheet1;
TSplitter *Splitter3;
TMemo *Memo2;
TMemo *mmStatus;
TPanel *Panel4;
TPanel *Panel6;
TLabel *Label5;
TSpeedButton *bbtCall;
TMemo *mmWord;
TPanel *Panel7;
TLabel *Label8;
TLabel *Label1;
TLabel *Label7;
TLabel *Label2;
TLabel *Label4;
TLabel *Label3;
TLabel *Label6;
TLabel *LBPassWord;
TListBox *cbFriend;
TComboBox *cbServer;
TComboBox *cbServerCode;
TEdit *edCallNum;
TComboBox *cbName;
TComboBox *cbSex;
TComboBox *cbType;
TEdit *edPassWord;
TTabSheet *TabSheet2;
TSplitter *Splitter2;
GServer *GServer1;
TListView *ListView1;
TPanel *Panel1;
TSpeedButton *sbLocalInfo;
TLabel *Label9;
TLabel *Label10;
TSpeedButton *sbSBegin;
TSpeedButton *sbSEnd;
TSpeedButton *sbCloseDoor;
TSpeedButton *sbSystem;
TSpeedButton *sbSSave;
TLabel *Label34;
TSpeedButton *sbKick;
TEdit *edSPort;
TEdit *edSPassword;
TEdit *edWelcome;
TTabSheet *TabSheet3;
TPanel *Panel3;
TLabel *lbColor;
TEdit *edCText;
TButton *btCSend;
GClient *GClient1;
TTabSheet *TabSheet5;
TTabSheet *TabSheet6;
TStatusBar *stbScan;
TPanel *Panel5;
TSpeedButton *sbStartScan;
TSpeedButton *sbEndScan;
TGroupBox *GroupBox1;
TLabel *lbTo;
TEdit *edFrom;
TEdit *edTo;
TRadioButton *rbSelectPort;
TRadioButton *rbAllPort;
TGroupBox *GroupBox5;
TRadioButton *rbRemote;
TRadioButton *rbLocal;
TEdit *edRemote;
TMemo *Memo1;
TListBox *lbScan;
TListView *LVTable;
TMenuItem *N10;
TPopupMenu *PMConnect;
TMenuItem *sbCConnect;
TMenuItem *sbCCancel;
TMenuItem *sbCDisConnect;
TMenuItem *N14;
TMenuItem *SpeedButton8;
TMenuItem *SpeedButton6;
TMenuItem *N17;
TBevel *Bevel1;
TBevel *Bevel2;
TBevel *Bevel3;
TTabSheet *TabSheet4;
TPanel *Panel8;
TGroupBox *GroupBox4;
TLabel *Label28;
TLabel *Label29;
TLabel *Label30;
TLabel *Label31;
TLabel *Label32;
TSpeedButton *asbSSave;
TSpeedButton *asbSDelete;
TSpeedButton *asbSClear;
TMemo *ammAbout;
TComboBox *acbSName;
TEdit *aedSAddress;
TEdit *aedSPort;
TEdit *aedSPassword;
TGroupBox *GroupBox3;
TLabel *Label19;
TLabel *Label20;
TLabel *Label21;
TLabel *Label22;
TLabel *Label23;
TLabel *Label24;
TLabel *Label25;
TLabel *Label26;
TLabel *Label27;
TSpeedButton *asbSave;
TSpeedButton *asbDelete;
TSpeedButton *asbClear;
TComboBox *acbFriend;
TComboBox *acbSex;
TComboBox *acbServer;
TComboBox *acbServerCode;
TEdit *aedCallNum;
TComboBox *acbCallType;
TEdit *aedTel;
TEdit *aedOicq;
TMemo *aedAddress;
TMenuItem *P1;
TTimer *Timer3;
TPageControl *PageControl1;
TTabSheet *TabSheet7;
TTabSheet *TabSheet8;
TCheckBox *cbProxy;
TGroupBox *GroupBox2;
TLabel *Label17;
TLabel *Label18;
TEdit *edProxyAdd;
TEdit *edProxyPort;
TLabel *Label39;
TComboBox *ComboBox1;
TLabel *Label11;
TComboBox *CBDialList;
TGroupBox *GroupBox7;
TRadioButton *RBCallEnd;
TRadioButton *RBProgEnd;
TRadioButton *RBNone;
TGroupBox *GroupBox6;
TCheckBox *cbServerImidiate;
TCheckBox *cbServerConnect;
TCheckBox *cbServerLeave;
TCheckBox *cbClientSay;
TLabel *Label12;
TLabel *Label13;
TGroupBox *GroupBox8;
TCheckBox *CBAutoRetry;
TLabel *Label15;
TEdit *EDCTimeOut;
TLabel *Label16;
TEdit *EDWTimeOut;
TLabel *Label33;
TEdit *EDAutoRetry;
TLabel *Label14;
TEdit *EDSTimeOut;
TMenuItem *P2;
TMenuItem *T1;
TMenuItem *B1;
TMenuItem *N6;
TPanel *Panel2;
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
TPanel *PToolBar;
TToolBar *ToolBarClient;
TToolButton *TBConnect;
TBitBtn *BLeftSide;
TBitBtn *BRightSide;
TMenuItem *B2;
void __fastcall bbtCallClick(TObject *Sender);
void __fastcall cbServerClick(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall cbFriendClick(TObject *Sender);
void __fastcall sbLocalInfoClick(TObject *Sender);
void __fastcall sbSBeginClick(TObject *Sender);
void __fastcall sbCloseDoorClick(TObject *Sender);
void __fastcall ListView1Editing(TObject *Sender, TListItem *Item,
bool &AllowEdit);
void __fastcall sbCConnectClick(TObject *Sender);
void __fastcall sbCDisConnectClick(TObject *Sender);
void __fastcall btCSendClick(TObject *Sender);
void __fastcall cbProxyClick(TObject *Sender);
void __fastcall asbSaveClick(TObject *Sender);
void __fastcall asbDeleteClick(TObject *Sender);
void __fastcall asbClearClick(TObject *Sender);
void __fastcall asbSSaveClick(TObject *Sender);
void __fastcall asbSDeleteClick(TObject *Sender);
void __fastcall asbSClearClick(TObject *Sender);
void __fastcall acbFriendClick(TObject *Sender);
void __fastcall acbServerClick(TObject *Sender);
void __fastcall acbSNameClick(TObject *Sender);
void __fastcall cbServerConnectClick(TObject *Sender);
void __fastcall cbServerLeaveClick(TObject *Sender);
void __fastcall cbClientSayClick(TObject *Sender);
void __fastcall Timer2Timer(TObject *Sender);
void __fastcall sbSEndClick(TObject *Sender);
void __fastcall sbSystemClick(TObject *Sender);
void __fastcall cbServerImidiateClick(TObject *Sender);
void __fastcall sbSSaveClick(TObject *Sender);
void __fastcall GServer1Connecting(TObject *Sender);
void __fastcall GServer1Leave(TObject *Sender);
void __fastcall sbCCancelClick(TObject *Sender);
void __fastcall GClient1Closed(TObject *Sender);
void __fastcall GClient1Connected(TObject *Sender);
void __fastcall GClient1ConnectFailed(TObject *Sender);
void __fastcall lbColorClick(TObject *Sender);
void __fastcall GServer1DisConnect(TObject *Sender);
void __fastcall ListBox1DrawItem(TWinControl *Control, int Index,
TRect &Rect, TOwnerDrawState State);
void __fastcall SpeedButton12Click(TObject *Sender);
void __fastcall SpeedButton8Click(TObject *Sender);
void __fastcall LoverPaint(TObject *Sender);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall Panel3Resize(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall ComboBox1Click(TObject *Sender);
void __fastcall Panel6Resize(TObject *Sender);
void __fastcall PaintBox1Paint(TObject *Sender);
void __fastcall GClient1Say(TObject *Sender);
void __fastcall ListView1Change(TObject *Sender, TListItem *Item,
TItemChange Change);
void __fastcall sbKickClick(TObject *Sender);
void __fastcall SpeedButton6Click(TObject *Sender);
void __fastcall rbSelectPortClick(TObject *Sender);
void __fastcall rbAllPortClick(TObject *Sender);
void __fastcall rbLocalClick(TObject *Sender);
void __fastcall rbRemoteClick(TObject *Sender);
void __fastcall sbStartScanClick(TObject *Sender);
void __fastcall sbEndScanClick(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall N3Click(TObject *Sender);
void __fastcall N9Click(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);
void __fastcall CBDialListDropDown(TObject *Sender);
void __fastcall Timer3Timer(TObject *Sender);
void __fastcall GClient1ButtonClick(TObject *Sender);
void __fastcall TBConnectClick(TObject *Sender);
void __fastcall T1Click(TObject *Sender);
void __fastcall B1Click(TObject *Sender);
void __fastcall ToolBarClientResize(TObject *Sender);
void __fastcall BRightSideClick(TObject *Sender);
void __fastcall BLeftSideClick(TObject *Sender);
void __fastcall PToolBarResize(TObject *Sender);
void __fastcall B2Click(TObject *Sender);
private: // User declarations
TStringList *slServerAll;
TStringList *slServerCode;
AnsiString asCallHost;
char *szHead,
*szMsg,
*szReply,
*lpFileName,
*lpHFileName,
*InfoDat,
*OtherDat;
int SetParams();
QCallInfo qai;
HICON hicon[4];
int curIcon,kickId;
NOTIFYICONDATA notify;
char *addwave,*delwave,*saywave;
// unsigned short PartPort[101];
/*以下定义端口扫描的变量*/
int NowScanPort,
TotalScanPort,
portRemote[AddrBufferSize];
AnsiString asRemoteName;
SOCKET skRemote[AddrBufferSize];
int sockRemoteLen;
sockaddr_in sockRemote;
//------
bool IsScan,
IsMini;
unsigned long RemoteAddr;
void SaveFinfo();
void GetAllUsers();
void GetAllServers();
bool AddIcon();
bool ModIcon();
bool DelIcon();
void _fastcall HandleIcon(TMessage&);
char* LoadWave(char*,char*,HINSTANCE hInst=NULL);
void __fastcall ServerEnable(bool);
bool __fastcall CheckEnd(void);
DWORD DialNumber;
bool DefDialName;
// void __fastcall AddrReady(TMessage&);
public: // User declarations
AnsiString replyFilePath;
__fastcall TForLover(TComponent* Owner);
void __fastcall Mini(TObject*);
void __fastcall AddrReady(TMessage& Msg);
int CheckPort(TEdit*);
fInfo fi;
BOOL __fastcall CheckNet(void);
BOOL __fastcall NetHanup();
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_LOVERICON,TMessage,HandleIcon)
VCL_MESSAGE_HANDLER(WM_ADDRREADY, TMessage, AddrReady)
END_MESSAGE_MAP(TForm);
};
//---------------------------------------------------------------------------
extern PACKAGE TForLover *ForLover;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -