我需要一个非常简单的程序来运行在任何版本的Windows上,比如说> = Win 98,而不需要像dotnet这样的预安装框架。我认为C会是一个好主意。如何编译C程序以在没有命令框的情况下运行?
程序应该使用系统命令从父目录启动一个进程。
启动C程序(不可见)>程序启动过程>程序退出
这是它的外观:
#include <stdio.h>
#include <stdlib.h>
int main() {
system("..\\someprogram.exe");
return 0;
}
我把这个程序从Flash投影机,只允许在特定子文件夹“fscommand”中启动程序 - 但我必须启动与投影机位于同一目录中的进程。
无论如何,它工作正常!但是C程序打开一个命令框,然后启动该进程并在该进程运行时保持命令框处于打开状态。因此,这里是它如何工作,为了我怎么会欣赏它:
- 不要打开所有命令框(我想的是,真的;)
- 两个3),4)
- 启动过程后(退出C程序)
- 打开默认最小化命令框关闭命令框
我不能改变任何的Windows设置为C可执行文件或使用快捷方式,如这将在稍后直接从CD中运行。
我使用Open Watcom来编译我的程序。产生可执行文件的两种图像类型(目标选项)(Character-mode Executable/Windowed Executable)具有相同的结果。
您是否看到? http://stackoverflow.com/questions/411247/running-a-cmd-or-bat-in-silent-mode批处理文件应该做的伎俩。 – tjameson 2011-04-17 09:07:55
还是这个? http://superuser.com/questions/62525/run-a-completly-hidden-batch-file – 2011-04-17 09:18:31
不幸的是,由于安全原因,Flash不允许使用参数调用可执行文件。只有不带参数的exe和bat-calls是可能的。 (这是Adobe有史以来最伟大的想法之一。)我有一个很好的解决方案,使用批处理文件而不是C程序。这在手动启动蝙蝠时起作用。但是从Flash中调用它时,它并没有启动这个过程。 -.- – Bert 2011-04-17 11:00:19