您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CComBSTR函数代码示例

51自学网 2021-06-01 19:57:52
  C++
这篇教程C++ CComBSTR函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CComBSTR函数的典型用法代码示例。如果您正苦于以下问题:C++ CComBSTR函数的具体用法?C++ CComBSTR怎么用?C++ CComBSTR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CComBSTR函数的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char* argv[]){	printf(" ***************************************/n");	printf("(c) 2008 Standard MPEG Encoder/n");	printf("Standard Mpeg Encoder & EncodeSample developed by/n");	printf("Mark Essien for Standard MPEG/n");	printf(" ***************************************/n/n");		CoInitialize(0);		// Lets' init graph1 and get it started. The file we are testing with is about 30 seconds long	// so requires about 10 seconds to encode	convert1.SetOutputFormat(SYSTEMSFORMAT_MPEG1, CONSTRAINT_NONE, VIDEOFORMAT_MPEG1, AUDIOFORMAT_MP2);	convert1.SetFiles(CComBSTR("Z://Projects//Standard MPEG//Test Files//test_in.mpg"), 					 CComBSTR("Z://Projects//Standard MPEG//Test Files//Output Files//test_out_1.mpg"));		if (FAILED(convert1.StartConversion()))	{		printf("Conversion failed/n");	}		// the graph will be started in a second thread	// wait for 2 seconds	Sleep(2000);	// Let's start a second graph	convert2.SetOutputFormat(SYSTEMSFORMAT_MPEG1, CONSTRAINT_NONE, VIDEOFORMAT_MPEG1, AUDIOFORMAT_MP2);	convert2.SetFiles(CComBSTR("Z://Projects//Standard MPEG//Test Files//test_in.mpg"), 					 CComBSTR("Z://Projects//Standard MPEG//Test Files//Output Files//test_out_2.mpg"));		if (FAILED(convert2.StartConversion()))	{		printf("Conversion failed/n");	}	// wait 5 seconds	Sleep(5000);	// Let's start a third graph	convert3.SetOutputFormat(SYSTEMSFORMAT_MPEG1, CONSTRAINT_NONE, VIDEOFORMAT_MPEG1, AUDIOFORMAT_MP2);	convert3.SetFiles(CComBSTR("Z://Projects//Standard MPEG//Test Files//test_in.mpg"), 					 CComBSTR("Z://Projects//Standard MPEG//Test Files//Output Files//test_out_3.mpg"));		if (FAILED(convert3.StartConversion()))	{		printf("Conversion failed/n");	}	// Now we wait for graph 1 to end	convert1.WaitForCompletion();	convert1.StopConversion();	// Now we wait for graph 2 to end	convert2.WaitForCompletion();	convert2.StopConversion();	// we restart graph1	convert1.SetOutputFormat(SYSTEMSFORMAT_MPEG1, CONSTRAINT_NONE, VIDEOFORMAT_MPEG1, AUDIOFORMAT_MP2);	convert1.SetFiles(CComBSTR("Z://Projects//Standard MPEG//Test Files//test_in.mpg"), 					 CComBSTR("Z://Projects//Standard MPEG//Test Files//Output Files//test_out_1b.mpg"));		if (FAILED(convert1.StartConversion()))	{		printf("Conversion failed/n");	}	// wait for graph 3 to complete	convert3.WaitForCompletion();	convert3.StopConversion();		// We wait for graph 1b to end	convert1.WaitForCompletion();	convert1.StopConversion();	printf("/n/n/n***************************************/n/n");	printf("Conversion complete. Press any key to exit");	_getch(); // wait for user to press a key	return 0;}
开发者ID:BlackMael,项目名称:DirectEncode,代码行数:83,


示例2: CreateToolbars

void CreateToolbars(){	if (Glb_toolbarArray.GetCount() > 0)		return;	IAcadMenuGroup *mnuGrp = NULL;	if (!getAcadMenuGroup(&mnuGrp))		return ;	IAcadToolbars  *tlbrs = NULL;	HRESULT hr = S_OK;	hr = mnuGrp->get_Toolbars(&tlbrs);	mnuGrp->Release();	// 得到arx所在路径	TCHAR lpPath[MAX_PATH] = {0};	GetModuleFileName(GetModuleHandle("DistToolBar.arx"), lpPath, MAX_PATH);	PathRemoveFileSpec(lpPath);	PathAddBackslash(lpPath);	CString strXmlFile = lpPath;	strXmlFile += "toolbar.xml";	// 得到icon路径	PathAppend(lpPath, "icon");	PathAddBackslash(lpPath);	MSXML2::IXMLDOMDocumentPtr lpDocument;	hr = lpDocument.CreateInstance(__uuidof(DOMDocument));	if ( FAILED(hr) ) 		_com_raise_error(hr);	VARIANT_BOOL isSuccessful;	// 装载XML字符串	if (!lpDocument->load(_variant_t(strXmlFile)))	{		OutputDebugString("LoadXML failed!");		return;	}	MSXML2::IXMLDOMElementPtr lpDocElement = NULL;	lpDocument->get_documentElement(&lpDocElement);	// toolbar list	MSXML2::IXMLDOMNodeListPtr lpToolbarList = lpDocElement->getElementsByTagName(_bstr_t("toolbar"));	MSXML2::IXMLDOMNodePtr lpToolbar = NULL;	for ( ; (lpToolbar = lpToolbarList->nextNode()) != NULL ; )	{		MSXML2::IXMLDOMNodePtr lpCaptionNode = lpToolbar->attributes->getNamedItem("caption");		CString strCaption = (char*)lpCaptionNode->text;		OutputDebugString(strCaption);		// 添加工具条		IAcadToolbar  *tlbr = NULL;		hr = tlbrs->Add(CComBSTR(strCaption), &tlbr);		if FAILED(hr)			continue;		Glb_toolbarArray.Add(strCaption);		// button list		MSXML2::IXMLDOMNodeListPtr lpButtonList = lpToolbar->GetchildNodes();		MSXML2::IXMLDOMNodePtr lpButton = NULL;		for ( ; (lpButton = lpButtonList->nextNode()) != NULL ; )		{			MSXML2::IXMLDOMNodePtr lpToolTipNode = lpButton->attributes->getNamedItem("tooltip");			CString strToolTip = (char*)lpToolTipNode->text;			MSXML2::IXMLDOMNodePtr lpCommandNode = lpButton->attributes->getNamedItem("command");			CString strCommand = (char*)lpCommandNode->text;			strCommand += " ";			MSXML2::IXMLDOMNodePtr lpIconNode = lpButton->attributes->getNamedItem("icon");			CString strIcon = (char*)lpIconNode->text;			OutputDebugStringX("tooltip=%s, command=%s, icon=%s", strToolTip, strCommand, strIcon);			// 添加工具按钮			IAcadToolbarItem *button=NULL;			VARIANT index;			index.vt = VT_I4;			index.lVal = 100l;			VARIANT vtFalse;			vtFalse.vt = VT_BOOL;			vtFalse.boolVal = VARIANT_FALSE;			CString strIconFile = lpPath;			strIconFile += strIcon;//.........这里部分代码省略.........
开发者ID:fredrikjonsson,项目名称:cadof72bian,代码行数:101,


示例3: GetSite

//.........这里部分代码省略.........                if (SUCCEEDED(pWindow->GetWindow(&hwndBrowser)))                {                    hwndBrowser = FindWindowEx(hwndBrowser, NULL, _T("Shell DocObject View"), NULL);                    if (hwndBrowser)                    {                        hwndBrowser = FindWindowEx(hwndBrowser, NULL, _T("Internet Explorer_Server"), NULL);                    }                }                pWindow->Release();            }                     pServiceProvider->Release();        }     }    // Nobody else seems to know how to get IViewObject2?!    // http://starkravingfinkle.org/blog/2004/09/    spViewObject = spDocument;    if (spViewObject == NULL)    {        Error(L"Unable to convert document to view object.");        return E_FAIL;    }    CComQIPtr<IHTMLDocument5> spDocument5;    spDocument->QueryInterface(IID_IHTMLDocument5, (void**)&spDocument5);    if (spDocument5 == NULL)    {        Error(L"Snapsie requires IE6 or greater.");        return E_FAIL;    }    CComBSTR compatMode;    spDocument5->get_compatMode(&compatMode);    // In non-standards-compliant mode, the BODY element represents the canvas.    if (compatMode == L"BackCompat")    {        CComPtr<IHTMLElement> spBody;        spDocument->get_body(&spBody);        if (NULL == spBody)        {            return E_FAIL;        }        spBody->getAttribute(CComBSTR("scrollHeight"), 0, &documentHeight);        spBody->getAttribute(CComBSTR("scrollWidth"), 0, &documentWidth);        spBody->getAttribute(CComBSTR("clientHeight"), 0, &viewportHeight);        spBody->getAttribute(CComBSTR("clientWidth"), 0, &viewportWidth);    }    // In standards-compliant mode, the HTML element represents the canvas.    else    {        CComQIPtr<IHTMLDocument3> spDocument3;        spDocument->QueryInterface(IID_IHTMLDocument3, (void**)&spDocument3);        if (NULL == spDocument3)        {            Error(L"Unable to get IHTMLDocument3 handle from document.");            return E_FAIL;        }        // The root node should be the HTML element.        CComPtr<IHTMLElement> spRootNode;        spDocument3->get_documentElement(&spRootNode);
开发者ID:nirvdrum,项目名称:SnapsIE,代码行数:67,


示例4: RETURN_IF_FAILED

STDMETHODIMP CTimelineLoadingService::OnFinish(IVariantObject *pResult){	CComPtr<IObjArray> pItems;	RETURN_IF_FAILED(m_pTimelineControl->GetItems(&pItems));	UINT uiCount = 0;	RETURN_IF_FAILED(pItems->GetCount(&uiCount));	if (uiCount)	{		CComPtr<IVariantObject> pFirstItem;		RETURN_IF_FAILED(pItems->GetAt(0, __uuidof(IVariantObject), (LPVOID*)&pFirstItem));		CComVar vId;		RETURN_IF_FAILED(pFirstItem->GetVariantValue(ObjectModel::Metadata::Object::Id, &vId));		CComVar vObjectType;		RETURN_IF_FAILED(pFirstItem->GetVariantValue(ObjectModel::Metadata::Object::Type, &vObjectType));		if (vId.vt == VT_I4 && vObjectType.vt == VT_BSTR && vId.intVal == CUSTOM_OBJECT_LOADING_ID && CComBSTR(vObjectType.bstrVal) == Twitter::Metadata::Types::CustomTimelineObject)		{            {                CUpdateScope scope(m_pTimelineControl);                RETURN_IF_FAILED(m_pTimelineControl->RemoveItemByIndex(0));            }            if (uiCount == 1)            {                HWND hWnd = 0;                RETURN_IF_FAILED(m_pTimelineControl->GetHWND(&hWnd));                InvalidateRect(hWnd, nullptr, true);            }		}	}	return S_OK;}
开发者ID:ip821,项目名称:minitwi,代码行数:32,


示例5: GetStringValue

HRESULT CXMLDocument::SetFYSError(){	CString strErrorNode = m_strErrorNode;	strErrorNode.MakeUpper();	if (strErrorNode == "FILES")	{		MSXML2::IXMLDOMNodePtr pFilesNode;		CComBSTR strValue;		m_pDoc->selectSingleNode(CComBSTR("//FYS_DATASTREAMACKNOWLEDGMENT/FILES"), &pFilesNode);		CString strStatus = GetStringValue("Status", pFilesNode);		CString strDescription;		strStatus.MakeUpper();		if (strStatus == "INVALIDSTREAMFORMAT")			strDescription = "Invalid Stream Header Xml.";		if (strStatus == "INTERNALERROR")			strDescription = "Unknown Error.";		m_strErrorMessage.Format("Failed to send the card for printing!./n"									"Uploaded Files Count	: %s/n"									"Uploaded Total Size	: %s/n"									"Uploaded Files Status	: %s/n"									"Error Description		: %s/n",									GetStringValue("Count", pFilesNode),									GetStringValue("TotalSize", pFilesNode),									GetStringValue("Status", pFilesNode),									strDescription);	}	if (strErrorNode == "FILE")	{		MSXML2::IXMLDOMNodePtr pFileNode;		m_pDoc->selectSingleNode(CComBSTR("//FYS_DATASTREAMACKNOWLEDGMENT/FILES/FILE[@Status != 'OK']"), &pFileNode);		m_strErrorMessage.Format("Failed to send the card for printing!./n"									"Uploaded File Name		: %s/n"									"Uploaded File Size		: %s/n"									"Uploaded File Status	: %s/n",									GetStringValue("Name", pFileNode),									GetStringValue("Size", pFileNode),									GetStringValue("Status", pFileNode));	}	if (strErrorNode == "DATAENVELOPE")	{		MSXML2::IXMLDOMNodePtr pDtEnvNode;		m_pDoc->selectSingleNode(CComBSTR("//FYS_DATASTREAMACKNOWLEDGMENT/DATAENVELOPE"), &pDtEnvNode);		m_strErrorMessage.Format("Failed to send the card for printing!./n"									"Uploaded DataEnvelope Status: %s/n"									"Error Description: %s/n",									GetStringValue("Status", pDtEnvNode),									"DataEnvelope file not received");	}	if (strErrorNode == "XMLPARSEERRORDETAILS")	{		MSXML2::IXMLDOMNodePtr pPrsErrNode;		m_pDoc->selectSingleNode(CComBSTR("//FYS_DATASTREAMACKNOWLEDGMENT/DATAENVELOPE/XMLPARSEERRORDETAILS"), &pPrsErrNode);		m_strErrorMessage.Format("Failed to send the card for printing!./n"									"Uploaded DataEnvelope file was malformed/n"									"Error Description	: %s/n"									"Error Text			: %s/n"									"Error Location		: %s/n",									GetStringValue("ErrorDescription", pPrsErrNode),									GetStringValue("ErrorText", pPrsErrNode),									GetStringValue("Location", pPrsErrNode));	}	return S_OK;}
开发者ID:jimmccurdy,项目名称:ArchiveGit,代码行数:74,


示例6: CHECK_HR

HRESULT AbstractDeviceContent::GetValue(            REFPROPERTYKEY         Key,     _Out_   IPortableDeviceValues* pStore){    HRESULT hr = S_OK;    PropVariantWrapper pvValue;    if(pStore == NULL)    {        hr = E_POINTER;        CHECK_HR(hr, "Cannot have NULL parameter");        return hr;    }    if (IsEqualPropertyKey(Key, WPD_OBJECT_ID))    {        // Add WPD_OBJECT_ID        pvValue = ObjectID;        hr = pStore->SetValue(WPD_OBJECT_ID, &pvValue);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_ID"));    }    else if (IsEqualPropertyKey(Key, WPD_OBJECT_PERSISTENT_UNIQUE_ID))    {        // Add WPD_OBJECT_PERSISTENT_UNIQUE_ID        pvValue = this->PersistentUniqueID;        hr = pStore->SetValue(WPD_OBJECT_PERSISTENT_UNIQUE_ID, &pvValue);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_PERSISTENT_UNIQUE_ID"));    }    else if (IsEqualPropertyKey(Key, WPD_OBJECT_PARENT_ID))    {        // Add WPD_OBJECT_PARENT_ID        pvValue = ParentID;        hr = pStore->SetValue(WPD_OBJECT_PARENT_ID, &pvValue);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_PARENT_ID"));    }    else if (IsEqualPropertyKey(Key, WPD_OBJECT_NAME))    {        // Add WPD_OBJECT_NAME        pvValue = Name;        hr = pStore->SetValue(WPD_OBJECT_NAME, &pvValue);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_NAME"));    }    else if (IsEqualPropertyKey(Key, WPD_OBJECT_CONTENT_TYPE))    {            // Add WPD_OBJECT_CONTENT_TYPE        hr = pStore->SetGuidValue(WPD_OBJECT_CONTENT_TYPE, ContentType);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_CONTENT_TYPE"));    }    else if (IsEqualPropertyKey(Key, WPD_OBJECT_FORMAT))    {        // Add WPD_OBJECT_FORMAT        hr = pStore->SetGuidValue(WPD_OBJECT_FORMAT, Format);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_FORMAT"));    }    else if (IsEqualPropertyKey(Key, WPD_OBJECT_CAN_DELETE))    {        // Add WPD_OBJECT_CAN_DELETE        hr = pStore->SetBoolValue(WPD_OBJECT_CAN_DELETE, CanDelete);        CHECK_HR(hr, ("Failed to set WPD_OBJECT_CAN_DELETE"));    }    else    {        hr = HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);        CHECK_HR(hr, "Property {%ws}.%d is not supported", CComBSTR(Key.fmtid), Key.pid);    }    return hr;}
开发者ID:340211173,项目名称:Driver,代码行数:67,


示例7: DecodePointFromXML

void CStrokeRecognition::DecodePointFromXML(std::vector<POINT> &rgPoints, BSTR strXML){	IXMLDOMDocument*		pDoc;	IXMLDOMNodeList*		pNodeList;	IXMLDOMNode*			pNode;	IXMLDOMNode*			pInputNode;	IXMLDOMNode*			pAttrNode;	IXMLDOMNamedNodeMap*	pNodeMap;	VARIANT_BOOL			bLoaded;	VARIANT					value;	BSTR					nodeName;	POINT					pt;	long					n;	if (SUCCEEDED(CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (LPVOID*)&pDoc)))	{		pDoc->put_async(VARIANT_FALSE);		pDoc->loadXML(strXML, &bLoaded);		if (bLoaded == VARIANT_TRUE)		{			if (SUCCEEDED(pDoc->get_childNodes(&pNodeList)))			{				pInputNode = NULL;				pNodeList->get_length(&n);				for (int i = 0; i < n; i++)				{					if (SUCCEEDED(pNodeList->get_item(i, &pNode)))					{						nodeName = NULL;						if (SUCCEEDED(pNode->get_nodeName(&nodeName)))						{							if (CComBSTR(nodeName) == L"input")							{								pInputNode = pNode;								pInputNode->AddRef();								break;							}							SysFreeString(nodeName);						}						pNode->Release();					}				}				pNodeList->Release();				if (pInputNode != NULL)				{					if (SUCCEEDED(pInputNode->get_childNodes(&pNodeList)))					{						pNodeList->get_length(&n);						for (int i = 0; i < n; i++)						{							if (SUCCEEDED(pNodeList->get_item(i, &pNode)))							{								pt.x = 0;								pt.y = 0;								if (SUCCEEDED(pNode->get_attributes(&pNodeMap)))								{									if (SUCCEEDED(pNodeMap->getNamedItem(L"x", &pAttrNode)))									{										pAttrNode->get_nodeValue(&value);										pt.x = _wtoi(value.bstrVal);										pAttrNode->Release();									}									if (SUCCEEDED(pNodeMap->getNamedItem(L"y", &pAttrNode)))									{										pAttrNode->get_nodeValue(&value);										pt.y = _wtoi(value.bstrVal);										pAttrNode->Release();									}									pNodeMap->Release();								}								rgPoints.push_back(pt);								pNode->Release();							}						}						pNodeList->Release();					}					pInputNode->Release();				}			}		}		pDoc->Release();	}}
开发者ID:sanyaade-g2g-repos,项目名称:quickdiagram,代码行数:97,


示例8: BuildClientInfoXml

/////////////////////////////////////////////////////////////////////////////// CIbnCommandWnd message handlersBOOL CIbnCommandWnd::OnCopyData(CWnd *pWnd, COPYDATASTRUCT *pCopyDataStruct){    CComBSTR bstrCommandXML = (LPCWSTR)pCopyDataStruct->lpData;    CComBSTR bstrCommandResponse;    if(bstrCommandXML==L"clientInfo")    {        bstrCommandResponse = BuildClientInfoXml();    }    else if(bstrCommandXML==L"contactList")    {        bstrCommandResponse = BuildContactListXml();    }    else    {        CComPtr<IXMLDOMDocument>	xmlCommandDoc	=	NULL;        xmlCommandDoc.CoCreateInstance(CLSID_DOMDocument40, NULL, CLSCTX_INPROC_SERVER);        VARIANT_BOOL	varSuc	=	VARIANT_FALSE;        xmlCommandDoc->loadXML(bstrCommandXML,&varSuc);        if(varSuc==VARIANT_TRUE)        {            CComPtr<IXMLDOMNode>	pRootNode;            xmlCommandDoc->selectSingleNode(CComBSTR(L"clientInfo"),&pRootNode);            if(pRootNode!=NULL)            {                bstrCommandResponse = BuildClientInfoXml();            }            else            {                xmlCommandDoc->selectSingleNode(CComBSTR(L"contactList"),&pRootNode);                if(pRootNode!=NULL)                {                    bstrCommandResponse = BuildContactListXml();                }                else                {                    xmlCommandDoc->selectSingleNode(CComBSTR(L"sendFile"),&pRootNode);                    if(pRootNode!=NULL)                    {                        SendFile(pRootNode);                    }                    // TODO: Not Supported Command                }            }        }    }    if(bstrCommandResponse.Length()>0)    {        // Send WM_COPYDATA        COPYDATASTRUCT copyDs = {0};        copyDs.cbData = (bstrCommandResponse.Length()+1)*2; // Specifies the size, in bytes, of the data pointed to by the lpData member.        copyDs.lpData = (PVOID)(BSTR)bstrCommandResponse; // Pointer to data to be passed to the receiving application. This member can be NULL.        LRESULT bResult = pWnd->SendMessage(WM_COPYDATA,                                            (WPARAM)GetSafeHwnd(),                                            (LPARAM)&copyDs);    }    return TRUE;}
开发者ID:alex765022,项目名称:IBN,代码行数:70,


示例9: DlgResize_Init

LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/){	DlgResize_Init();	// center the dialog on the screen	CenterWindow();	sAppTooltip="MtConnectDboard";	nIcon=0;	// set icons	HICON hIcon = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME), 		IMAGE_ICON, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON), LR_DEFAULTCOLOR);	SetIcon(hIcon, TRUE);	HICON hIconSmall = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME), 		IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR);	SetIcon(hIconSmall, FALSE);	// register object for message filtering and idle updates	//CMessageLoop* pLoop = _Module.GetMessageLoop();	CMessageLoop* pLoop = _thread->GetMessageLoop();		ATLASSERT(pLoop != NULL);	pLoop->AddMessageFilter(this);	pLoop->AddIdleHandler(this);	UIAddChildWindowContainer(m_hWnd);	// Remove Max/Min buttons - if using TrayIcon	DWORD style = ::GetWindowLong(this->m_hWnd, GWL_STYLE);	style &= ~(WS_MAXIMIZEBOX); // WS_MINIMIZEBOX NOT WS_THICKFRAME	::SetWindowLong(this->m_hWnd, GWL_STYLE, style);	// Install tray icon	hSmileyIcon = LoadIcon(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME));	hIdleIcon = LoadIcon(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDI_IDLEICON));	hStopIcon = LoadIcon(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDI_STOPICON));	hClearIcon = LoadIcon(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDI_CLEARICON));	InstallIcon(sAppTooltip, hSmileyIcon, IDR_MENU1);	CAxWindow wndIE = GetDlgItem(IDC_EXPLORER1);	HRESULT hr;	hr = wndIE.QueryControl ( &m_spWebBrowser );	if ( m_spWebBrowser )	{		CComVariant v;  // empty variant		m_spWebBrowser->Navigate ( CComBSTR("about:blank"), 			&v, &v, &v, &v );	}	//Handle NavigateComplete2 event from the browser, get the document  element, call DispEventAdvise(pDocument). onclick event bubbles, so you  can handle it on the document and get clicks from all contained  elements.	//DispEventAdvise(m_spWebBrowser); 	//Then you need to register your interface to be used proccess wide:	hr = pGIT->RegisterInterfaceInGlobal( (IUnknown*)(IWebBrowser2*)m_spWebBrowser, IID_IWebBrowser2, &dwWebBrowserCookie);	//std::string html = MTConnectStreamsParser().CreateHtmlDocument();	//CHtmlTableSnapshots().SetDocumentText(m_spWebBrowser,html);	// Icon mapping	std::vector<HICON> icons(2);	icons[0]=hSmileyIcon; icons[1]=hClearIcon;	StateIconMap["EXECUTING"] = icons; // flashing green	icons[0]=hSmileyIcon; icons[1]=hSmileyIcon;	StateIconMap["IDLE"] = icons; // idle auto	icons[0]=hStopIcon;    icons[1]=hStopIcon;	StateIconMap["STOPPED"] = icons; // stopped	icons[0]=hStopIcon;    icons[1]=hClearIcon;	StateIconMap["FAULT"] = icons; // stopped fault	this->SetTimer(1, 250); 	dlgMainThead = ::GetCurrentThread();	return TRUE;}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:71,


示例10: GetOptionInt

CComBSTR CIbnCommandWnd::BuildContactListXml(){    USES_CONVERSION;    CUserCollection	UsersContactList;    pMessenger->GetCopyContactList(UsersContactList);    CComPtr<IXMLDOMDocument>	pTreeItemDoc	=	NULL;    pTreeItemDoc.CoCreateInstance(CLSID_DOMDocument40, NULL, CLSCTX_INPROC_SERVER);    VARIANT_BOOL	varSuc	=	VARIANT_FALSE;    CComBSTR	bsDefaultXML	= L"<contactList><response></response></contactList>";    pTreeItemDoc->loadXML(bsDefaultXML,&varSuc);    CComPtr<IXMLDOMNode>	pRootNode;    pTreeItemDoc->selectSingleNode(CComBSTR(L"contactList/response"),&pRootNode);    int CLMode  = GetOptionInt(IDS_OFSMESSENGER,IDS_CLMODE,2);    CUser* pUser=NULL;    int GroupGlobalId = -1;    if(POSITION pos = UsersContactList.InitIteration())    {        for(int i=0; UsersContactList.GetNext(pos, pUser); i++)        {            // Step 1. Проверить создавали ли мы группу???            CComBSTR	GroupName =	pUser->m_strType;            if(CLMode==2)            {                if(pUser->m_iStatus==S_OFFLINE||pUser->m_iStatus==S_INVISIBLE)                {                    GroupName	=  GetString(IDS_OFFLINE);                }            }            BOOL isCheck = FALSE;            CComBSTR bsGroupPath = L"contactList/response/group[@name='";            bsGroupPath += GroupName;            bsGroupPath += L"']";            CComPtr<IXMLDOMNode>	pGroupNode;            pTreeItemDoc->selectSingleNode(bsGroupPath,&pGroupNode);            if(pGroupNode==NULL)            {                CComPtr<IXMLDOMNode>	pTmpGroupNode;                pTreeItemDoc->createNode(CComVariant(NODE_ELEMENT),CComBSTR(L"group"),NULL,&pTmpGroupNode);                SetAttribute(pTmpGroupNode,CComBSTR(L"name"),CComVariant(GroupName));                pGroupNode = AppendWithSort(pRootNode, pTmpGroupNode, CComBSTR(L"text"));            }            // Step 3. добавить пользователя [1/28/2002]            CComPtr<IXMLDOMNode> pUserNode;            insertSingleNode(pGroupNode, CComBSTR(L"user"), NULL, NULL, &pUserNode);            WCHAR buffUserId[20]	=	L"";            _ltow(pUser->GetGlobalID(),buffUserId,10);            WCHAR buffUserStatus[20]	=	L"";            _ltow(pUser-> GetStatus(),buffUserStatus,10);            insertSingleNode(pUserNode, CComBSTR(L"id"), NULL, CComBSTR(buffUserId));            insertSingleNode(pUserNode, CComBSTR(L"login"), NULL, CComBSTR((LPCTSTR)pUser->m_strLogin));            insertSingleNode(pUserNode, CComBSTR(L"firstName"), NULL, CComBSTR((LPCTSTR)pUser->m_strFirstName));            insertSingleNode(pUserNode, CComBSTR(L"lastName"), NULL, CComBSTR((LPCTSTR)pUser->m_strLastName));            insertSingleNode(pUserNode, CComBSTR(L"email"), NULL, CComBSTR((LPCTSTR)pUser->m_strEMail));            insertSingleNode(pUserNode, CComBSTR(L"status"), NULL, CComBSTR(buffUserStatus));        }    }    CComBSTR bsRetVal;    pTreeItemDoc->get_xml(&bsRetVal);    return bsRetVal;}
开发者ID:alex765022,项目名称:IBN,代码行数:85,


示例11: _ltow

BOOL CIbnCommandWnd::SendScreenCaptureCommand(CComBSTR Command, CComBSTR Mode, CComBSTR RecipientsXml){    // Create Hwnd String    WCHAR wsTmpBuf[20];    _ltow((long)pMessenger->GetSafeHwnd(),wsTmpBuf,10);    CComBSTR bstrClientHwnd = wsTmpBuf;    // Create Xml Command    CComBSTR sendXML;    sendXML += CComBSTR(L"<");    sendXML += Command;    sendXML += CComBSTR(L">");    sendXML += CComBSTR(L"<request>");    sendXML += CComBSTR(L"<ibnClientHandle>");    sendXML += bstrClientHwnd;    sendXML += CComBSTR(L"</ibnClientHandle>");    sendXML += CComBSTR(L"<mode>");    sendXML += Mode;    sendXML += L"</mode>";    if(RecipientsXml.Length()>0)    {        sendXML += CComBSTR(L"<recipients>");        sendXML += RecipientsXml;        sendXML += L"</recipients>";    }    sendXML += CComBSTR(L"</request>");    sendXML += CComBSTR(L"</");    sendXML += Command;    sendXML += CComBSTR(L">");    // Test Only    //sendXML = L"<clientInfo></clientInfo>";    // TODO: Find Screen Capture Window    LPCTSTR szScreenCaptureClassName = _T("#32770");    LPCTSTR szScreenCaptureWindowName = _T("{19791104-A59E-42e5-BB49-200706080000}");    CWnd *pScreenCaptureCommandWnd = FindWindow(szScreenCaptureClassName,szScreenCaptureWindowName);    if(pScreenCaptureCommandWnd==NULL)    {        // TODO:        CString screenCapurePath = pMessenger->ScreenCapturePath();        // Run Screen Capture        if(screenCapurePath.GetLength()>0)        {            HINSTANCE retVal = ShellExecute(::GetDesktopWindow(),NULL,screenCapurePath,_T(""),NULL,SW_SHOWNORMAL);            if((int)retVal>32)            {                // Find Screen Capture Window Again                for(int index=0; index<20; index++)                {                    Sleep(500);                    pScreenCaptureCommandWnd = FindWindow(szScreenCaptureClassName,szScreenCaptureWindowName);                    if(pScreenCaptureCommandWnd!=NULL)                        break;                }            }        }    }    if(pScreenCaptureCommandWnd!=NULL)    {        // Send WM_COPYDATA        COPYDATASTRUCT copyDs = {0};        copyDs.cbData = (sendXML.Length()+1)*2; // Specifies the size, in bytes, of the data pointed to by the lpData member.        copyDs.lpData = (PVOID)(BSTR)sendXML; // Pointer to data to be passed to the receiving application. This member can be NULL.        LRESULT bResult = pScreenCaptureCommandWnd->SendMessage(WM_COPYDATA,                          (WPARAM)GetSafeHwnd(),                          (LPARAM)&copyDs);        return TRUE;    }    return FALSE;}
开发者ID:alex765022,项目名称:IBN,代码行数:89,


示例12: pCont

HRESULT SoundDA::SetDaqHwInfo(){        CComPtr<IProp> prop;         // hwinfo property container    CComQIPtr<IPropContainer> pCont(GetHwInfo());               // total channels     CComVariant var,vids;    short ids[]={1,2};    if (WaveCaps.IsStereo())    {        var=2L;        CreateSafeVector(ids,2,&vids);    }    else    {        var=1L;        CreateSafeVector(ids,1,&vids);    }    HRESULT hRes = pCont->put_MemberValue(L"totalchannels",var);    if (!(SUCCEEDED(hRes))) return hRes;            hRes = pCont->put_MemberValue(L"channelids", vids);    if (!(SUCCEEDED(hRes))) return hRes;        wchar_t idStr[8];    swprintf(idStr, L"%d", _id);    hRes = pCont->put_MemberValue(L"id", CComVariant(idStr));	    if (!(SUCCEEDED(hRes))) return hRes;        hRes = pCont->put_MemberValue(L"polarity", CComVariant(L"Bipolar"));    if (!(SUCCEEDED(hRes))) return hRes;    hRes = pCont->put_MemberValue(L"coupling", CComVariant(L"AC Coupled"));    if (!(SUCCEEDED(hRes))) return hRes;    // subsystem type    hRes = pCont->put_MemberValue(L"subsystemtype",CComVariant(L"AnalogOutput"));    if (!(SUCCEEDED(hRes))) return hRes;    // autocal    //hRes = pCont->put_MemberValue(CComBSTR(L"autocalibrate"),CComVariant(0L));    //if (!(SUCCEEDED(hRes))) return hRes;       hRes = pCont->put_MemberValue(L"sampletype",CComVariant(1L));    if (!(SUCCEEDED(hRes))) return hRes;    // number of bits    CComVariant val;    val = WaveCaps.Supports16Bit() ? 16L : 8L;    hRes = pCont->put_MemberValue(CComBSTR(L"bits"),val);    if (!(SUCCEEDED(hRes))) return hRes;          hRes = pCont->put_MemberValue(L"adaptorname",        CComVariant(L"winsound"));    if (!(SUCCEEDED(hRes))) return hRes;    // driver description        bstr_t name = WaveCaps.GetDeviceName();    V_VT(&val) = VT_BSTR;    V_BSTR(&val) = name;    hRes = pCont->put_MemberValue(L"devicename",val);    if (!(SUCCEEDED(hRes))) return hRes;        hRes = pCont->put_MemberValue(L"vendordriverdescription",	CComVariant(L"Windows Multimedia Driver"));    if (!(SUCCEEDED(hRes))) return hRes;           hRes = pCont->put_MemberValue(L"vendordriverversion",CComVariant(WaveCaps.GetDriverVersion()));    if (!(SUCCEEDED(hRes))) return hRes;    // native data type    var = WaveCaps.Supports16Bit() ? VT_I2 : VT_UI1;    hRes = pCont->put_MemberValue(L"nativedatatype", var);	    if (!(SUCCEEDED(hRes))) return hRes;    SetSampleRateRange(8000,static_cast<long>(WaveCaps.GetMaxSampleRate()));    // input ranges --> move to input group        SAFEARRAY *ps = SafeArrayCreateVector(VT_R8, 0, 2);    if (ps==NULL)         return E_OUTOFMEMORY;    val.parray=ps;    val.vt = VT_ARRAY | VT_R8;    double *pr;        hRes = SafeArrayAccessData(ps, (void **) &pr);    if (FAILED (hRes))     {        SafeArrayDestroy (ps);        return hRes;    }       //.........这里部分代码省略.........
开发者ID:motor,项目名称:clock_stimulus,代码行数:101,


示例13: bstrXml

		LRESULT CTangramWordPlusDocWnd::OOpenDoc(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& )		{			map<LONG, Office::_CustomTaskPane*>::iterator it = m_pWordAddin->m_mapTaskPaneMap.find((LONG)m_hWnd);			if (it != m_pWordAddin->m_mapTaskPaneMap.end())			{				it->second->put_Visible(false);				m_pWordAddin->m_mapTaskPaneMap.erase(it);			}			if(m_pWordAddin->m_pCurWordPlusDocWnd==NULL)				return 0;			CTangramWordPlusDocWnd* pWnd = m_pWordAddin->m_pCurWordPlusDocWnd;			pWnd->m_pWordPlusDoc = (CTangramWordPlusDoc*)wParam;			if(lParam==1&& pWnd)			{				CComBSTR bstrXml(L"");				m_pWordAddin->GetTangramXml(pWnd->m_pWordPlusDoc->m_pDoc,CComBSTR(L"Tangrams"),&bstrXml);				CString strTemplateXml =  OLE2T(bstrXml);				pWnd->m_pWordPlusDoc->m_strDocXml = strTemplateXml;				if (strTemplateXml != _T(""))				{					CTangramXmlParse m_Parse;					if (m_Parse.LoadXml(strTemplateXml) || m_Parse.LoadFile(strTemplateXml))					{						CTangramXmlParse* pParse = m_Parse.GetChild(_T("TaskPaneUI"));						if (pParse)							pWnd->m_pWordPlusDoc->m_strTaskPaneXml = pParse->xml();						pParse = m_Parse.GetChild(_T("DocumentUI"));						if (pParse)						{							CTangramWordPlusDoc* pWordDocument = pWnd->m_pWordPlusDoc;							theApp.m_pTangramCore->CreateTangram((LONGLONG)pWnd->m_hWnd, &pWordDocument->m_pTangram);							if (pWordDocument->m_pTangram)							{								pWordDocument->m_pTangram->put_External(pWordDocument->m_pDoc);								pWordDocument->m_pTangram->CreateFrame(CComVariant(0), CComVariant((LONGLONG)m_pWordAddin->m_pCurWordPlusDocWnd->m_hDocWnd), CComBSTR(L"Document"), &pWordDocument->m_pFrame);								if (pWordDocument->m_pFrame)								{									CString strXml = pParse->xml();									CComPtr<ITangramNode> pNode;									pWordDocument->m_pFrame->Extend(CComBSTR(L"Default"), strXml.AllocSysString(), &pNode);								}							}						}						pParse = m_Parse.GetChild(_T("UserForms"));						if (pParse)						{							int nCount = pParse->GetCount();							if (nCount)							{								for (int i = 0; i < nCount; i++)								{									CTangramXmlParse* pParse2 = pParse->GetChild(i);									m_pWordPlusDoc->m_mapUserFormScript[pParse2->name()] = pParse2->xml();								}							}						}					}				}			}			return 0;		}
开发者ID:tangramfx,项目名称:TANGRAM,代码行数:62,


示例14: CHECK_HR

HRESULT WpdCapabilities::DispatchWpdMessage(_In_ REFPROPERTYKEY          Command,                                            _In_ IPortableDeviceValues*  pParams,                                            _In_ IPortableDeviceValues*  pResults){    HRESULT hr = S_OK;    if (Command.fmtid != WPD_CATEGORY_CAPABILITIES)    {        hr = E_INVALIDARG;        CHECK_HR(hr, "This object does not support this command category %ws",CComBSTR(Command.fmtid));    }    if (hr == S_OK)    {        if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_COMMANDS))        {            hr = OnGetSupportedCommands(pParams, pResults);            CHECK_HR(hr, "Failed to get supported commands");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_COMMAND_OPTIONS))        {            hr = OnGetCommandOptions(pParams, pResults);            CHECK_HR(hr, "Failed to get command options");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_FUNCTIONAL_CATEGORIES))        {            hr = OnGetFunctionalCategories(pParams, pResults);            CHECK_HR(hr, "Failed to get functional categories");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_FUNCTIONAL_OBJECTS))        {            hr = OnGetFunctionalObjects(pParams, pResults);            CHECK_HR(hr, "Failed to get functional objects");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_CONTENT_TYPES))        {            hr = OnGetSupportedContentTypes(pParams, pResults);            CHECK_HR(hr, "Failed to get supported content types");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_FORMATS))        {            hr = OnGetSupportedFormats(pParams, pResults);            CHECK_HR(hr, "Failed to get supported formats");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_FORMAT_PROPERTIES))        {            hr = OnGetSupportedFormatProperties(pParams, pResults);            CHECK_HR(hr, "Failed to get supported format properties");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_FIXED_PROPERTY_ATTRIBUTES))        {            hr = OnGetFixedPropertyAttributes(pParams, pResults);            CHECK_HR(hr, "Failed to get fixed property attributes");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_EVENTS))        {            hr = OnGetSupportedEvents(pParams, pResults);            CHECK_HR(hr, "Failed to get supported events");        }        else if (IsEqualPropertyKey(Command, WPD_COMMAND_CAPABILITIES_GET_EVENT_OPTIONS))        {            hr = OnGetEventOptions(pParams, pResults);            CHECK_HR(hr, "Failed to get event options");        }        else        {            hr = E_NOTIMPL;            CHECK_HR(hr, "This object does not support this command id %d", Command.pid);        }    }    return hr;}
开发者ID:340211173,项目名称:Windows-driver-samples,代码行数:72,


示例15: GetModuleFileName

/////////////////////////////////////////////////////////////////////////////// AdaptorInfo()//// The function is used to elicit relevant info about the current HW..//..configuration from the HW API.//  The info to extract is://..1)number of boards installed//..2)board names//..3)supported subsystems (AnalogInput, AnalogOutput, DigitalIO)// The function is called by the engine in response to the ML user..//..command DAQHWINFO /////////////////////////////////////////////////////////////////////////////HRESULT Cadvantechadapt::AdaptorInfo(IPropContainer * Container){	LONG lDriverHandle = (LONG)NULL;          // driver handle	PT_DeviceGetFeatures ptDevFeatures;		// Devfeatures table	DEVFEATURES DevFeatures;					// structure for device features		int i = 0;          // Index variable		// Get the name of the adaptor module	TCHAR name[256];	GetModuleFileName(_Module.GetModuleInstance(),name,256); // null returns MATLAB version (non existant)	RETURN_HRESULT(Container->put_MemberValue(L"adaptordllname",CComVariant(name)));		// Place the adaptor name in the appropriate struct in the engine.	RETURN_HRESULT(Container->put_MemberValue(L"adaptorname",variant_t(ConstructorName)));		// Find board IDs	// Start by obtaining the DeviceList. Not stored.	short numDevices;			// Number of devices	DEVLIST deviceList[MaxDev]; // Space to store device information.	CComVariant var;			// General CComVariant to return info to adaptor engine.	RETURN_ADVANTECH(DRV_DeviceGetList((DEVLIST far *)&deviceList[0], MaxDev, &numDevices));		// Create storage for board IDs, bord names and constructors.	TSafeArrayVector<CComBSTR> IDs;			// Create A SafeArrayVector to store the IDs in	IDs.Allocate(numDevices);				// Allocate the memory for the number of devices	TSafeArrayVector<CComBSTR> Names;		// Create A SafeArrayVector to store the Names in	Names.Allocate(numDevices);				// Allocate the memory for the number of devices	SAFEARRAY *ps;							// SafeArray for the subsystem support [nDx3 CComBStrs]	CComBSTR *subsystems;	SAFEARRAYBOUND arrayBounds[2]; 	arrayBounds[0].lLbound = 0;	arrayBounds[0].cElements = numDevices;    	arrayBounds[1].lLbound = 0;	arrayBounds[1].cElements = 3;			// AnalogInput, AnalogOutput, DigitalIO subsystems.	ps = SafeArrayCreate(VT_BSTR, 2, arrayBounds);	if (ps==NULL)		return E_FAIL;      		// Set up the variant to contain subsystem constructor SafeArray	var.parray = ps;	var.vt = VT_ARRAY | VT_BSTR;	HRESULT hRes = SafeArrayAccessData(ps, (void **)&subsystems);	if (FAILED (hRes)) 	{		SafeArrayDestroy (ps);		return hRes;	}		// Now loop through each device, getting the ID, BoardName and subsystem support.	wchar_t str[40];	for (i=0; i < numDevices; i++)	{		// Allocate the ID		char* string;		string = new char[20];		_ltoa(deviceList[i].dwDeviceNum, string, 10);		IDs[i] = CComBSTR(string);				// Open Device		RETURN_ADVANTECH(DRV_DeviceOpen(deviceList[i].dwDeviceNum,(LONG far *)&lDriverHandle));				// Get BoardNames info		Names[i] = CComBSTR(deviceList[i].szDeviceName);				// Check to see which subsystems the current board supports.		// Get device features		ptDevFeatures.buffer = (LPDEVFEATURES)&DevFeatures;		ptDevFeatures.size = sizeof(DEVFEATURES);		RETURN_ADVANTECH(DRV_DeviceGetFeatures(lDriverHandle, (LPT_DeviceGetFeatures)&ptDevFeatures));		if ((DevFeatures.usMaxAIDiffChl + DevFeatures.usMaxAISiglChl) > 0) 		{			swprintf(str, L"analoginput('%s',%s)", (wchar_t*)ConstructorName, (wchar_t*)IDs[i]);			subsystems[i]=str;		}		if (DevFeatures.usMaxAOChl > 0)		{			swprintf(str, L"analogoutput('%s',%s)", (wchar_t*)ConstructorName, (wchar_t*)IDs[i]);			subsystems[i + numDevices]=str;		}		if ((DevFeatures.usMaxDIChl + DevFeatures.usMaxDOChl) > 0)		{			swprintf(str, L"digitalio('%s',%s)",(wchar_t*) ConstructorName, (wchar_t*)IDs[i]);			subsystems[i + 2*numDevices] = str;		}  		// Close device		RETURN_ADVANTECH(DRV_DeviceClose((LONG far *)&lDriverHandle));	}//.........这里部分代码省略.........
开发者ID:motor,项目名称:clock_stimulus,代码行数:101,


示例16: CHECK_HR

HRESULT WpdObjectManagement::DispatchWpdMessage(    const PROPERTYKEY&      Command,    IPortableDeviceValues*  pParams,    IPortableDeviceValues*  pResults){    HRESULT hr = S_OK;    if (hr == S_OK)    {        if (Command.fmtid != WPD_CATEGORY_OBJECT_MANAGEMENT)        {            hr = E_INVALIDARG;            CHECK_HR(hr, "This object does not support this command category %ws",CComBSTR(Command.fmtid));        }    }    if (hr == S_OK)    {        if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_DELETE_OBJECTS.pid)        {            hr = OnDelete(pParams, pResults);            CHECK_HR(hr, "Failed to delete object");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_CREATE_OBJECT_WITH_PROPERTIES_ONLY.pid)        {            hr = OnCreateObjectWithPropertiesOnly(pParams, pResults);            CHECK_HR(hr, "Failed to create object");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_CREATE_OBJECT_WITH_PROPERTIES_AND_DATA.pid)        {            hr = OnCreateObjectWithPropertiesAndData(pParams, pResults);            CHECK_HR(hr, "Failed to create object");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_WRITE_OBJECT_DATA.pid)        {            hr = OnWriteObjectData(pParams, pResults);            CHECK_HR(hr, "Failed to write object data");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_COMMIT_OBJECT.pid)        {            hr = OnCommit(pParams, pResults);            CHECK_HR(hr, "Failed to commit object");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_REVERT_OBJECT.pid)        {            hr = OnRevert(pParams, pResults);            CHECK_HR(hr, "Failed to revert object");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_MOVE_OBJECTS.pid)        {            hr = OnMove(pParams, pResults);            CHECK_HR(hr, "Failed to Move objects");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_COPY_OBJECTS.pid)        {            hr = OnCopy(pParams, pResults);            CHECK_HR(hr, "Failed to Copy objects");        }        else if (Command.pid == WPD_COMMAND_OBJECT_MANAGEMENT_UPDATE_OBJECT_WITH_PROPERTIES_AND_DATA.pid)        {            hr = OnUpdateObjectWithPropertiesAndData(pParams, pResults);            CHECK_HR(hr, "Failed to update object");        }        else        {            hr = E_NOTIMPL;            CHECK_HR(hr, "This object does not support this command id %d", Command.pid);        }    }    return hr;}
开发者ID:kcrazy,项目名称:winekit,代码行数:73,


示例17: Input

/*******************************************************************************  Function Name  : vInitGraphControl  Input(s)       : -  Output         : -  Functionality  : This function will initialise graph control. This will set                   viewstyle parameters of the graph control  Member of      : CGraphBottomView  Author(s)      : Raja N  Date Created   : 10/12/2004  Modifications  :*******************************************************************************/void CGraphBottomView::vInitGraphControl(){    CGraphList* podList = NULL;    CGraphChildFrame* pParentWnd = NULL;    pParentWnd = (CGraphChildFrame*)pomGetParentWindow();    if(pParentWnd != NULL)    {        podList = pParentWnd->pGetSignalListDetails();    }    else    {        return;    }    if( podList != NULL )    {        CGraphParameters* pEnv = &podList->m_odGraphParameters;        if( pEnv != NULL )        {            // Init Active Axis            m_nAxis = pEnv->m_nActiveAxis;            // Init Active Action            m_nAction = pEnv->m_nAction;            // Set Show Grid Action            vSetShowButtonState( pEnv->m_bShowGrid );            // Set Graph Params            if( m_pDMGraphCtrl != NULL )            {                // Set Axis Color                m_pDMGraphCtrl->put_AxisColor((OLE_COLOR)pEnv->m_nAxisColor);                // Set Plot Area Color                m_pDMGraphCtrl->put_PlotAreaColor((OLE_COLOR)pEnv->m_nPlotAreaColor);                // Set Grid Color                m_pDMGraphCtrl->put_GridColor((OLE_COLOR)pEnv->m_nGridColor);                // Set Frame Style                m_pDMGraphCtrl->put_FrameStyle((FrameStyle)pEnv->m_nFrameStyle);                // Set Frame Color                m_pDMGraphCtrl->put_ControlFrameColor((OLE_COLOR)pEnv->m_nFrameColor);                // Set Grid Lines Count                CComPtr<IDMGraphAxis> spAxisX;                m_pDMGraphCtrl->get_Axis( HorizontalX, &spAxisX);                spAxisX->put_GridNumber((short)pEnv->m_nXGridLines);                CComPtr<IDMGraphAxis> spAxisY;                m_pDMGraphCtrl->get_Axis( VerticalY, &spAxisY);                spAxisY->put_GridNumber((short)pEnv->m_nYGridLines);                // Set Show Grid                spAxisX->put_ShowGrid(pEnv->m_bShowGrid ? VARIANT_TRUE : VARIANT_FALSE);                spAxisY->put_ShowGrid(pEnv->m_bShowGrid ? VARIANT_TRUE : VARIANT_FALSE);                // Set Format String                spAxisX->put_Format( CComBSTR(defSTR_X_AXIS_FORMAT) );                spAxisY->put_Format( CComBSTR(defSTR_Y_AXIS_FORMAT) );                // Set X,Y Range                double dXMin,dXMax, dYMin, dYMax;                m_pDMGraphCtrl->GetRange(&dXMin, &dXMax, &dYMin, &dYMax);                dYMax = 100.0;                m_pDMGraphCtrl->SetRange(defDEFAULT_XRANGE_MIN, defDEFAULT_XRANGE_MAX, dYMin, dYMax);                //Set the caption                BSTR bstrCaption(L"Graph Display - CAN");                m_pDMGraphCtrl->put_Caption(bstrCaption);            }            // Update Local DDX Variables            UpdateData( FALSE );            // Update Axis and action            vSetAction();        }    }}
开发者ID:Ferrere,项目名称:busmaster,代码行数:82,


示例18: CComBSTR

BOOL CVCAMetaParserMSXML::ParseObjects( ){	// Find all the objects	CComBSTR					bsTag;		MSXML2::IXMLDOMNodePtr		pNode, pSubNode, pSubSubNode, pSubSubSubNode;	// Great names eh ;~)	MSXML2::IXMLDOMNodeListPtr	pNodeList, pSubNodeList;	// See if we have any objects this time round	bsTag = CComBSTR( _XML_VCA ) += CComBSTR("/") += CComBSTR( _XML_OBJECTS );	pNode = m_pDOMDoc->selectSingleNode( bsTag.operator BSTR() );// 	ATLTRACE( "====================================================== /n" );	if( pNode )	{		// There are some in this packet		// Wipe out all exisiting		m_vcaObjects.ulTotalObject = 0;		// Select all objects		bsTag = CComBSTR( _XML_OBJECT );		pNodeList = pNode->selectNodes( bsTag.operator BSTR() );		// Iterate through all the nodes		pNode = pNodeList->nextNode();		while( pNode )		{			VCA5_PACKET_OBJECT	vcaObj;			memset( &vcaObj, 0, sizeof( vcaObj ) );			// Id			bsTag = CComBSTR( _XML_ID );			pSubNode = pNode->selectSingleNode( bsTag.operator BSTR() );			if( pSubNode )			{				VarUI4FromStr( pSubNode->text, LCID_ENGLISH, LOCALE_NOUSEROVERRIDE, (unsigned long *)&vcaObj.ulId );			}			// Calibrated height and speed			bsTag = CComBSTR( _XML_CH );			pSubNode = pNode->selectSingleNode( bsTag.operator BSTR() );			if( pSubNode )			{								VarUI4FromStr( pSubNode->text, LCID_ENGLISH, LOCALE_NOUSEROVERRIDE, (unsigned long *)&vcaObj.ulCalibHeight);			}			bsTag = CComBSTR( _XML_CS );			pSubNode = pNode->selectSingleNode( bsTag.operator BSTR() );			if( pSubNode )			{				VarUI4FromStr( pSubNode->text, LCID_ENGLISH, LOCALE_NOUSEROVERRIDE, (unsigned long *)&vcaObj.ulCalibSpeed);			}			bsTag = CComBSTR( _XML_CA );			pSubNode = pNode->selectSingleNode( bsTag.operator BSTR() );			if( pSubNode )			{				VarUI4FromStr( pSubNode->text, LCID_ENGLISH, LOCALE_NOUSEROVERRIDE, (unsigned long *)&vcaObj.ulCalibArea);			}			bsTag = CComBSTR( _XML_CLS );			pSubNode = pNode->selectSingleNode( bsTag.operator BSTR() );			if( pSubNode )			{				VarI4FromStr( pSubNode->text, LCID_ENGLISH, LOCALE_NOUSEROVERRIDE, (long *)&vcaObj.iClassificationId);			}			else			{				vcaObj.iClassificationId = -2;  // unknown				}			bsTag = CComBSTR( _XML_COLSIG );			pSubNode = pNode->selectSingleNode( bsTag.operator BSTR() );			if( pSubNode )			{				std::string tempColSigs = pSubNode->text;				for(int n=0; n<VCA5_APP_PALETTE_SIZE; n++)				{					vcaObj.colSigs[n] = (UCHAR)strtoul( tempColSigs.substr(n*2,2).c_str(), NULL, 16 );				}// 				ATLTRACE( "%s: %d %d %d %d %d %d %d %d %d %d /n",  tempColSigs.c_str(), // 					vcaObj.colSigs[0], vcaObj.colSigs[1], vcaObj.colSigs[2], vcaObj.colSigs[3], vcaObj.colSigs[4],// 					vcaObj.colSigs[5], vcaObj.colSigs[6], vcaObj.colSigs[7], vcaObj.colSigs[8], vcaObj.colSigs[9] );			}			else			{				for(int n=0; n<VCA5_APP_PALETTE_SIZE; n++)				{					vcaObj.colSigs[n] = 0;				}			}			// Bounding box			ParseBBox( pNode, &vcaObj.bBox );//.........这里部分代码省略.........
开发者ID:anyboo,项目名称:UCADemo,代码行数:101,


示例19: GetFittingParam

STDMETHODIMP CStrokeRecognition::put_RecognitionParam(BSTR newVal){	double		Segment_Error_Threshold;	double		Arc_Error_Threshold;	double		Arc_Min_Length;	double		Arc_Min_Curve;	double		Stroke_Min_Length;	double		Min_Turning_Angle;	double		Segmentation_Penalty;	VARIANT		value;	BSTR		nodeName;	long		n;	IXMLDOMDocument*		pDoc;	IXMLDOMNodeList*		pNodeList;	IXMLDOMNode*			pNode;	IXMLDOMNode*			pParamNode;	IXMLDOMNode*			pAttrNode;	IXMLDOMNamedNodeMap*	pNodeMap;	VARIANT_BOOL			bLoaded;	GetFittingParam(Segment_Error_Threshold, Arc_Error_Threshold, Arc_Min_Length, Arc_Min_Curve, Stroke_Min_Length, Min_Turning_Angle, Segmentation_Penalty);	if (SUCCEEDED(CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (LPVOID*)&pDoc)))	{		pDoc->put_async(VARIANT_FALSE);		pDoc->loadXML(newVal, &bLoaded);		if (bLoaded == VARIANT_TRUE)		{			if (SUCCEEDED(pDoc->get_childNodes(&pNodeList)))			{				pParamNode = NULL;				pNodeList->get_length(&n);				for (int i = 0; i < n; i++)				{					if (SUCCEEDED(pNodeList->get_item(i, &pNode)))					{						nodeName = NULL;						if (SUCCEEDED(pNode->get_nodeName(&nodeName)))						{							if (CComBSTR(nodeName) == L"param")							{								pParamNode = pNode;								pParamNode->AddRef();								break;							}							SysFreeString(nodeName);						}						pNode->Release();					}				}				pNodeList->Release();				if (pParamNode != NULL)				{					if (SUCCEEDED(pParamNode->get_attributes(&pNodeMap)))					{						if (SUCCEEDED(pNodeMap->getNamedItem(L"Segment_Error_Threshold", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);							Segment_Error_Threshold = _wtof(value.bstrVal);							pAttrNode->Release();						}						if (SUCCEEDED(pNodeMap->getNamedItem(L"Arc_Error_Threshold", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);							Arc_Error_Threshold = _wtof(value.bstrVal);							pAttrNode->Release();						}						if (SUCCEEDED(pNodeMap->getNamedItem(L"Arc_Min_Length", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);							Arc_Min_Length = _wtof(value.bstrVal);							pAttrNode->Release();						}						if (SUCCEEDED(pNodeMap->getNamedItem(L"Arc_Min_Curve", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);							Arc_Min_Curve = _wtof(value.bstrVal);							pAttrNode->Release();						}						if (SUCCEEDED(pNodeMap->getNamedItem(L"Stroke_Min_Length", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);							Stroke_Min_Length = _wtof(value.bstrVal);							pAttrNode->Release();						}						if (SUCCEEDED(pNodeMap->getNamedItem(L"Min_Turning_Angle", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);							Min_Turning_Angle = _wtof(value.bstrVal);							pAttrNode->Release();						}						if (SUCCEEDED(pNodeMap->getNamedItem(L"Segmentation_Penalty", &pAttrNode)))						{							pAttrNode->get_nodeValue(&value);//.........这里部分代码省略.........
开发者ID:sanyaade-g2g-repos,项目名称:quickdiagram,代码行数:101,


示例20: CHECK_E_POINTER

STDMETHODIMP CShowWindowCommand::GetCommandText(REFGUID guidCommand, BSTR* bstrText){	CHECK_E_POINTER(bstrText);	*bstrText = CComBSTR(L"Settings...");	return S_OK;}
开发者ID:ip821,项目名称:BaseNotifier,代码行数:6,


示例21: urlString

void CMSDNForumHelper::RevealHiddenLinks(IHTMLDocument2* pDocument){	CComBSTR url;	HRESULT hr=pDocument->get_URL(&url);	if(hr==S_OK)	{		url.ToLower();		CString urlString(url);		if(urlString.Find(_T("microsoft.com"))==-1)			return;		if(urlString.Find(_T("social"))==1)			return;			}    CComPtr<IHTMLElementCollection> linkElementCollection;    // Get the collection of images from the DOM.	 hr = pDocument->get_links(&linkElementCollection);    if (hr == S_OK && linkElementCollection != NULL)    {        // Get the number of images in the collection.        long linkCount = 0;        hr = linkElementCollection->get_length(&linkCount);        if (hr == S_OK && linkCount > 0)        {            for (int i = 0; i < linkCount; i++)            {                CComVariant varItemIndex(i);                CComVariant varEmpty;                CComPtr<IDispatch> linkDispatch;                // Get the link out of the collection by index.                hr = linkElementCollection->item(varItemIndex, varEmpty, &linkDispatch);                if (hr == S_OK && linkDispatch != NULL)                {					//filter out hot spot on images					CComQIPtr<IHTMLAnchorElement> anchorElement(linkDispatch);					if(anchorElement==NULL) continue;                    //query for the generic HTML element interface					CComQIPtr<IHTMLElement> linkElement(linkDispatch);					                    if (linkElement)                    {                        // ...then ask for the style interface.                        CComPtr<IHTMLStyle> linkStyle;						hr = linkElement->get_style(&linkStyle);                        // Set display="none" to hide the image.                        if (hr == S_OK && linkStyle != NULL)                        {                            							CComVariant linkCollor;							hr=linkStyle->get_color(&linkCollor);							if(linkCollor.vt==VT_BSTR)							{								CComBSTR linkCollorString(linkCollor.bstrVal);								if (hr == S_OK && linkCollorString.Length()>0)								{									linkStyle->put_backgroundColor(CComVariant(_T("red")));									linkStyle->put_color(CComVariant(_T("")));									CComBSTR href,text;									anchorElement->get_href(&href);									linkElement->get_innerText(&text);									CString newText;									newText.Format(_T("hidden link, possible spam: text: %s, url: %s"),text,href);									linkElement->put_innerText(CComBSTR(newText));								}							}                        }                    }                }            }        }    }}
开发者ID:jiangsheng,项目名称:MSDN-forum-SEO-spam-revealer,代码行数:72,


示例22: AssertBotE

void CIntelBottomView::OnDraw(CDC* dc){	CBotEDoc* pDoc = resources::pDoc;	AssertBotE(pDoc);	if (!pDoc->m_bDataReceived)		return;	CMajor* pMajor = m_pPlayersRace;	AssertBotE(pMajor);	if (!pMajor)		return;	// TODO: add draw code here	// Doublebuffering wird initialisiert	CMyMemDC pDC(dc);	CRect client;	GetClientRect(&client);	// Graphicsobjekt, in welches gezeichnet wird anlegen	Graphics g(pDC->GetSafeHdc());	g.Clear(static_cast<Gdiplus::ARGB>(Color::Black));	g.SetSmoothingMode(SmoothingModeHighSpeed);	g.SetInterpolationMode(InterpolationModeLowQuality);	g.SetPixelOffsetMode(PixelOffsetModeHighSpeed);	g.SetCompositingQuality(CompositingQualityHighSpeed);	g.ScaleTransform((REAL)client.Width() / (REAL)m_TotalSize.cx, (REAL)client.Height() / (REAL)m_TotalSize.cy);	CString fontName = "";	Gdiplus::REAL fontSize = 0.0;	StringFormat fontFormat;	SolidBrush fontBrush(static_cast<Gdiplus::ARGB>(Color::White));	Color color;	color.SetFromCOLORREF(pMajor->GetDesign()->m_clrGalaxySectorText);	fontBrush.SetColor(color);	Bitmap* graphic = pDoc->GetGraphicPool()->GetGDIGraphic("Backgrounds//" + pMajor->GetPrefix() + "diplomacyV3.boj");	// Grafik zeichnen	if (graphic)	{		g.DrawImage(graphic, 0, 0, 1075, 249);		graphic = NULL;	}	// Nur in bestimmten Submenüs werden in der View3 Berichte angezeigt	BYTE curIntelSubMenu = resources::pMainFrame->GetSubMenu(RUNTIME_CLASS(CIntelMenuView));	if (curIntelSubMenu == 4 || curIntelSubMenu == 5)	{		CRect r;		r.SetRect(0,0,m_TotalSize.cx,m_TotalSize.cy);		short n = pMajor->GetEmpire()->GetIntelligence()->GetIntelReports()->GetActiveReport();		if (n != -1)		{			CFontLoader::CreateGDIFont(pMajor, 4, fontName, fontSize);			fontFormat.SetAlignment(StringAlignmentNear);			fontFormat.SetLineAlignment(StringAlignmentNear);			fontFormat.SetFormatFlags(StringFormatFlagsNoWrap);			CIntelObject* report = pMajor->GetEmpire()->GetIntelligence()->GetIntelReports()->GetReport(n);			CString s;			if (report->GetIsSpy())				s = CLoc::GetString("SPY");			else				s = CLoc::GetString("SABOTAGE");			g.DrawString(CComBSTR(s), -1, &Gdiplus::Font(CComBSTR(fontName), fontSize), RectF(40, 40, r.right-100, r.bottom-20), &fontFormat, &fontBrush);			CFontLoader::CreateGDIFont(pMajor, 2, fontName, fontSize);			fontBrush.SetColor(Color(200,200,250));			fontFormat.SetFormatFlags(!StringFormatFlagsNoWrap);			if (report->GetOwner() == pMajor->GetRaceID())				s = *report->GetOwnerDesc();			else				s = *report->GetEnemyDesc();			g.DrawString(CComBSTR(s), -1, &Gdiplus::Font(CComBSTR(fontName), fontSize), RectF(40, 100, r.right-250, r.bottom-20), &fontFormat, &fontBrush);		}	}	g.ReleaseHDC(pDC->GetSafeHdc());}
开发者ID:IcyX,项目名称:bote,代码行数:80,


示例23: parseCommandLine

int parseCommandLine() {    int iRet    =   0;    int iNumArgs, iNumToBeProcessed;    LPTSTR lpstrCommandArgs=GetCommandLine();        LPTSTR *rgCmdArgs=CommandLineToArgvW(lpstrCommandArgs,&iNumArgs);    // To take care of no command line arguments    if (iNumArgs <= 1 ) {        iRet = -1;        goto Cleanup;    }    // Check if one argument only and that is the /? argument    if (0==_tcsncicmp(rgCmdArgs[1],CAzGlobalOptions::HELPTAG , CAzGlobalOptions::HELPTAG_LEN)) {          DisplayUsage();          iRet = 1;          goto Cleanup;    }    // if more than one argument but not the required 2 arguments    if (iNumArgs < 3 ) {        iRet = -1;        goto Cleanup;    }    CAzGlobalOptions::m_bstrDestStoreName.Attach(CComBSTR(rgCmdArgs[1]).Copy());    CAzGlobalOptions::m_bstrSourceStoreName.Attach(CComBSTR(rgCmdArgs[2]).Copy());    CAzGlobalOptions::setDefaults();    iNumToBeProcessed = iNumArgs-3;    for (int i = 3 ; i < iNumArgs ; i++) {                // Checking for /logfile        if (0==_tcsncicmp(rgCmdArgs[i],CAzGlobalOptions::LOGFILETAG,CAzGlobalOptions::LOGFILETAG_LEN)) {            _TCHAR *strRightPart=_tcschr(rgCmdArgs[i],_TCHAR('='));            if (NULL==strRightPart) {                iRet = -1;                goto Cleanup;            }            CAzLogging::Initialize(CAzLogging::LOG_LOGFILE,&strRightPart[1]);            iNumToBeProcessed--;        } else if (0==_tcsncicmp(rgCmdArgs[i],CAzGlobalOptions::APPNAMETAG,CAzGlobalOptions::APPNAMETAG_LEN)) {            //Checking for /application flag            LPTSTR strTmp;            _TCHAR *strRightPart=_tcschr(rgCmdArgs[i],_TCHAR('='));            if (NULL==strRightPart) {                iRet = -1;                goto Cleanup;            }            CAzGlobalOptions::m_bSpecificApp=true;            _TCHAR *strAppNames =_tcstok_s(&strRightPart[1],_TEXT(","),&strTmp);            while (strAppNames!=NULL) {                CAzGlobalOptions::m_bstrAppNames.push_back(CComBSTR(strAppNames).Copy());                /* While there are tokens in "string" */                /* Get next token: */                strAppNames =_tcstok_s(NULL,_TEXT(","),&strTmp);                }            iNumToBeProcessed--;        } else if (0==_tcsncicmp(rgCmdArgs[i] , CAzGlobalOptions::OVERWRITETAG , CAzGlobalOptions::OVERWRITETAG_LEN)) {            //Checking for /overwrite flag            CAzGlobalOptions::m_bOverWrite=true;            iNumToBeProcessed--;        } else if (0==_tcsncicmp(rgCmdArgs[i] , CAzGlobalOptions::IGNOREMEMBERSTAG,CAzGlobalOptions::IGNOREMEMBERSTAG_LEN)) {            //Checking for /IGNOREMEMBERS flag            CAzGlobalOptions::m_bIgnoreMembers=true;            iNumToBeProcessed--;        } else if (0==_tcsncicmp(rgCmdArgs[i] , CAzGlobalOptions::IGNOREPOLICYADMINSTAG , CAzGlobalOptions::IGNOREPOLICYADMINSTAG_LEN)) {            //Checking for /IGNOREPOLICYADMIN flag//.........这里部分代码省略.........
开发者ID:Essjay1,项目名称:Windows-classic-samples,代码行数:101,


示例24: __declspec

extern "C" __declspec(dllexport) bool PinToStartMenu4XP(bool bPin, char* szPath){	TSAUTO();	TCHAR file_dir[MAX_PATH + 1] = {0};	TCHAR *file_name;	wchar_t* pwstr_Path = AnsiToUnicode(szPath);	if(pwstr_Path == NULL){		return false;	}	wcscpy_s(file_dir,MAX_PATH,pwstr_Path);	PathRemoveFileSpecW(file_dir);	file_name = PathFindFileName(pwstr_Path);	::CoInitialize(NULL);	CComPtr<IShellDispatch> pShellDisp;	CComPtr<Folder> folder_ptr;	CComPtr<FolderItem> folder_item_ptr;	CComPtr<FolderItemVerbs> folder_item_verbs_ptr;	HRESULT rv = CoCreateInstance( CLSID_Shell, NULL, CLSCTX_SERVER,IID_IDispatch, (LPVOID *) &pShellDisp );	do 	{		IF_FAILED_OR_NULL_BREAK(rv,pShellDisp);		rv = pShellDisp->NameSpace(_variant_t(file_dir),&folder_ptr);		IF_FAILED_OR_NULL_BREAK(rv,folder_ptr);		rv = folder_ptr->ParseName(CComBSTR(file_name),&folder_item_ptr);		IF_FAILED_OR_NULL_BREAK(rv,folder_item_ptr);		rv = folder_item_ptr->Verbs(&folder_item_verbs_ptr);		IF_FAILED_OR_NULL_BREAK(rv,folder_item_verbs_ptr);		long count = 0;		folder_item_verbs_ptr->get_Count(&count);		for (long i = 0; i < count ; ++i)		{			FolderItemVerb* item_verb = NULL;			rv = folder_item_verbs_ptr->Item(_variant_t(i),&item_verb);			if (SUCCEEDED(rv) && item_verb)			{				CComBSTR bstrName;				item_verb->get_Name(&bstrName);				if ( VerbNameMatch(bstrName,bPin) )				{					TSDEBUG4CXX("Find Verb to Pin:"<< bstrName);					int i = 0;					do					{						rv = item_verb->DoIt();						TSDEBUG4CXX("Try Do Verb. NO." << i+1 << ", return="<<rv);						if (SUCCEEDED(rv))						{							::SHChangeNotify(SHCNE_UPDATEDIR|SHCNE_INTERRUPT|SHCNE_ASSOCCHANGED, SHCNF_IDLIST |SHCNF_FLUSH | SHCNF_PATH|SHCNE_ASSOCCHANGED,								pwstr_Path,0);							Sleep(500);							delete [] pwstr_Path;							::CoUninitialize();							return true;						}else						{							Sleep(500);							rv = item_verb->DoIt();						}					}while ( i++ < 3);											break;				}			}		}	} while (0);	delete [] pwstr_Path;	::CoUninitialize();	return false;}
开发者ID:fanliaokeji,项目名称:lvdun,代码行数:74,



注:本文中的CComBSTR函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CComVariant函数代码示例
C++ CColor函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。