0

所以,我正在尝试记录对网络上共享文件的访问(我正在修改Abdollah Zawari 的 ShareMoniter),我通过像这样启动 openfiles.exe 来做到这一点:

        var process = new Process();
        process.StartInfo.FileName = "openfiles.exe";
        process.StartInfo.Arguments = "/query /FO CSV /v";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.RedirectStandardOutput = true;
        try
        {
            process.Start();
            if ((process.StandardOutput != null))
            {
                var result = process.StandardOutput.ReadToEnd().Trim().Replace("\"", "");
                var lines = result.Split('\n');...

我想将结果记录在 Access 数据库中,但 jet.Oledb.4.0 或 ace.oledb.12.0 仅在我将项目的目标平台设置为 x86 时才有效。

问题是,当我为 x86 运行项目时,openfiles.exe 不返回任何内容(openfiles.exe 开始和结束时没有明显错误,但返回了一个空字符串“”)

我是一个新手,特别是在这些领域,所以任何关于此事的建议将不胜感激

提前感谢

4

1 回答 1

0

您使用的 Oledb 版本不支持 64 位,您需要使用适用于 32 位和 64 位的较新版本。改用Microsoft Access Database Engine 2010来访问数据库,一切都会好起来的。

于 2013-07-30T23:38:32.527 回答