2012-03-10 55 views
0

我有一个编译的exe文件,我用它来转换图像。 它被命名为convert.exe。 我想在我的C#应用​​程序中使用它,而不会在我的应用程序文件夹中看到它。 所以我想我可以添加它作为一种资源。 问题是: 如何启动存储在我的资源中的exe文件的外部进程?从资源启动过程(exe文件)

+0

首先将它写入文件可以吗?因为直接从内存中运行的东西很棘手,通常毫无意义。 – Ryan 2012-03-10 15:19:59

+0

我想避免将它写入文件。我不希望它被任何人访问/复制。 – 2012-03-10 15:21:46

+1

不仅仅是病毒扫描程序和用户,绝对讨厌从某个地方出现一个进程。 Windows也是如此,它有一个核心要求,即进程必须从磁盘上的文件启动。对其设计方式至关重要。 – 2012-03-10 15:31:09

回答

1

不幸的是,Hans Passant说的没有办法。实际上,为了运行它,您必须先将其保存到磁盘。有几个应用程序使用此方法。其中之一是SysInternals Process Explorer。它曾经在资源中包含EXE的64版本(我不是100%确定它们仍然以最新版本的方式这样做)。无论如何,网上有几个例子和教程。 Here is one

0

如果您在程序中实施某种Web服务器(利用http.sys),您可以从解析(通过windwows webdav客户端)到URL的unc路径运行可执行文件。