如何使用 Mono.Cecil 将应用程序从控制台应用程序类型修改为 Windows 应用程序类型,反之亦然?
user917615
问问题
381 次
2 回答
2
要将控制台 .exe 转换为 Windows .exe,您可以使用:
var file = "foo.exe";
var module = ModuleDefinition.ReadModule (file);
// module.Kind was previously ModuleKind.Console
module.Kind = ModuleKind.Windows;
module.Write (file);
另一种方法是选择适当的 ModuleKind 值一样简单。来自塞西尔的消息来源:
public enum ModuleKind {
Dll,
Console,
Windows,
NetModule,
}
于 2011-09-23T06:42:38.970 回答
0
对于像我这样需要更多帮助的人:)
你可能需要apt pacakgelibmono-cecil-cil-dev
//mono-cecil-set-modulekind-windows.cs
using System;
using Mono.Cecil;
namespace CecilUtilsApp {
class CecilUtils {
static void Main(string[] args) {
var file = args[0];
var module = ModuleDefinition.ReadModule (file);
module.Kind = ModuleKind.Windows;
module.Write (file);
}
}
}
// -----
//Makefile
//mono-cecil-set-modulekind-eq-windows.exe:
// mcs $(shell pkg-config --libs mono-cecil) ./mono-cecil-set-modulekind-windows.cs
./mono-cecil-set-modulekind-windows.exe myprog.exe
于 2020-12-17T04:55:00.270 回答