From: qwerty2501 Date: Fri, 24 Feb 2012 19:25:30 +0000 (+0900) Subject: 規定のブラウザ名取得処理実装 X-Git-Tag: v0.100~8 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c764e897eeaad0819c894da144ef2c94c296674c;p=nlite%2Fnlite.git 規定のブラウザ名取得処理実装 --- diff --git a/include/qwerty/windebuger.h b/include/qwerty/windebuger.h index 173452f..6f35407 100644 --- a/include/qwerty/windebuger.h +++ b/include/qwerty/windebuger.h @@ -502,7 +502,7 @@ static VOID DebugOutputCommon(LPCWSTR szBuf,UINT mode,const struct tm* now); static VOID DebugOutW(LPCWSTR fileName,LPCWSTR functionName,UINT lineNo,UINT mode,UINT infoFlag,LPCWSTR pszFormat, ...); //ƒ}ƒ‹ƒ`ƒoƒCƒg•¶Žš—pƒfƒoƒbƒOŠÖ” -static VOID DebugOutMB(UINT codePage,LPSTR fileName,LPSTR functionName,UINT lineNo,UINT mode,UINT infoFlag,LPSTR pszFormat, ...); +static VOID DebugOutMB(UINT codePage,LPSTR fileName,LPSTR functionName,UINT lineNo,UINT mode,UINT infoFlag,LPCSTR pszFormat, ...); diff --git a/nlite.suo b/nlite.suo index bc22af6..6f5dc72 100644 Binary files a/nlite.suo and b/nlite.suo differ diff --git a/nlite/Resource.h b/nlite/Resource.h index acb6bac..c62b4ff 100644 --- a/nlite/Resource.h +++ b/nlite/Resource.h @@ -16,6 +16,7 @@ #define IDC_COMMENT_SPEAK_CHECKBOX 1001 #define IDC_LT_BACKCOLOR_STATIC 1001 #define IDC_ZORDER_TOP_CHECKBOX 1001 +#define IDC_DEFAULT_BT_RADIO 1002 #define IDC_USERID_STATIC 1002 #define IDC_NICKNAME_EDIT 1003 #define IDC_LT_NICKNAME_STATIC 1004 diff --git a/nlite/nlite.rc b/nlite/nlite.rc index b50588c..e156f1c 100644 --- a/nlite/nlite.rc +++ b/nlite/nlite.rc @@ -63,7 +63,7 @@ IDC_NLITE MENU // Dialog resources // LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -IDD_DIALOG_BROWSERTYPE DIALOG 0, 0, 193, 159 +IDD_DIALOG_BROWSERTYPE DIALOG 0, 0, 193, 174 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU CAPTION "ƒNƒbƒL[‚̐ݒè" FONT 8, "Ms Shell Dlg" @@ -72,11 +72,12 @@ FONT 8, "Ms Shell Dlg" AUTORADIOBUTTON "FireFox", IDC_RADIO_FIREFOX, 61, 45, 39, 8 AUTORADIOBUTTON "GoogleChrome", IDC_RADIO_CHROME, 61, 61, 62, 8 AUTORADIOBUTTON "IEƒRƒ“ƒ|[ƒlƒ“ƒg", IDC_RADIO_IECM, 60, 77, 61, 8 - PUSHBUTTON "OK", IDC_BUTTON_COOKIE_OK, 40, 136, 38, 14 - PUSHBUTTON "ƒLƒƒƒ“ƒZƒ‹", IDCANCEL, 105, 137, 33, 14 + PUSHBUTTON "OK", IDC_BUTTON_COOKIE_OK, 40, 151, 38, 14 + PUSHBUTTON "ƒLƒƒƒ“ƒZƒ‹", IDCANCEL, 105, 152, 33, 14 LTEXT "•’iŽg—p‚µ‚Ä‚¢‚éƒuƒ‰ƒEƒU‚ðŽw’肵‚Ä‚­‚¾‚³‚¢", IDC_STATIC, 21, 6, 82, 22, SS_LEFT AUTORADIOBUTTON "Safari", IDC_RADIO_SAFARI, 60, 94, 33, 8 AUTORADIOBUTTON "Opera", IDC_RADIO_OPERA, 60, 111, 35, 8 + AUTORADIOBUTTON "‹K’è‚̃uƒ‰ƒEƒU", IDC_DEFAULT_BT_RADIO, 59, 130, 59, 8 } diff --git a/nlite/nlite_propertyWindow.cpp b/nlite/nlite_propertyWindow.cpp index bf58a49..ad46f74 100644 --- a/nlite/nlite_propertyWindow.cpp +++ b/nlite/nlite_propertyWindow.cpp @@ -48,6 +48,10 @@ BOOL CCookieSettingWindow::OnInitDialog(CWindow wndFocus, LPARAM lInitParam){ break; + case BT_DEFAULT: + + radio = GetDlgItem(IDC_DEFAULT_BT_RADIO); + default: goto skip; } @@ -65,6 +69,7 @@ VOID CCookieSettingWindow::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){ CButton iecmRadio = GetDlgItem(IDC_RADIO_IECM); CButton safariRadio = GetDlgItem(IDC_RADIO_SAFARI); CButton operaRadio = GetDlgItem(IDC_RADIO_OPERA); + CButton defaultRadio = GetDlgItem(IDC_DEFAULT_BT_RADIO); if(ieRadio.GetCheck() == BST_CHECKED){ @@ -89,7 +94,10 @@ VOID CCookieSettingWindow::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){ } else if(operaRadio.GetCheck() == BST_CHECKED){ this->browserType = BT_OPERA; - + } else if(defaultRadio.GetCheck() == BST_CHECKED){ + + this->browserType = BT_DEFAULT; + }else { this->browserType = BT_NOSETTING; diff --git a/shareCookie/browserType.h b/shareCookie/browserType.h index 76158f2..61401f6 100644 --- a/shareCookie/browserType.h +++ b/shareCookie/browserType.h @@ -31,4 +31,10 @@ typedef UINT_PTR BROWSERTYPE; #define BT_SAFARI ((BROWSERTYPE)5) ///IEƒRƒ“ƒ|[ƒlƒ“ƒg -#define BT_IE_COMPONENT ((BROWSERTYPE)6) \ No newline at end of file +#define BT_IE_COMPONENT ((BROWSERTYPE)6) + + + + +///‹K’è‚̃uƒ‰ƒEƒU +#define BT_DEFAULT ((BROWSERTYPE)65535) \ No newline at end of file diff --git a/shareCookie/shareCookie.c b/shareCookie/shareCookie.c index 988750e..2a77b4d 100644 --- a/shareCookie/shareCookie.c +++ b/shareCookie/shareCookie.c @@ -1,7 +1,8 @@ #include "shareCookie.h" #define WINDEBUGER_NOPRINTING - +#define _CRT_SECURE_NO_WARNINGS 1 //vc++‚Ì‚¨‚¹‚Á‚©‚¢‚ÈŒx‚ðÁ‚· +#define _CRT_NON_CONFORMING_SWPRINTFS 1 //vc++‚Ì‚¨‚¹‚Á‚©‚¢‚ÈŒx‚ðÁ‚· #include #include #include @@ -37,6 +38,11 @@ static INLINE VOID cookieStepExec(sqlite3_stmt *stmt,LPWSTR cooki,SIZE_T bufSize /// +///‹K’è‚̃uƒ‰ƒEƒUƒ^ƒCƒv‚ðŽæ“¾ +/// +static BROWSERTYPE getDefaultBrowserType(); + +/// ///Ž©—͂ʼnðÍ‚·ê‡‚Ì‹¤’ʏˆ— /// static INLINE COOKIE_RESULT SelfParseCookie(LPCWSTR cookieFilePath,LPWSTR cookie,SIZE_T bufSize,LPCWSTR key,LPCWSTR domein,SelfParseCookieCallBack callBack); @@ -233,6 +239,11 @@ COOKIE_RESULT GetCookie(BROWSERTYPE browserType,LPWSTR cookie,SIZE_T bufSize, LP return GetCookieInternetExplorer(cookie,bufSize,key,domein,FALSE); + //‹K’è‚̃uƒ‰ƒEƒU + + case BT_DEFAULT: + + return GetCookie(getDefaultBrowserType(),cookie,bufSize,key,domein); //ƒuƒ‰ƒEƒUƒ^ƒCƒv‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢ê‡ case BT_NOSETTING: @@ -658,7 +669,6 @@ static INLINE COOKIE_RESULT GetCookieOpera(LPCSTR targetString,LPCSTR targetEndP CHAR mb_domein[_MAX_PATH]; LPCSTR cookiePointer; LPCSTR keyPointer; - SIZE_T mb_keyLen; if(ARRAY_LENGTH(mb_key) < GetLenToMB(CP_THREAD_ACP,key)){ @@ -931,4 +941,29 @@ end: fileopenerr: result = COOKIE_ERR_OPEN_FAILED; goto end; +} + + +BROWSERTYPE getDefaultBrowserType(){ + + BROWSERTYPE rslt = BT_NOSETTING; + WCHAR currentUserSID[_MAX_PATH]; + DWORD cName = ARRAY_LENGTH(currentUserSID); + FILETIME fileTime; + HKEY hKey; + //ƒŒƒWƒXƒgƒŠƒL[‚ð“Ç‚ÝŽæ‚èê—p‚ŃI[ƒvƒ“ + if(RegOpenKeyEx(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\https\\UserChoice",0,KEY_READ,&hKey) != ERROR_SUCCESS){ + return COOKIE_ERR_INTERNETOPTION_NOTOPEN; + } + + + + + + RegQueryValueEx(hKey,TEXT("Progid"),(LPDWORD)NULL,(LPDWORD)NULL,(LPBYTE)¤tUserSID,&cName); + //HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System Provider\ + + + RegCloseKey(hKey); + return rslt; } \ No newline at end of file