如何往云桌面传送文件

本文介绍了在不联网的云桌面环境中进行文件传输的两种方法:一是利用按键精灵模拟键盘输入,将文件转换为16进制文本传输;二是通过OCR技术配合神经网络识别传出文件。这些方法在学院屏蔽内网FTP服务器后成为解决实训文件传输问题的途径。
摘要由CSDN通过智能技术生成

  中山大学本科SE专业的暑期实训分为三级,要求报名者在封闭的云桌面上独立完成编码、写文档任务,并在云桌面内部提交。云桌面环境不联网,因此所有的任务尤其是一些参考的配置文件都要独自手打一遍,十分繁琐,要解决这种不便就需要破解文件传输的问题。

请遵守实训规则,不要利用本文介绍的技术手段抄袭!

一、利用FTP服务器

  (本方法已经暂时失效) 
   
  云桌面连接着内网,所有人都能在寝室或者实验室的计算机访问,因此,内网的通信必须保证,理论上可以利用内网传输文件。 
  许多人发现了可以在自己电脑简单建立FTP服务器来传文件,具体方法你懂的。 
  很遗憾,学院方面已经知道了这个“文件传输错误”,特地在2016年6月30日重置了云桌面,屏蔽了内网。

二、利用模拟键盘,输入字符

  一个模拟键盘的例子: [ 利用键盘事件keybd_event(Win32 API)模拟键盘按键 ]  

  很遗憾,Win32API的键盘事件不够底层,在云桌面没有输入任何字符。 
  可以考虑利用更加底层的winio库,编写键盘驱动,写入到云桌面。 
  为了实训的进度,我最终使用了按键精灵这一商业软件帮助我快速实现传输文件的功能。 
  安装好按键精灵后,可以熟悉下按键精灵的操作。 
  然后编写以下程序代码shixunCrackSprite.cpp,生成按键精灵的脚本代码。

#include <windows.h>
#include <cctype>
#include <fstream>

void sendKey(std::ostream &os, const int key, bool shift = false) {
    if (shift)
        os << "KeyDown 16, 1\n";
    os << "KeyPress " << key << ", 1\n";
        if (shift)
    os << "KeyUp 16, 1\n";
}

void match(const char ch, int &key, bool &shift) {
    if (ch == ' ') { key = 32; shift = false; return;}
    if (ch == '\t') { key = 9; shift = false; return;}
    if (ch == '\n') { key = 13; shift = false; return;}

    if (ch == &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值