C#:通过网关从PC连接到FTP的问题

时间:2013-11-12 13:45:58

标签: c# gateway

我正在创建一个Windows窗体程序,我可以在其中连接到FTP服务器以下载数据以向用户显示。我必须以用户也可以通过网关连接的方式制作应用程序。我创建了下一个通过网关登录的功能:

private Boolean addRoute(string ip, string gw)
{
    string arg = String.Format("ADD {0} MASK 255.255.255.255 {1}", ip, gw);
    return startProcess("route.exe", arg, 10000, true);
}

private Boolean startProcess(String fileName, String arguments, int timeout, bool admin)
{
    try
    {
        Process process = new Process();

        process.StartInfo.FileName = fileName;
        if (System.Environment.OSVersion.Version.Major >= 6)
        {
            //if (admin) { process.StartInfo.UserName = "admin"; }
            //process.StartInfo.UserName = "admin";
        }
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.Arguments = arguments;
        process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.Start();

        if (timeout > 0)
        {
           if (process.WaitForExit(timeout))
           {
                return true;
           }
           else
           {
               return false;
           }
        }
        else
        {
           process.WaitForExit();
           return true;
        }
    }
    catch (Exception e)
    {
        Global.LogMessageToFile(e.Message);
        return false;
    }
}

此代码适用于我的电脑,但是当我在其他电脑上使用Windows 7进行测试时,它不再适用。

我认为UAC权限存在问题所以我的解决方案适用于链接Selectively disabling UAC for specific programs on Windows Programatically的第二个答案,但似乎不是问题。

关于如何使用我的程序代码完成此操作,您还有其他想法吗?

修改 我被封锁发表评论,所以我会回答我没有例外,我需要的是通过网关连接到较低级别,从一个网络到另一个网络。这就是我采用这种解决方案的原因。

0 个答案:

没有答案