У меня есть элемент управления Activex, который отображается в элементе управления веб-браузера на устройстве Windows Mobile с помощью приложения форм C #.
Элемент управления Activex работает.Я хочу добавить функцию в элемент управления activex, когда в элементе управления activex возникает событие, когда значение реестра изменяет состояние.
Я реализовал ту же (но в обратном порядке) функциональность на стороне форм, используя RegistryState сследующий кодС этим кодом мое приложение .net формы получает уведомление при изменении значения реестра.Код форм приведен ниже.
private void TestContainer_Load(object sender, EventArgs e)
{
RegistryKey rk = Registry.LocalMachine.OpenSubKey("MyKey");
state = new RegistryState("HKEY_LOCAL_MACHINE\\MyKey", "MessageToHostForm");
state.Changed += new ChangeEventHandler(state_Changed);
}
void state_Changed(object sender, ChangeEventArgs args)
{
RegistryKey rk = Registry.LocalMachine.OpenSubKey("MyKey");
if (rk == null)
{
// No value available in the created/opened subkey
}
else
{
string strOut = (string)rk.GetValue("MessageToHostForm");
button3.Text = strOut;
rk.Close();
}
}
Я хотел бы создать такую же функциональность в элементе управления ActiveX, когда событие в элементе управления запускается при изменении значения реестра.
Проблема ... из того, что я могу сказать ... Registry.State недоступен в приложении ATL C ++: (
Как я могу заставить свой элемент управления ActiveX ATL реагировать на измененияв значениях реестра. (Я не хочу использовать опрос)
Это возможно?
Спасибо, что хотя бы прочитали это ... Давно я знаю ...