iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)

2024-09-08 04:36

本文主要是介绍iOS剪贴板同步到Windows剪贴板(无需安装软件的方案),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

剪贴板同步能够提高很多的效率,免去复制、发送、复制、粘贴的步骤,只需要在手机上复制,就可以直接在电脑上 ctrl+v 粘贴,这方面在 Apple 设备中是做的非常好的,Apple 设备之间的剪贴板同步功能(Universal Clipboard)确实非常方便,它可以在 iPhone、iPadMac 之间无缝传输剪贴板内容,从而大大提高工作效率。

但是,iPhone 如何和 Windows 剪贴板同步呢?其实方案有很多,有些是通过安装软件来实现,还有一些是通过输入法自带的剪贴板同步功能来实现,例如微信输入法就有剪贴板同步的功能

本文主要讲的是自己去实现一个单向同步,因为我还没实现双向同步,如果后面有方案我会更新本文。

技术原理

iPhone 中有一个叫做 快捷指令 的APP,这个APP提供了一些方法去操作你的 iPhone ,通过里面提供的API可以创建一个自动化脚本,这个脚本就可以获取剪贴板内容,既然能够获取到 iPhone 的剪贴板内容,那么就可以将剪贴板内容通过 快捷指令 的另一个API发送给 Windows 系统,然后在 Windows 系统通过一个 Python 脚本来实时监控 iPhone 的剪贴板更新,获取到新的剪贴板内容则自动设置 Windows 剪贴板。

捷径指令

快捷指令的截图如下:

在这里插入图片描述

创建个人自动化,设定一个触发条件,触发条件是当打开或者关闭某个APP的时候,执行这个自动化脚本。

自动化脚本的顺序是:

  1. 获取剪贴板;
  2. 对剪贴板的内容进行 URL 编码;
  3. 使用文本将局域网的 HTTP接口 和经过 URL编码的剪贴板内容 进行拼接;
  4. 使用 获取URL内容 这个API将剪贴板内容发送给局域网API;
  5. 结束。

Windows Python脚本

在本地开启一个 php 服务器,通过一个简单的 php 脚本来保存剪贴板的内容。

<?php$content = $_GET['content'];
file_put_contents('./content.txt', $content);
echo '<h1>OK</h1>';

例如在本地服务器 clipboard 目录下创建 index.php 将上面代码复制进去。

快捷指令发送数据过来的时候,就会将剪贴板内容保存在 content.txt 里面。

然后本地开启 Python 脚本去循环读取这个 content.txt 是否有新内容,如果有则设置到剪贴板。

clipboard.py

import requests
import time
import pyperclip
import tkinter as tk
from tkinter import messageboxdef fetch_content(url):try:response = requests.get(url)response.raise_for_status()response.encoding = 'utf-8'return response.textexcept requests.RequestException as e:print(f"Error fetching content: {e}")return Nonedef show_floating_notification(message):# 创建一个透明窗口靠近鼠标指针root = tk.Tk()root.overrideredirect(True)  # 去掉窗口边框root.attributes("-topmost", True)  # 窗口置顶root.attributes("-alpha", 0.8)  # 设置透明度root.geometry(f"220x30+{root.winfo_pointerx()}+{root.winfo_pointery()}")  # 设置窗口大小和位置label = tk.Label(root, text=message, bg="#eee", fg="#666", font=("Arial", 11))label.pack(expand=True, fill='both')# 自动关闭窗口root.after(2000, root.destroy)  # 3秒后自动关闭窗口root.mainloop()def monitor_content(url, interval=1):last_content = Nonewhile True:current_content = fetch_content(url)if current_content is not None and current_content != last_content:print("New content detected:")print(current_content)pyperclip.copy(current_content)  # 将内容复制到剪贴板print("Content has been copied to the clipboard.")show_floating_notification("来自iPhone13的剪贴板内容")last_content = current_contenttime.sleep(interval)  # 间隔指定的秒数再检查if __name__ == "__main__":url = "http://192.168.2.112/clipboard/content.txt"monitor_content(url)

其它说明

本方案仅为初次实验和研究是可行的,可进行深度优化,会变得更好用。

作者

TANKING

这篇关于iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147125

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影