【发布时间】:2011-04-17 09:03:30
【问题描述】:
我需要一个非常简单的程序来在任何版本的 Windows 上运行,比如说 >= Win 98,而不需要像 dotnet 这样的预安装框架。我认为 C 语言会是一个好主意。
程序应该使用系统命令从父目录启动一个进程。
启动C程序(不可见)>程序启动进程>程序退出
看起来是这样的:
#include <stdio.h>
#include <stdlib.h>
int main() {
system("..\\someprogram.exe");
return 0;
}
我从 Flash 投影仪调用这个程序,它只允许在特定的子文件夹“fscommand”中启动程序 - 但我必须启动与投影仪位于同一目录中的进程。
无论如何,它工作正常!但是 C 程序会打开一个命令框,然后启动进程并在进程运行时让命令框保持打开状态。所以这里是它应该如何工作,为了我会如何欣赏它:
- 根本不打开命令框(我很喜欢,真的;)
- 3) 和 4)
- 启动进程后关闭命令框(退出C程序)
- 默认打开最小化的命令框
我无法更改 C 可执行文件的任何 Windows 设置或使用快捷方式,因为稍后将直接从 CD 运行。
我使用 Open Watcom 编译我的程序。生成可执行文件(字符模式可执行文件/窗口可执行文件)的两种图像类型(目标选项)具有相同的结果。
【问题讨论】:
-
你看到了吗? stackoverflow.com/questions/411247/…批处理文件应该可以解决问题。
-
不幸的是,出于安全原因,Flash 不允许调用带有参数的可执行文件。只有不带参数的 exe 和 bat 调用是可能的。 (这是 Adobe 有史以来最伟大的想法之一。)我有一个很好的解决方案,使用批处理文件而不是 C 程序。这在手动启动蝙蝠时有效。但是当从 Flash 调用它时,它只是没有启动该过程。 -.-
标签: c process command-prompt