I wish to add the item 'Website' to an MFC Dialog app System Menu so that it can activate the following method:
I have tried this:Code:void CMyDlg::OnWebpage() { ShellExecute( NULL, NULL, _T("http://www.codeguru.com"), NULL, NULL, 0 ); }// OnWebpage()
The code compiles without error but and the 'website' item appears on the System Menu but it doesnt do anything.Code:#define IDM_WEBSITE (WM_USER + 101) //.. if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); pSysMenu->AppendMenuW(MF_STRING, IDM_WEBSITE, _T("Website")); } //.. void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else if ((nID & 0xFFF0) == IDM_WEBSITE) { OnWebpage(); } else { CDialogEx::OnSysCommand(nID, lParam); } }
I've inspected the following but don't really understand how it works and it seems to me there should be a simpler way to accomplish my end.
Modifying the System Menu By John Simmons 26 Jan 2007
http://www.codeproject.com/Articles/...he-System-Menu
Any help appreciated.




Reply With Quote