用手机通过wifi监视家里电脑的屏幕防止小孩乱上网

介绍一个简单实用的小工具,允许用户通过Android手机实时监控电脑屏幕,特别适合家长查看孩子上网情况。软件只需电脑和手机连接同一局域网即可使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载本人开发的一个小工具,地址:http://download.youkuaiyun.com/detail/zhangamxqun/7885321

 

解压之后里面有电脑运行端ControlServer.exe,和手机运行端PcMonitor.apk

软件实现使用android手机监视电脑屏幕(特别适合随时用手机查看小孩的上网情况)。

电脑和手机必须在同一个局域网内,正常情况是连接到同一个路由器,手机通过wifi和电脑通过同一个路由器上网。

1、在需要监视的电脑上运行ControlServer.exe(双击即可,运行后无界面,加到开始菜单里的启动文件夹中,就可以开机启动,占用资源少)。

2、 在android手机上安装PcMonitor.apk,安装后运行。

点击"刷新"按钮,稍等片刻,手机上会以绿色显示找到的电脑,比如“192.168.1.153”,然后点击这个绿色区域,稍等片刻,就会在手机上显示电脑的屏幕,并实时变化。

 

加上控制功能,还可以给电脑使用者发送消息,直接操控鼠标,或关机等。

### C++ 中 `delete` 运算符销毁派生类无名对象时的机制 在 C++ 中,当通过基类指针删除一个派生类的对象时,程序的行为依赖于基类析构函数是否声明为虚函数。以下是详细的分析: #### 1. **动态绑定与虚析构函数** 如果基类的析构函数未声明为虚函数,则在使用 `delete` 删除基类指针指向的派生类对象时,仅会调用基类的析构函数[^1]。这种行为称为静态绑定,意味着运行时无法识别实际对象的具体类型。 然而,如果基类的析构函数声明为虚函数,则实现了动态绑定。此时,在删除基类指针指向的派生类对象时,程序能够正确识别并调用派生类的析构函数,随后再调用基类的析构函数[^2]。这是由于虚函数表的存在使得运行时可以找到正确的析构函数入口。 #### 2. **析构函数的执行顺序** 无论是否存在虚析构函数,析构函数的执行顺序总是固定的:先调用派生类的析构函数,再依次调用其所有基类的析构函数[^5]。这一过程确保了派生类特有的资源能够在基类资源之前被清理。 #### 3. **虚析构函数的重要性** 虚析构函数的主要作用在于避免内存泄漏和其他潜在问题。例如,当派生类中存在动态分配的内存或其他需要显式释放的资源时,如果没有调用派生类的析构函数,这些资源将无法得到适当处理[^2]。因此,声明基类析构函数为虚函数是一种良好的编程实践,尤其是在设计涉及多态性的类层次结构时。 #### 4. **代码示例** 以下是一个简单的例子来说明上述概念: ```cpp #include <iostream> using namespace std; class Base { public: virtual ~Base() { cout << "~Base()" << endl; } }; class Derived : public Base { public: ~Derived() { cout << "~Derived()" << endl; } }; int main() { Base* ptr = new Derived(); delete ptr; return 0; } ``` **输出结果:** ``` ~Derived() ~Base() ``` 在这个例子中,尽管 `ptr` 是基类类型的指针,但由于基类的析构函数是虚函数,程序成功调用了派生类的析构函数后再调用基类的析构函数[^1]。 --- ### 总结 在动态连接编译环境下,使用 `delete` 运算符销毁派生类无名对象时,只有当基类具有虚析构函数的情况下,才能保证正确调用派生类的析构函数。这不仅遵循了析构函数的执行顺序原则,还有效预防了因未能释放派生类资源而导致的内存泄漏等问题。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值