OLE Automation и VC++
Недавно начал изучать автоматизацию и сразу же возникли такие траблы:
Есть объект(COM_1) , в котором определен класс (_My_Class), производный от CDialog, класс реализует интерфейс, который имеет метод SHOW_WND (метод перебирает все открытые окна) на дилоговом окне есть ListBox(Process_List), в который хотелось бы выводить эти окна. Но при вызове метода SHOW_WND из клиентского приложения оно вываливается с сообщением Debug Assertion Failed!!Каким образом запихивать свои данные в список???
Код метода:
void C_My_Class::SHOW_WND(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
HWND TopWnd=NULL,LastWnd=NULL;
TopWnd=::GetWindow(::GetForegroundWindow(),GW_HWNDFIRST);
LastWnd=::GetWindow(::GetForegroundWindow(),GW_HWNDLAST);
char buf[256];
int count=0;
while(TopWnd!=LastWnd)
{
::GetWindowText(TopWnd,buf,256);
this->Process_List.AddString(buf);
TopWnd=::GetWindow(TopWnd,GW_HWNDNEXT);
}
this->Process_List.UpdateData(FALSE);
this->DoModal();
// TODO: Add your dispatch handler code here
}
:???: :???: