我需要打开test.mdb文件。 该路径必须是相对于C#program exe
从其所在目录构建的完整路径我需要传递Arguments行,批处理就像这样/ cmd" MyArgument" 要使/ cmd开关工作,路径必须包含已安装的MSACCESS.EXE的完整路径
我无法解决如何将完整路径传递给MSACCESS> EXE,然后将完整路径传递给test.mdb,后跟参数。
试图帮助我发布以下批量字符串,但我需要C#
" C:\ Program Files \ Microsoft Office \ Office10 \ MSACCESS.EXE" " C:\ Documents and Settings \ User \ Test Examples Folder \ test.mdb" / cmd" MyArgument"
明确两点:
test.mdb完整路径必须由启动C#exe自动确定,它将是C#exes路径,但是使用test.mdb。
如果C#exe程序可以自动检查哪个版本(例如Office 10,Office 12等)并使用它,那么MSACCESS> EXE路径必须是已安装的MSACCESS.EXE版本的完整路径。
到目前为止,这是我的代码:
var filePath = @"test.mdb";
Process process = new Process();
process.StartInfo.FileName = filePath;
process.StartInfo.Arguments = "/cmd " + "\"MyArgument\"";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
答案 0 :(得分:2)
我认为你不必担心检测办公室版本,这应该适合你:
string filepath = '"' + Directory.GetCurrentDirectory() + "\\test.mdb" + '"';
string acc_cmd_arg = "HELLO";
using (System.Diagnostics.Process process = new System.Diagnostics.Process() ) {
process.StartInfo.FileName = "msaccess.exe";
process.StartInfo.Arguments = filepath + " /cmd " + acc_cmd_arg;
process.Start();
}