⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.cpp

📁 《Internet与TCP/IP程序设计之C++ Builder高手》配书盘光盘内容:书中的范例和运行范例所需的图像素材、网页素材等。
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

bool blnTaskBar;

void SetTaskBar(bool blnTask);

//---------------------------------------------------------------------------
void SetTaskBar(bool blnTask)
{
    HWND hTask;

    // 取得工具栏的Windows Handle
    hTask = FindWindow("Shell_TrayWnd", NULL);

    if (blnTask)
    {
        // 显示工具栏
        ShowWindow(hTask, SW_SHOW) ;
    }
    else
    {
        // 隐藏工具栏
        ShowWindow(hTask, SW_HIDE);
    }
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
    ServerSocket->Active = false ;

    // 程式结束时, 必须关闭所使用的声音
    mciSendString(PChar("close sound.wav"), NULL, 0, 0);

    Application->Terminate()  ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocketAccept(TObject *Sender,
      TCustomWinSocket *Socket)
{
    StatusBar1->SimpleText = "Accept Connection from: " + Socket->RemoteAddress ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocketClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    StatusBar1->SimpleText = "Connected from: " + Socket->RemoteAddress ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocketClientDisconnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    StatusBar1->SimpleText = "Disconnected from: " + Socket->RemoteAddress ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocketClientError(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
    StatusBar1->SimpleText = "Error from Client socket.";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocketClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
    int Start, X, Y;
    String LString, RString, sTemp, sCommand;

    txtCommand->Text = Socket->ReceiveText() ;

    StatusBar1->SimpleText = "Command " + txtCommand->Text + " from: " + Socket->RemoteAddress ;

    if (txtCommand->Text == "Open")
    {
        mciSendString(PChar("set cdaudio door open"), NULL, 0, 0) ;
    }
    else if (txtCommand->Text == "Close")
    {
        mciSendString(PChar("set cdaudio door closed"), NULL, 0, 0) ;
    }
    else if (txtCommand->Text == "TaskBar")
    {
        blnTaskBar = !blnTaskBar ;
        SetTaskBar(blnTaskBar) ;
    }
    else if (txtCommand->Text == "Sound")
    {
        mciSendString(PChar("close sound.wav"), NULL, 0, 0) ;
        mciSendString(PChar("open  sound.wav"), NULL, 0, 0) ;
        mciSendString(PChar("play  sound.wav"), NULL, 0, 0) ;
    }
    else
    {
        sTemp = txtCommand->Text ;

//        do {
//            Start = sTemp.Pos(#$D#$A);
//            RString := sTemp;
//            Delete(RString, Start, Length(RString));
//            Delete(sTemp, 1, Start);

//            Start := Pos(' ', RString);
//            LString := RString;
//            Delete(LString, Start, Length(LString));
//            Delete(RString, 1, Start);
//            sCommand := trim(LString);

//            RString := Trim(RString);

//            Start := Pos(' ', RString);
//            LString := RString;
//            Delete(LString, Start, Length(LString));
//            Delete(RString, 1, Start);

//            X := StrToInt(trim(LString));
 //           Y := StrToInt(trim(RString));

//            if sCommand = 'Mouse' then
                // 移动鼠标指针
//                SetCursorPos (X, Y);

//        until Pos(#$D#$A, sTemp) = 0;
    }

    ServerSocket->Socket->Connections[0]->SendText(txtCommand->Text) ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocketListen(TObject *Sender,
      TCustomWinSocket *Socket)
{
    StatusBar1->SimpleText = "Server Listen" ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    SpeedButton1->Enabled = true;
    SpeedButton2->Enabled = false;

    blnTaskBar = true ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
    ServerSocket->Active = true ;

    StatusBar1->SimpleText = "Listening ..." ;

    Label1->Caption = "IP: 127.0.0.1" ;

    Label2->Caption = "Host: " + ServerSocket->Socket->LocalHost ;

    Label3->Caption = "Port: " + IntToStr(ServerSocket->Port) ;

    SpeedButton1->Enabled = false ;

    SpeedButton2->Enabled = true ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
    ServerSocket->Active = false ;

    StatusBar1->SimpleText = "Disconnect" ;

    Label1->Caption = "IP: " + ServerSocket->Socket->LocalAddress ;

    Label2->Caption = "Host: " + ServerSocket->Socket->LocalHost ;

    Label3->Caption = "Port: " + IntToStr(ServerSocket->Port) ;

    SpeedButton1->Enabled = true ;

    SpeedButton2->Enabled = false ;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -