文書番号: 402002
最終更新日: 2003/11/10
//mainfrm.h class CMainFrame : public CMDIFrameWnd { //省略 protected: afx_msg LRESULT OnDDEInitiate(WPARAM wParam, LPARAM lParam); } //mainfrm.cpp BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) //}}AFX_MSG_MAP ON_MESSAGE(WM_DDE_INITIATE, OnDDEInitiate) END_MESSAGE_MAP() LRESULT CMainFrame::OnDDEInitiate(WPARAM wParam, LPARAM lParam) { CWinApp* pApp = AfxGetApp(); if (LOWORD(lParam) != 0 && HIWORD(lParam) != 0 && (ATOM)LOWORD(lParam) == pApp->m_atomApp && (ATOM)HIWORD(lParam) == pApp->m_atomSystemTopic) { // 重複するアトムを作成 char szAtomName[_MAX_PATH]; VERIFY(GlobalGetAtomName(pApp->m_atomApp, szAtomName, sizeof szAtomName) != 0); VERIFY(GlobalAddAtom(szAtomName) == pApp->m_atomApp); VERIFY(GlobalGetAtomName(pApp->m_atomSystemTopic, szAtomName, sizeof szAtomName) != 0); VERIFY(GlobalAddAtom(szAtomName) == pApp->m_atomSystemTopic); // WM_DDE_ACK を送る(呼出側が重複したアトムを削除) ::SendMessage((HWND)wParam, WM_DDE_ACK, (WPARAM)m_hWnd, MAKELPARAM(pApp->m_atomApp, pApp->m_atomSystemTopic)); } return 0L; }
Keywords: KBBUG VC10 VC15 KB402002
Technology: kbAudDeveloper kbVCsearch