繁体   English   中英

Windows 7:MFC ActiveX控件不会在任何文件夹中创建文件

[英]Windows 7: MFC ActiveX control does not create files in any folder

我已经开发了用于Internet Explorer的MFC ActiveX控件。 该控件在硬盘驱动器上创建文件。 我已经在Windows 7(32位)上安装了控件。 如果我以管理员身份运行IE,则控件会按预期创建文件。 但是,如果我以打开UAC的普通用户身份运行IE,则控件不会创建任何文件。

下面是创建文件的代码:

int WriteDataToFile()
{
    CString Data;
    int DataLength;
    CString FilePath;
    std::ofstream File;

    // Set Data, DataLength and FilePath

    try
    {
        File.open(FilePath, std::ios::binary | std::ios::out);

        if (TRUE == File.fail())
        {
            return ERROR;
        }

        File.write((const char *)Data.GetBuffer(), DataLength);

        if (TRUE == File.bad())
        {
            File.close();

            return ERROR;
        }

        File.close();
    }
    catch (...)
    {
        return ERROR;
    }

    return SUCCESS;
}

如果程序以管理员或普通用户身份运行,则该函数返回SUCCESS 为什么程序不为普通用户创建文件?

非常感谢您提供的任何帮助。

您的程序将文件写入哪个文件夹? 文件夹(例如系统驱动程序中的“程序文件”)受Windows7保护,不允许为普通用户创建新文件。

也许您应该将文件写入不受Windows7保护的某些文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM