gpt4 book ai didi

windows - 禁止 MS-Office 应用程序以编程方式发送遥测数据

转载 作者:可可西里 更新时间:2023-11-01 09:32:07 24 4
gpt4 key购买 nike

我们在自己的应用程序中使用带有导入的 ActiveX 类型库的 MS-Office 应用程序(例如,将 MS-Office 文档即时转换为 PDF)。

我们的应用程序有意等待,直到 MS-Office 应用程序后台线程结束。
自 MS-Office 2019 版以来,我们注意到后台线程阻塞了很长时间(18-25 秒)。原因显然是 MS-Office 应用程序关闭/退出后立即发送遥测数据。
使用 ProgMon 工具进行监控证明了这一点。

我们还发现有一个解决方法,通过操作以下注册表项来禁用发送遥测数据:

Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\Common\ClientTelemetry: REG_DWORD-Value (32bit): Disable Temetry: 1

如果这样做,阻塞时间将减少到 3-5 秒。

这是我们的应用程序的代码片段(几乎是我们用来隔离和测试问题的核心功能):

procedure TForm59.ConvertEarlyBinding(const _documentFilePath : string; 
bOnlyOpenClose: Boolean = False);
var
WordApp : ActiveX.TypeLibs.Word.Application;
WordDoc : ActiveX.TypeLibs.Word.Document;

oleTrue : OleVariant;
oleFalse : OleVariant;
emptyVariant : OleVariant;
begin
oleTrue := True;
oleFalse := False;
emptyVariant := EmptyParam;

WordApp := ActiveX.TypeLibs.Word.coApplication.Create;
WordApp.Visible := True;

WordDoc := WordApp.Documents.Open(_documentFilePath, EmptyParam, oleTrue,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam);

if not bOnlyOpenClose then begin
WordDoc.ExportAsFixedFormat(ChangeFileExt(_documentFilePath, '.pdf'),
wdExportFormatPDF, false,
wdExportOptimizeForOnScreen, wdExportAllDocument,
-1, -1, wdExportDocumentWithMarkup,
false, false,
wdExportCreateWordBookmarks, false,
false, false, EmptyParam);
end;

WordApp.ActiveDocument.Close(oleFalse, emptyVariant, emptyVariant);
WordDoc := nil;

WordApp.Quit(false, EmptyParam, EmptyParam);

WordApp := nil;
end;

现在的问题是:是否有任何我们可以从 MS-Office 应用程序界面使用的属性来阻止它发送遥测数据?

我们都知道,我们也可以从我们的应用程序中以编程方式操作注册表项,但最好只对当前启动的 MS-Office 应用程序实例禁止这种操作。

最佳答案

Microsoft Office 应用程序不为此提供任何属性或方法。要停止在本地计算机上收集数据,请更新注册表或设置组策略设置,如下所示。默认情况下,遥测数据收集在 Office 中处于禁用状态。请检查您的环境之前是否启用了遥测代理。检查以下注册表设置:

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\OSM
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\OSM
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OSM
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\OSM

其中 15.0 代表 Office 2013

如果您使用的是之前从 Office 2013 升级而来的 Office 2016,请同时禁用 Office 2013 遥测代理。请检查以下文章中提到的注册表设置:

Deploy Office Telemetry Dashboard

为 Office 用户禁用所有遥测设置:

Manage the privacy of data monitored by Office Telemetry Dashboard

禁用日志记录不会删除已经从计算机收集的数据。要在本地客户端计算机上删除此数据,请删除位于 evt.tblsln.tbluser.tbl/p>

%LocalAppData%\Microsoft\Office16.0\Telemetry\Microsoft\Office\16.0\Telemetry\.

关于windows - 禁止 MS-Office 应用程序以编程方式发送遥测数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57327290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com