OSDN Git Service

規定のブラウザ名取得処理実装
authorqwerty2501 <riot313@gmail.com>
Fri, 24 Feb 2012 19:25:30 +0000 (04:25 +0900)
committerqwerty2501 <riot313@gmail.com>
Fri, 24 Feb 2012 19:25:30 +0000 (04:25 +0900)
include/qwerty/windebuger.h
nlite.suo
nlite/Resource.h
nlite/nlite.rc
nlite/nlite_propertyWindow.cpp
shareCookie/browserType.h
shareCookie/shareCookie.c

index 173452f..6f35407 100644 (file)
@@ -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, ...);
 
 //\83}\83\8b\83`\83o\83C\83g\95\8e\9a\97p\83f\83o\83b\83O\8aÖ\90\94
-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, ...);
 
 
 
index bc22af6..6f5dc72 100644 (file)
Binary files a/nlite.suo and b/nlite.suo differ
index acb6bac..c62b4ff 100644 (file)
@@ -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
index b50588c..e156f1c 100644 (file)
@@ -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 "\83N\83b\83L\81[\82Ì\90Ý\92è"
 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\83R\83\93\83|\81[\83l\83\93\83g", IDC_RADIO_IECM, 60, 77, 61, 8
-    PUSHBUTTON      "OK", IDC_BUTTON_COOKIE_OK, 40, 136, 38, 14
-    PUSHBUTTON      "\83L\83\83\83\93\83Z\83\8b", IDCANCEL, 105, 137, 33, 14
+    PUSHBUTTON      "OK", IDC_BUTTON_COOKIE_OK, 40, 151, 38, 14
+    PUSHBUTTON      "\83L\83\83\83\93\83Z\83\8b", IDCANCEL, 105, 152, 33, 14
     LTEXT           "\95\81\92i\8eg\97p\82µ\82Ä\82¢\82é\83u\83\89\83E\83U\82ð\8ew\92è\82µ\82Ä\82­\82¾\82³\82¢", 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 "\8bK\92è\82Ì\83u\83\89\83E\83U", IDC_DEFAULT_BT_RADIO, 59, 130, 59, 8
 }
 
 
index bf58a49..ad46f74 100644 (file)
@@ -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;
index 76158f2..61401f6 100644 (file)
@@ -31,4 +31,10 @@ typedef UINT_PTR                     BROWSERTYPE;
 #define BT_SAFARI                                                      ((BROWSERTYPE)5)
 
 ///IE\83R\83\93\83|\81[\83l\83\93\83g
-#define BT_IE_COMPONENT                                                ((BROWSERTYPE)6)
\ No newline at end of file
+#define BT_IE_COMPONENT                                                ((BROWSERTYPE)6)
+
+
+
+
+///\8bK\92è\82Ì\83u\83\89\83E\83U
+#define BT_DEFAULT                                                     ((BROWSERTYPE)65535)
\ No newline at end of file
index 988750e..2a77b4d 100644 (file)
@@ -1,7 +1,8 @@
 
 #include "shareCookie.h"
 #define WINDEBUGER_NOPRINTING
-
+#define _CRT_SECURE_NO_WARNINGS 1                      //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
+#define  _CRT_NON_CONFORMING_SWPRINTFS 1       //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
 #include <shlobj.h>
 #include <Wininet.h>
 #include <Iepmapi.h>
@@ -37,6 +38,11 @@ static INLINE VOID cookieStepExec(sqlite3_stmt *stmt,LPWSTR cooki,SIZE_T bufSize
 
 
 ///
+///\8bK\92è\82Ì\83u\83\89\83E\83U\83^\83C\83v\82ð\8eæ\93¾
+///
+static BROWSERTYPE getDefaultBrowserType();
+
+///
 ///\8e©\97Í\82Å\89ð\90Í\82·\8fê\8d\87\82Ì\8b¤\92Ê\8f\88\97\9d
 ///
 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);
 
+               //\8bK\92è\82Ì\83u\83\89\83E\83U
+
+       case BT_DEFAULT:
+
+               return GetCookie(getDefaultBrowserType(),cookie,bufSize,key,domein);
 
                //\83u\83\89\83E\83U\83^\83C\83v\82ª\90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢\8fê\8d\87
        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;
+       //\83\8c\83W\83X\83g\83\8a\83L\81[\82ð\93Ç\82Ý\8eæ\82è\90ê\97p\82Å\83I\81[\83v\83\93
+       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)&currentUserSID,&cName);
+       //HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System Provider\
+
+
+       RegCloseKey(hKey);
+       return rslt;
 }
\ No newline at end of file