自己写着玩的,实现远程桌面实时监控和鼠标锁定,局域网自动发现,绿色 免安装
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-10 09:26 Client
文件 7512 2017-07-20 20:33 Clientclient.cpp
文件 1296 2017-05-19 17:47 Clientclient.h
文件 66 2017-04-28 09:39 Clientclient.qrc
文件 6916 2017-05-19 17:49 Clientclient.ui
文件 10506 2017-04-28 09:39 ClientClient.vcxproj
文件 2667 2017-04-28 09:39 ClientClient.vcxproj.filters
文件 1228 2017-07-06 16:30 ClientClient.vcxproj.user
文件 536 2017-05-02 13:43 Clientmain.cpp
目录 0 2017-04-28 09:39 ClientResources
目录 0 2017-10-10 09:26 Monitor
文件 1424 2017-04-28 09:39 Monitor.sln
文件 824 2017-05-19 17:10 Monitormain.cpp
文件 12009 2017-05-01 17:32 MonitorMonitor.vcxproj
文件 2964 2017-05-01 17:32 MonitorMonitor.vcxproj.filters
文件 1078 2017-07-06 16:30 MonitorMonitor.vcxproj.user
文件 1005 2017-05-19 11:30 Monitorpicthread.cpp
文件 328 2017-04-28 09:19 Monitorpicthread.h
目录 0 2017-04-27 17:13 MonitorResources
文件 4719 2017-05-19 17:32 Monitorserver.cpp
文件 662 2017-05-19 17:35 Monitorserver.h
文件 1856 2017-05-19 17:37 Monitorudpserver.cpp
文件 481 2017-05-19 17:37 Monitorudpserver.h
目录 0 2017-10-10 09:26 Win32
目录 0 2017-05-19 11:08 Win32Release
文件 69632 2017-05-19 17:32 Win32ReleaseClient.exe
文件 35328 2017-05-19 17:36 Win32ReleaseMonitor.exe
文件 455328 2017-02-28 15:37 Win32Releasemsvcp120.dll
文件 970912 2017-02-28 15:37 Win32Releasemsvcr120.dll
目录 0 2017-05-02 13:44 Win32Releaseplugins
目录 0 2017-05-02 13:44 Win32Releasepluginsaudio
............此处省略121个文件信息
#include “client.h“
#include
#include
#include
#define SERVER_PORT 44444
#define UDP_CLIENT_PORT 44448
#define UDP_SERVER_PORT 44446
Client::Client(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
isConnected_ = false;
isRecord_ = false;
socket_ = new QTcpSocket();
socket_->setSocketOption(QAbstractSocket::LowDelayOption 1);
connect(socket_ SIGNAL(readyRead()) this SLOT(readFortune()));
connect(socket_ SIGNAL(error(QAbstractSocket::SocketError)) this SLOT(displayerror(QAbstractSocket::SocketError)));
connect(socket_ SIGNAL(stateChanged(QAbstractSocket::SocketState)) this SLOT(stateChanged(QAbstractSocket::SocketState)));
udpSocket_ = new QUdpSocket(this);
udpSocket_->bind(UDP_CLIENT_PORTQUdpSocket::ShareAddress);
connect(udpSocket_ SIGNAL(readyRead()) this SLOT(readPendingDatagrams()));
connect(&timer_ SIGNAL(timeout()) this SLOT(serverTimeOut()));
timer_.start(5000);
ui.lineEdit_ip->setText(“192.168.“);
showMaximized();
}
Client::~Client()
{
}
void Client::connectServer(QString ip)
{
socket_->abort();
receiveData_.clear();
socket_->connectToHost(QHostAddress(ip) SERVER_PORT);
ui.lineEdit_ip->setText(ip);
}
void Client::readFortune()
{
quint64 bytesAvailable = socket_->bytesAvailable();
if (bytesAvailable <= 0)
return;
QByteArray data = socket_->read(bytesAvailable);
//qDebug() << “from:“ << socket_->peerAddress().toString() << “ size:“ << data.size();
receiveData_.append(data);
processData();
}
void Client::displayerror(QAbstractSocket::SocketError socketError)
{
switch (socketError) {
case QAbstractSocket::RemoteHostClosedError:
break;
case QAbstractSocket::HostNotFoundError:
QMessageBox::information(this tr(“Fortune Client“)
tr(“The host was not found. Please check the “
“host name and port settings.“));
break;
case QAbstractSocket::ConnectionRefusedError:
QMessageBox::information(this tr(“Fortune Client“)
tr(“The connection was refused by the peer. “
“Make sure the fortune server is running “
“and check that the host name and port “
“settings are correct.“));
break;
default:
QMessageBox::information(this tr(“Fortune Client“)
tr(“The following error occurred: %1.“)
.arg(socket_->errorString()));
}
}
void Client::stateChanged(QAbstractSocket::SocketState socketState)
{
switch (socketState) {
case QAbstractSocket::HostLookupState:
case QAbstractSocket::ConnectingState:
break;
case QAbstractSocket::ConnectedState:
isConnected_ = true;
break;
case QAbstractSocket::BoundState:
case QAbstractSocket::ListeningState:
break;
case QAbstractSocket::ClosingState:
case QAbstractSocket::UnconnectedState:
{
isConnected_ = false;
isRecord_ = false;
ui.pushButton_record->setText(QString::fromLocal8Bit(“录像“));
break;
}
default:
Q_ASSERT_X(0 “stateChanged“ “Unknown
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-10 09:26 Client
文件 7512 2017-07-20 20:33 Clientclient.cpp
文件 1296 2017-05-19 17:47 Clientclient.h
文件 66 2017-04-28 09:39 Clientclient.qrc
文件 6916 2017-05-19 17:49 Clientclient.ui
文件 10506 2017-04-28 09:39 ClientClient.vcxproj
文件 2667 2017-04-28 09:39 ClientClient.vcxproj.filters
文件 1228 2017-07-06 16:30 ClientClient.vcxproj.user
文件 536 2017-05-02 13:43 Clientmain.cpp
目录 0 2017-04-28 09:39 ClientResources
目录 0 2017-10-10 09:26 Monitor
文件 1424 2017-04-28 09:39 Monitor.sln
文件 824 2017-05-19 17:10 Monitormain.cpp
文件 12009 2017-05-01 17:32 MonitorMonitor.vcxproj
文件 2964 2017-05-01 17:32 MonitorMonitor.vcxproj.filters
文件 1078 2017-07-06 16:30 MonitorMonitor.vcxproj.user
文件 1005 2017-05-19 11:30 Monitorpicthread.cpp
文件 328 2017-04-28 09:19 Monitorpicthread.h
目录 0 2017-04-27 17:13 MonitorResources
文件 4719 2017-05-19 17:32 Monitorserver.cpp
文件 662 2017-05-19 17:35 Monitorserver.h
文件 1856 2017-05-19 17:37 Monitorudpserver.cpp
文件 481 2017-05-19 17:37 Monitorudpserver.h
目录 0 2017-10-10 09:26 Win32
目录 0 2017-05-19 11:08 Win32Release
文件 69632 2017-05-19 17:32 Win32ReleaseClient.exe
文件 35328 2017-05-19 17:36 Win32ReleaseMonitor.exe
文件 455328 2017-02-28 15:37 Win32Releasemsvcp120.dll
文件 970912 2017-02-28 15:37 Win32Releasemsvcr120.dll
目录 0 2017-05-02 13:44 Win32Releaseplugins
目录 0 2017-05-02 13:44 Win32Releasepluginsaudio
............此处省略121个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)