Pausing/Resuming OneDrive 与 C# 同步

Pausing/Resuming OneDrive syncing with C#

我正在寻找一种在我正在开发的程序中为 OneDrive 设置时间表的方法。此计划将只允许 OneDrive 从午夜 (00:00) 到早上 6 点 (06:00) 进行同步。我知道该怎么做的程序的调度部分,我正在努力的部分是找到一种方法在早上 6 点暂停同步并在午夜恢复它。

如果有人能帮我找到一种以编程方式暂停和恢复 OneDrive 同步的方法,我将不胜感激。

所以到目前为止,我主要有 2 种方法 来存档,让我向您解释一下:

休眠进程 Form CMD

这是命令:

Invoke-WindowsApi "kernel32" ([bool]) "DebugActiveProcess" @([int]) @(process_id_here)

首先要找到进程id(OneDrive使用的程序应该是SkyDrive.exe,并且在System32下)
您还必须在 运行 该命令之前 install Invoke-WindowsApi

关闭进程然后重新启动

您可以关闭进程,然后在午夜重新启动它,如下所示:

SkyDrive.exe /shutdown
SkyDrive.exe

您可以为此创建一个批处理。