小编hss*_*son的帖子

C#使用FTP上传整个目录

我想要做的是在C#(C Sharp)中使用FTP上传网站.所以我需要上传文件夹中的所有文件和文件夹,保持其结构.我正在使用这个FTP类:http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class用于实际上传.

我得出结论,我需要编写一个递归方法,遍历主目录的每个子目录并上传其中的所有文件和文件夹.这应该将我的文件夹的精确副本复制到FTP.问题是......我不知道怎么写这样的方法.我以前写过递归方法,但我是FTP部分的新手.

这是我到目前为止:

private void recursiveDirectory(string directoryPath)
    {
        string[] filePaths = null;
        string[] subDirectories = null;

        filePaths = Directory.GetFiles(directoryPath, "*.*");
        subDirectories = Directory.GetDirectories(directoryPath);

        if (filePaths != null && subDirectories != null)
        {
            foreach (string directory in subDirectories)
            {
                ftpClient.createDirectory(directory);
            }
            foreach (string file in filePaths)
            {
                ftpClient.upload(Path.GetDirectoryName(directoryPath), file);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

但它远未完成,我不知道如何继续.我确定比我更需要知道这一点!提前致谢 :)

哦,如果它报告它的进展也会很好:)(我正在使用进度条)

编辑:可能不清楚...如何使用FTP上传包含所有子目录和文件的目录?

c# directory ftp recursion upload

9
推荐指数
1
解决办法
2万
查看次数

在C#中获取Windows电源计划/方案(使用WinAPI)

我有兴趣使用C#获取计算机中的所有电源计划.

我以为你可能会以某种方式使用API PowerEnumerate函数:

DWORD WINAPI PowerEnumerate(
  _In_opt_   HKEY RootPowerKey,
  _In_opt_   const GUID *SchemeGuid,
  _In_opt_   const GUID *SubGroupOfPowerSettingsGuid,
  _In_       POWER_DATA_ACCESSOR AccessFlags,
  _In_       ULONG Index,
  _Out_opt_  UCHAR *Buffer,
  _Inout_    DWORD *BufferSize
);
Run Code Online (Sandbox Code Playgroud)

但是我不知道怎么样,因为我真的不知道C.所以..我怎么样,列举所有可用的电力计划并创建一个列表.然后,我希望能够访问每个电源计划GUID及其"用户友好名称".

那么..也许如果有人擅长使用C#的WinAPI想要提供帮助,那就太棒了 - 或者如果有人有更好的解决方案.我真的试图找到一个很好的答案,但似乎没有.我认为这会对很多人有所帮助.

有人能帮忙吗?

c# c++ windows power-management

5
推荐指数
1
解决办法
1543
查看次数

为什么 GetComputerNameEx 返回一个带有奇怪编码的字符串?

我正在尝试创建一个返回计算机名称的函数。这是我到目前为止:

char* getName()
{
    char buffer[MAX_COMPUTERNAME_LENGTH + 1];
    DWORD length = sizeof(buffer);

    GetComputerNameEx((COMPUTER_NAME_FORMAT)0, buffer, &length);

    return buffer;
}
Run Code Online (Sandbox Code Playgroud)

但它并没有真正起作用。似乎它返回一个带有非常奇怪的字符编码的字符串。我将不胜感激所有帮助。

c++ winapi

0
推荐指数
1
解决办法
2987
查看次数

标签 统计

c# ×2

c++ ×2

directory ×1

ftp ×1

power-management ×1

recursion ×1

upload ×1

winapi ×1

windows ×1