Example #1
0
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 );
}
Example #2
0
//***************************************************************************************
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;
}
Example #3
0
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;
    }
Example #4
0
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);
}
Example #5
0
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;
}
Example #6
0
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;
    }
}
Example #7
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);
}
Example #8
0
short PASCAL _Cover_EnumObjects( HDC dc, short obj, FARPROC p, LPSTR data )
{
    return( EnumObjects( dc, obj, SetProc( p, GETPROC_ENUMOBJECTS ),
                (LPARAM)data ) );
}