有没有一种方法可以通过Process.Start绕过EXE安全警告?

时间:2020-09-23 06:21:41

标签: .net security process

我正在尝试使用ffmpeg.exe和以下代码执行Process.Start

var commandLineArgs = $"-y -ss 00:00:01 -i \"sourcepath\" -vframes 1 -q:v 2 \"destfile.jpg\"";

var proc = Process.Start(new ProcessStartInfo
{
    FileName = ffmpegPath,
    Arguments = commandLineArgs,
    WindowStyle = ProcessWindowStyle.Hidden
});

Windows 7提示我:

enter image description here

作为一种解决方法,我一直在做的是将调用写入批处理文件,然后像这样执行批处理文件:

var bat = IoHelpers.WriteTextFile("ffmpegwrapper.bat", $"\"{ffmpegPath}\" {commandLineArgs}");

var proc = Process.Start(new ProcessStartInfo
{
    FileName = bat.FullName,
    WindowStyle = ProcessWindowStyle.Hidden
});

它有效,但是我不太喜欢它。我也不明白它是如何工作的。看来Windows不会在包裹在批处理文件中的EXE上降低安全性,但这又是一个问题。

我不想进行任何全局系统更改,例如编辑策略和其他操作,因为如果尝试手动打开这样的EXE,我仍然希望此消息显示。是否可以绕过.NET中的此对话框?

0 个答案:

没有答案