옛날에 동아리 클럽에 썼던 글입니다.
============================================================================================
dll파일이 필요하다고 뜨면 여기에 쳐보세요. 거의 다 나옴,,, 받아서 압축풀고 readme 는 상콤히 지워주고 system32에 넣으면 됨. 주요 클래스 class CURL { private: // The default browser CString m_strBrowser; public: void Open(LPCTSTR lpszURL, bool bNewWindow = true) { if (bNewWindow) ::ShellExecute(NULL, NULL, GetBrowser(), lpszURL, NULL, SW_SHOWNORMAL); else ::ShellExecute(NULL, NULL, lpszURL, NULL, NULL, SW_SHOWNORMAL); } LPCTSTR GetBrowser(void) { // Do we have the default browser yet? if (m_strBrowser.IsEmpty()) { // Get the default browser from HKCRhttpshellopencommand HKEY hKey = NULL; // Open the registry if (::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("http\shell\open\command"), 0, KEY_READ, &hKey) == ERROR_SUCCESS) { // Data size DWORD cbData = 0; // Get the default value if (::RegQueryValueEx(hKey, NULL, NULL, NULL, NULL, &cbData) == ERROR_SUCCESS && cbData > 0) { // Allocate a suitable buffer TCHAR* psz = new TCHAR [cbData]; // Success? if (psz != NULL) { if (::RegQueryValueEx(hKey, NULL, NULL, NULL, (LPBYTE)psz, &cbData) == ERROR_SUCCESS) { // Success! m_strBrowser = psz; } delete [] psz; } } ::RegCloseKey(hKey); } // Do we have the browser? if (m_strBrowser.GetLength() > 0) { // Strip the full path from the string int nStart = m_strBrowser.Find('"'); int nEnd = m_strBrowser.ReverseFind('"'); // Do we have either quote? // If so, then the path contains spaces if (nStart >= 0 && nEnd >= 0) { // Are they the same? if (nStart != nEnd) { // Get the full path m_strBrowser = m_strBrowser.Mid(nStart + 1, nEnd - nStart - 1); } } else { // We may have a pathname with spaces but // no quotes (Netscape), e.g.: // C:PROGRAM FILESNETSCAPECOMMUNICATORPROGRAMNETSCAPE.EXE -h "%1" // Look for the last backslash int nIndex = m_strBrowser.ReverseFind('\'); // Success? if (nIndex > 0) { // Look for the next space after the final // backslash int nSpace = m_strBrowser.Find(' ', nIndex); // Do we have a space? if (nSpace > 0) m_strBrowser = m_strBrowser.Left(nSpace); } } } } // Done return m_strBrowser; } };