对JS的限制本来就会比较大,不然浏览器下载执行js代码隐患很大。。

解决方案 »

  1.   

    昨天也碰到个权限问题,看看这个BOOL    NSys::EnablePrivilege(TCHAR * name, BOOL fEnable, HANDLE hToken)
    {
        BOOL                bRetVal;
        int                    nError;
        HANDLE                hNewToken = NULL;
        TOKEN_PRIVILEGES    priv = { 1, {0, 0, fEnable ? SE_PRIVILEGE_ENABLED : 0} };    LookupPrivilegeValue(0, name, &priv.Privileges[0].Luid);
        if(hToken == NULL)
            OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hNewToken);
        else
            hNewToken = hToken;    bRetVal = AdjustTokenPrivileges(hNewToken, FALSE, &priv, sizeof(priv), 0, 0);
        if(bRetVal == FALSE)
        {
            nError = ::GetLastError();
            if(hToken == NULL)    
                CloseHandle(hNewToken);        ::SetLastError(nError);
            return FALSE;
        }    if(hToken == NULL)    
            CloseHandle(hNewToken);
        return TRUE;
    }程序启动时调用上面的函数, EnablePrivilege(SE_DEBUG_NAME, True, NULL) 
      

  2.   

    Win7下用管理员身份运行,OK。
      

  3.   

    关键点1:
    在Windows7系统中,对于已装载的逻辑磁盘中的扇区,不允许以物理方式改写,只能以逻辑盘形式打开改写,例如该扇区属于X:盘,则打开\\.\X:来改写。早期的操作系统没有这个限制。
    关键点2:
    你用WriteFile()写的文件对象要是文件所在的卷,并且要先锁定。写完之后要解锁,不能影响下次使用。ReadFile()貌似没有这方面的要求。