Я использую Awesomium WebControl на форме в C#, и я пытаюсь передать информацию в браузер, что USB-устройство было подключено, у меня есть USB но по какой-то причине я не могу построить JSObject()
со значениями на каждое устройство, подключенное к нему.как работает Awesomium JSObject, я не могу найти пример
Вот код, который срабатывает, когда устройство подключено к компьютеру
JSObject js_obj;
DriveInfo[] allDrives = DriveInfo.GetDrives();
JSValue[] js_arr = new JSValue[allDrives.Count()];
int count = 0;
foreach (DriveInfo drive in allDrives)
{
if (drive.IsReady == true)
{
if (drive.DriveType == DriveType.Removable)
{
js_obj = new JSObject();
js_obj["Id"] = new JSValue("");
js_obj["TimeAdded"] = new JSValue("");
js_obj["DriveLetters"] = new JSValue(drive.VolumeLabel);
js_obj["Port"] = new JSValue("");
js_arr[count] = new JSValue(js_obj);
count++;
}
}
}
this.Browser.CallJavascriptFunction("DiskDetector", "DeviceAdded", js_arr);
Но когда я добавить точку останова в this.Browser.CallJavascriptFunction("DiskDetector", "DeviceAdded", js_arr);
js_arr представляет собой массив из 4 с тем, где все значения равны нулю
Я думаю, что проблема в том, что я использую JSObject и значения параметра JSObject Extends IDisposable, и я, хотя я должен был бы все добавить («ключ», «значение»); но метод для меня не используется
Положите точку останова на 'js_arr [count] = new JSValue (js_obj);', чтобы увидеть, вызвана ли она когда-либо. –
спасибо, черт возьми, я пропустил тот, над которым я работал над этим около 5 часов сегодня, и вчера хороший 8, и даже не думал, что он не входит в цикл, поэтому окна делают что-то неправильно в WMI, а затем –
@ M.Babcock Пожалуйста, заполните и ответьте, что проблема связана с WMI, USB-устройство не всегда приходит, хотя aa Removable Device может появиться, но как исправлено, и я буду использовать его, как бы объект еще не работал в JS, он создает он, но ключи не установлены в JS –