int far pascal zEnumObjects( HDC pp1, int pp2, FARPROC pp3, LPSTR pp4 ) { int r; FARPROC fp ; SaveRegs(); /* ** Log IN Parameters (No Create/Destroy Checking Yet!) */ LogIn( (LPSTR)"APICALL:EnumObjects HDC+int+FARPROC+LPSTR+", pp1, pp2, pp3, pp4 ); if( pp2 == OBJ_PEN ) fp = (FARPROC)HookAdd( (void far *)EnumPens, (void far *)pp3 ) ; else fp = (FARPROC)HookAdd( (void far *)EnumBrushes, (void far *)pp3 ) ; /* ** Call the API! */ RestoreRegs(); GrovelDS(); r = EnumObjects(pp1,pp2,fp,pp4); UnGrovelDS(); SaveRegs(); /* ** Log Return Code & OUT Parameters (No Create/Destroy Checking Yet!) */ LogOut( (LPSTR)"APIRET:EnumObjects int+++++", r, (short)0, (short)0, (short)0, (short)0 ); RestoreRegs(); return( r ); }
//*************************************************************************************** HRESULT CBCGPShellList::DisplayFolder (LPBCGCBITEMINFO pItemInfo) { HRESULT hr = E_FAIL; if (g_pShellManager == NULL) { ASSERT (FALSE); return hr; } if (pItemInfo != NULL) { ReleaseCurrFolder(); hr = LockCurrentFolder(pItemInfo); if (FAILED(hr)) { return hr; } } DeleteAllItems (); if (m_psfCurFolder != NULL) { CWaitCursor wait; SetRedraw (FALSE); hr = EnumObjects (m_psfCurFolder, m_pidlCurFQ); if (GetStyle () & LVS_REPORT) { Sort (BCGPShellList_ColumnName); } SetRedraw (TRUE); RedrawWindow (); } if (SUCCEEDED (hr) && pItemInfo != NULL) { CBCGPShellTree* pTree = GetRelatedTree (); if (pTree != NULL && !m_bNoNotify) { ASSERT_VALID (pTree); pTree->SelectPath (m_pidlCurFQ); } if (GetParent () != NULL) { GetParent ()->SendMessage (BCGPM_CHANGE_CURRENT_FOLDER); } } return hr; }
BOOL CRecycleBin::RecycleBinIsEmpty() { CComPtr<IEnumIDList> spEnumFiles; HRESULT hr = EnumObjects(NULL, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &spEnumFiles); if (FAILED(hr)) return TRUE; CComHeapPtr<ITEMIDLIST> spPidl; ULONG itemcount; return spEnumFiles->Next(1, &spPidl, &itemcount) != S_OK; }
DInputDevice::DInputDevice(DInput *dinput, LPDIRECTINPUT8 di, DIDEVICEINSTANCE &device, HWND hwnd) : _did(nullptr), _instanceGuid(device.guidInstance), _productGuid(device.guidProduct), _name(device.tszProductName), _instanceName(device.tszInstanceName), _dataPacket(nullptr), _dataPacketSize(0), _acquired(false), _hwnd(hwnd), _numAxes(0), _numButtons(0), _numPOVs(0), _dinput(dinput), _deviceId(dinput->GetGUIDId(device.guidInstance)) { HRESULT result; result = di->CreateDevice(device.guidInstance, &_did, nullptr); if (result != DI_OK) { Log(Error, "Could not create direct input 8 device interface: 0x%08x", result); return; } SetCooperativeLevel(false, true); GetCapabilities(); EnumObjects(); SetDataFormat(); SetBufferSize(sizeof(DIJOYSTATE)); Acquire(); GetState(_lastState); }
BOOL CMyTreeView::GetChildItems(HTREEITEM hParentItem) { TVITEM tvItem = {0}; tvItem.mask = TVIF_PARAM; tvItem.hItem = hParentItem; if (!GetItem(tvItem)) return FALSE; //change the cursor HCURSOR hCursor = ::SetCursor(LoadCursor(NULL, IDC_WAIT)); //turn redawing off in the TreeView. This will speed things up as we add items SendMessage(WM_SETREDRAW, FALSE, 0); TreeItemData* pItem = (TreeItemData*)tvItem.lParam; CShellFolder cParentFolder; HRESULT hr; //if the parent folder is NULL, then we are at the root of the namespace, so the parent of this item is the desktop folder if (!pItem->GetParentFolder().GetIShellFolder()) hr = cParentFolder.SHGetDesktopFolder(); //otherwise we need to get the IShellFolder for this item else hr = pItem->GetParentFolder().BindToObject(pItem->GetRelCpidl(), NULL, IID_IShellFolder, cParentFolder); if (FAILED(hr)) return FALSE; EnumObjects(hParentItem, cParentFolder, pItem->GetFullCpidl()); //sort the new items TV_SORTCB tvSort; tvSort.hParent = hParentItem; tvSort.lpfnCompare = CompareProc; tvSort.lParam = 0; SortChildrenCB(tvSort, 0); //turn redawing back on in the TreeView SendMessage(WM_SETREDRAW, TRUE, 0); UpdateWindow(); ::SetCursor(hCursor); return TRUE; }
int EnumObjectsMain( int argc, char** ppszArgv ) { DWORD dwError = 0; dwError = ParseArguments(argc, ppszArgv); BAIL_ON_LSA_ERROR(dwError); if (!gState.bShowUsage) { dwError = EnumObjects(); BAIL_ON_LSA_ERROR(dwError); } error: if (gState.bShowUsage) { ShowUsage(ppszArgv[0], TRUE); } else if (dwError == LW_ERROR_INVALID_PARAMETER) { ShowUsage(ppszArgv[0], FALSE); } if (dwError) { printf("Error: %s (%x)\n", LwWin32ExtErrorToName(dwError), dwError); return 1; } else { return 0; } }
void EnumDocument(IHTMLDocument2 *pIHTMLDocument2, HWND hWnd) { HRESULT hr; USES_CONVERSION; if(hWnd == NULL) hWnd = GetWindowHandle(pIHTMLDocument2); if (hWnd != NULL) { HWND hParentWnd = ::GetAncestor(hWnd, GA_ROOTOWNER); TCHAR lpCaption[MAX_PATH] = {0}; ::GetWindowText(hParentWnd, lpCaption, MAX_PATH); cout << _T("============") << hParentWnd << lpCaption << _T("============") << endl; } if (!pIHTMLDocument2) return; CComBSTR bstrTitle, bstrURL, bstrHTML; pIHTMLDocument2->get_title(&bstrTitle); //取得文档标题 pIHTMLDocument2->get_URL(&bstrURL); CComQIPtr <IHTMLElement> spBody; hr = pIHTMLDocument2->get_body(&spBody); if (FAILED(hr)) return; CComQIPtr <IHTMLElement> spHTML; hr = spBody->get_parentElement(&spHTML); if (FAILED(hr)) return; spHTML->get_outerHTML(&bstrHTML); cout << _T("Title: ") << (bstrTitle ? OLE2CT(bstrTitle) : _T("")) << endl; cout << _T("URL: ") << (bstrURL ? OLE2CT(bstrURL) : _T("")) << endl; // cout << _T("HTML: ") << (bstrHTML ? OLE2CT(bstrHTML) : _T("")) << endl; EnumForms(pIHTMLDocument2); EnumObjects(pIHTMLDocument2); EnumEmbeds(pIHTMLDocument2); EnumFrames(pIHTMLDocument2); }
short PASCAL _Cover_EnumObjects( HDC dc, short obj, FARPROC p, LPSTR data ) { return( EnumObjects( dc, obj, SetProc( p, GETPROC_ENUMOBJECTS ), (LPARAM)data ) ); }