C# のフォームで Awesomium WebControl を使用しており、USB デバイスが接続されているという情報をブラウザーに渡そうとしてい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 にブレークポイントを追加すると、すべての値が null の 4 つの配列になります
問題は、JSObject と設定値 JSObject Extends IDisposable の使用にあると思いますが、すべて Add("key", "Value"); にする必要があります。しかし、私が使用する方法はありません