我有一個activex控件,該控件使用C#表單應用程序顯示在Windows Mobile設備上的webbrowser控件中。當指定的註冊表值更改爲用作Windows Mobile ActiveX控件時,如何在ATL ActiveX控件中獲取事件通知
該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++應用程序:(
我怎樣才能讓在註冊表值改變我的ATL ActiveX控件響應。 (我不想使用輪詢)
這是更多鈔票?
感謝至少閱讀這...長,我知道...
OK我想我找到這將有效...我會跟進我的調查結果,以防萬一你(陌生人)有興趣看到這個鏈接http://geekswithblogs.net/BruceEitman/archive/2009/08/25/windows-ce-cereggetnotificationinfo-作品 - 排序的部分,3.aspx – WiredLessInTX