none
Visual Studio 2012 RRS feed

  • Вопрос

  • Доброго времени суток!

    Возникла такая проблема - при запуске скрипта в VS2012 возникает ошибка: 

    "WWAHost.exe" (Скрипт). Загружено "Код скрипта (MSAppHost/1.0)". 
    Необработанное исключение в строке 14, столбце 5 в ms-appx://7ed08f70-c821-42cd-b6f6-2fa148782a91/js/default.js
    0x800a01ad - Ошибка выполнения JavaScript: Невозможно создание объекта сервером программирования объектов
    Программа "[1472] WWAHost.exe" завершилась с кодом 0 (0x0). 

    Код абсолютно рабочий так как писался в предыдущей версии vs -  где успешно работал. 

    вот сам скрипт:

    <script>
    //alert(document.getElementById("dpi").offsetHeight)

    //var t = document.getElementById("CPU_data").style.lineHeight;
    //alert(t);

    var locator = new ActiveXObject("WbemScripting.SWbemLocator");
    var wmiService = locator.ConnectServer(null, "root\\cimv2");
    var CoresUsage = new Array;
    var CoresUsageold = new Array;
    var Timestamp = new Array;
    var Timestampold = new Array;

    function GetCoresUsagefirst(){
     var CPUcounters = wmiService.ExecQuery("SELECT * from Win32_PerfRawData_PerfOS_Processor");
      for (var i=0; i<CPUcounters.Count; i++){
       if (CPUcounters.ItemIndex(i).Name.indexOf("_Total") != -1) continue;
       CoresUsageold[i] = CPUcounters.ItemIndex(i).PercentProcessorTime;
       Timestampold[i] = CPUcounters.ItemIndex(i).Timestamp_Sys100NS;
      }
     setTimeout("GetCoresUsage()",1000)
    }

    function GetCoresUsage(){
     var CPUcounters = wmiService.ExecQuery("SELECT * from Win32_PerfRawData_PerfOS_Processor");
     var total = 0;
     var ss = "";
      for (var i=0; i<CPUcounters.Count; i++){
       if (CPUcounters.ItemIndex(i).Name.indexOf("_Total") != -1) continue;
       CoresUsage[i] = CPUcounters.ItemIndex(i).PercentProcessorTime;
       Timestamp[i]  = CPUcounters.ItemIndex(i).Timestamp_Sys100NS;
       var currentcoreusage = parseInt((1 - (CoresUsage[i] - CoresUsageold[i])/(Timestamp[i] - Timestampold[i])) * 100);
       if (currentcoreusage < 0) currentcoreusage = 0;
       ss += "Core" + i + ": " + currentcoreusage + "%<br>";
       total += currentcoreusage;
       CoresUsageold[i] = CoresUsage[i];
       Timestampold[i] = Timestamp[i];
      }
     CPU_data.innerHTML = ss + "Total: " + Math.round(total / (CPUcounters.Count-1)) + "%";
     setTimeout("GetCoresUsage()",1000)
    }
    GetCoresUsagefirst();
    </script>

    Есть подозрение, что надо включить отладку непроверенных скриптов, но данной функции никак не могу отыскать в VS12.

    Если кто-то направит на верное решение буду весьма благодарен. 

    Заранее спасибо!

    14 ноября 2012 г. 19:14