我的 C# win 表单应用程序在内部调用批处理脚本,如何在 Visual Studio 中导出时对最终用户隐藏它?

Posted

技术标签:

【中文标题】我的 C# win 表单应用程序在内部调用批处理脚本,如何在 Visual Studio 中导出时对最终用户隐藏它?【英文标题】:My C# win form application internally calls a batch script how do I hide it from the end user while exporting in Visual Studio? 【发布时间】:2021-09-22 11:52:21 【问题描述】:

在我的 C# 项目中,有一个名为“scripts”的文件夹,其中包含我的批处理脚本,但是在导出项目时,我不希望最终用户篡改这些脚本或进行修改。如果有办法完全对用户隐藏这些脚本,我将不胜感激。或任何其他可能完全掩盖其存在的方式。

【问题讨论】:

我建议完全摆脱 bat 文件并在您的 C# 代码中重新实现它们。 【参考方案1】:

将批处理文件作为资源嵌入。保存到临时文件,运行,运行后删除临时文件。

根据批处理文件的内容,可以直接在C#中运行批处理文件调用的程序。

还有像Bat2Exe 这样的工具可以将批处理文件转换为可执行文件,隐藏它曾经是一个BAT 文件。请务必检查许可条件。

【讨论】:

感谢您的及时回复,将其转换为 .exe 对我有用,非常感谢。我正在考虑使用 c#,但遗憾的是,我需要的 API 不再维护,所以批处理是我在这里唯一的选择。不过没关系,因为我的问题是通过转换文件解决的。

以上是关于我的 C# win 表单应用程序在内部调用批处理脚本,如何在 Visual Studio 中导出时对最终用户隐藏它?的主要内容,如果未能解决你的问题,请参考以下文章

JVM 如何在内部处理竞争条件?

Spring Hystrix 未在内部方法上触发

利用富文本标签——elementui——关于tabs标签页不能在内部包裹这个form表单

spring/hibernate 如何为我们提供防止 SQL 注入的保证以及它是如何在内部处理的?

Spark 程序在内部调用 HDFS:/apps/hive/warehouse

调用 malloc 函数并不总是在内部调用 sbrk 函数?