namespace nlite{
static const LPCTSTR ADDMYLIST_URL = TEXT("MSHTML:<HTML><BODY><SCRIPT TYPE=\"text/javascript\">window.open('http://www.nicovideo.jp/mylist_add/video/{1}', 'nicomylistadd', 'width=500,height=360');</SCRIPT></BODY></HTML>");
-
-
+ static const LPCTSTR ADDMYLISTAPI_URL = TEXT("http://www.nicovideo.jp/mylist_add/video/{1}");
+ /*
VOID WINAPI CAddToMyListWindow::OnDocumentComplete(IDispatch* pDisp, VARIANT* URL){
CComPtr<IDispatch> idp;
return (BOOL)SendMessage(WM_FORWARDMSG, 0, (LPARAM)pMsg);
}
+ VOID WINAPI CAddToMyListWindow::OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel){
+
+ dumpln(TEXT("veforeNavigate"));
+
+ return;
+ }
+
VOID CAddToMyListWindow::ShowAddWindow(CNicoVideoAuth &refAuth,LPCTSTR lvNo){
liveNo = ADDMYLIST_URL;
SetMsgHandled(false);
}
+ */
+
+ VOID WINAPI CAddToMyListWindow::OnDocumentComplete(IDispatch* pDisp, VARIANT* URL){
+ /*
+ CComPtr<IDispatch> idp;
+ this->m_pWB2->get_Document(&idp);
+// this->m_pDoc2 = idp;
+*/
+ return;
+ }
+
+ VOID WINAPI CAddToMyListWindow::OnNewWindow2(LPDISPATCH* ppDisp,BOOL* Cancel ){
+
+ dumpln(TEXT("newwindow"));
+ return;
+ }
+
+ BOOL CAddToMyListWindow::PreTranslateMessage(MSG* pMsg){
+ if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) &&
+ (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST))
+ return FALSE;
+
+ return (BOOL)SendMessage(WM_FORWARDMSG, 0, (LPARAM)pMsg);
+ }
+
+ VOID WINAPI CAddToMyListWindow::OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel){
+
+
+ dumpln(TEXT("veforeNavigate"));
+
+ return;
+ }
+
+
+ VOID CAddToMyListWindow::ShowAddWindow(CNicoVideoAuth &refAuth,LPCTSTR lvNo){
+
+ this->CenterWindow();
+ this->ShowWindow(SW_SHOW);
+ liveNo = ADDMYLISTAPI_URL;
+ liveNo.Replace(TEXT("{1}"), lvNo);
+
+ if(m_pWB2){
+ VARIANT v;
+
+ m_pWB2->Navigate(CComBSTR(liveNo),&v,&v,&v,&v);
+
+ /*
+ // Creates a new one-dimensional array
+ SAFEARRAY *psaStrings = SafeArrayCreateVector(VT_VARIANT, 0, 1);
+ if (psaStrings == NULL) {
+ goto cleanup;
+ }
+ VARIANT *param;
+ HRESULT hr = SafeArrayAccessData(psaStrings, (LPVOID*)¶m);
+ param->vt = VT_BSTR;
+ param->bstrVal = CComBSTR(liveNo);
+ hr = SafeArrayUnaccessData(psaStrings);
+ m_pDoc2->write(psaStrings);
+ */
+cleanup:;
+
+ //CComPtr<IUnknown> iup;
+ //HRESULT rslt = this->CreateControlEx(liveNo,(IStream*)NULL,(IUnknown**)NULL,&iup,GUID_NULL,(IUnknown*)NULL);
+ //CComPtr<IDispatch> idp = (IDispatch*)&iup;
+ //iup->QueryInterface(DIID_DWebBrowserEvents2,(LPVOID*)&idp);
+
+
+ }
+ }
+
+
+ INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
+ LRESULT lRet = DefWindowProc();
+
+ HRESULT hRet = QueryControl(&m_pWB2);
+ if(SUCCEEDED(hRet)){
+ DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
+ }
+ /*
+ VARIANT v;
+ //m_pWB2->Navigate(TEXT("url"),&v,&v,&v,&v);
+ m_pWB2->Navigate(TEXT("about:brank"),&v,&v,&v,&v);
+ */
+ return lRet;
+ }
+
+
+ VOID CAddToMyListWindow::OnDestroy(){
+
+
+
+ if(m_pWB2){
+ if(DispEventUnadvise(m_pWB2, &DIID_DWebBrowserEvents2) == S_OK){
+ m_pWB2 = NULL;
+ }
+ }
+
+ SetMsgHandled(false);
+ }
+ VOID CAddToMyListWindow::OnClose(){
+
+ this->ShowWindow(SW_HIDE);
+ }
}