在 C# WPF 中嵌入 EXE 应用程序的方法有多种。一种方法是使用 Process 类并调用其 Start 方法来启动 EXE 应用程序,然后使用 WindowInteropHelper 类来将 EXE 应用程序窗口嵌入 WPF 窗口中。例如:
请注意,这只是一种可能的方法,并不一定适用于所有情况。如果您需要更详细的帮助,请提供更多信息,例如您的目标和限制。
容易。如果file1.txt file2.txt 是 yourexe.exe 的位置参数:
C++调用
system("yourexe.exe file1.txt file2.txt")
如果file1.txt file2.txt 是 通过 对话,从键盘打入:
(1)建一个文本文件,例如叫 my.in
my.in 的内容 有两行:
file1.txt
file2.txt
(2)C++调用
system("yourexe.exe <my.in")
my.in 代替了 键盘打入。
【1】定义头文件必须定义以下两个头文件:
#include <shlobj.h>// 可替换为 windows.h
#include <shellapi.h>
如果定义了头文件 #include <windows.h>的话就不必定义 #include <shlobj.h>了。
【2】定义路径
C++中所表示的路径要用 " // "而不是平常所用的" / ",所以以上三个函数表示路径都为:disk://Directory//...//File name
WinExec("D://Program Files//Test//Test.exe",SW_SHOWMAXIMIZED)
ShellExecute(NULL,"open","C://Test.txt",NULL,NULL,SW_SHOWNORMAL)
1、调用API: int system( const char *command )
你可以传入一命令,启动某个程序。如"ping www.vccode.com", "YourExe"等等
不过这里有几点要值得注意:
(1)、他不会立即返回,直到你启动的程序执行完成。
(2)、如果你启动是windows程序,它仍然会启动一个控制台,这就给人感觉太差劲了,但如果本身是控制台的,而且又需要等待它的完成,那这将是比较好的选择。
(3)、它的返回值代表是否执行成功以及程序的退出码。
(4)、不能运行*.txt文件或"www.baidu.com"
2、调用API:
UINT WinExec(
LPCSTR lpCmdLine, // command line
UINT uCmdShow // window style
)
这个API与API:system同样的使用简单,同用是使用命令行型式。
不过它与API:system相比,有几个优点:
(1)、它将启动了一个新进程,并且立即返回,因此你的程序无需等待。
(2)、它的多了一个参数:uCmdShow,通过它你可以一定程度上控件窗体的显示,比如让它后台运行而不显示出来。
(3)、它无论启动控制台程序还是windows程序都只做你想要做的事。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)