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

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

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

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

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

示例1: new

//.........这里部分代码省略.........//------------------------------------------------------------------------------IFACEMETHODIMP CDevicePropertyPage::AddPages(    __in LPFNADDPROPSHEETPAGE pfnAddPage,    __in LPARAM lParam    ){    HPROPSHEETPAGE  hPage;    HRESULT         hr  = S_OK;    PROPSHEETPAGE   psp = {0};    PROPSINPUT*     pPropsInput = NULL;    if( NULL == pfnAddPage )    {        return E_INVALIDARG;    }    //    // Allocate the PROPSINPUT struct    //    pPropsInput = new (std::nothrow) PROPSINPUT;    if( NULL == pPropsInput )    {        hr = E_OUTOFMEMORY;    }    if( S_OK == hr )    {        //        // Fill out the PROPSHEETPAGE structure        //        psp.dwSize = sizeof(PROPSHEETPAGE);        psp.dwFlags = PSP_USECALLBACK;        psp.hInstance = g_hInstance;        psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE_DEVICE);        psp.pfnDlgProc = PropPageDlgProc;        psp.lParam = reinterpret_cast<LPARAM>( pPropsInput );        psp.pfnCallback = PropPageDlgCleanup;        //        // Give a reference to the shell item to the callback data        //        hr = m_pShellItem->QueryInterface( &pPropsInput->pShellItem );    }    //    // Grab the icon from the shell item    //    if( S_OK == hr )    {        hr = GetIconFromItem( m_pShellItem, SHIL_LARGE, &pPropsInput->hIcon );    }    //    // Create the page    //    hPage = CreatePropertySheetPage( &psp );    if( NULL == hPage )    {        hr = E_OUTOFMEMORY;    }    //    // Give the shell the page    //    if( S_OK == hr &&        !pfnAddPage( hPage, lParam ) )    {        hr = E_FAIL;    }    //    // As the documentation for AddPages describes, you can "request" that your    // page is the one visibile when the property sheet is loaded. You can do    // this by giving the index of the page you added (1 based). In this sample    // we just added one page, so we can return 1 instead of the HR (assuming    // we didn't fail) to request our page to be the one visible on launch.    // Keep in mind it is a "request" and is not guaranteed.     //    if( S_OK == hr )    {        hr = static_cast<HRESULT>(1);    }    else    {        if( NULL != hPage )        {            DestroyPropertySheetPage( hPage );        }        if( NULL != pPropsInput->pShellItem )        {            pPropsInput->pShellItem->Release();        }        if( NULL != pPropsInput->hIcon )        {            DestroyIcon( pPropsInput->hIcon );        }    }    return hr;}// CDevicePropertyPage::AddPages
开发者ID:Ippei-Murofushi,项目名称:WindowsSDK7-Samples,代码行数:101,


示例2: ExtractIndifySizeIcon

bool ExtractIndifySizeIcon(LPCTSTR strExeFile,LPCTSTR strNameNoExt,UINT iSizeBig,UINT iSizeSmall,int iIndexICon = 0){	HICON hIconArry[2];	UINT uSize = (iSizeSmall<<16) + iSizeBig;	BOOL bok1 = false;	BOOL bok2 = false;	CString strNamePart;	strNamePart.Format("_%d.png",iSizeBig);	string strPngFileBig     = string(strNameNoExt)  + (LPCTSTR)strNamePart;	strNamePart.Format("_%d.png",iSizeSmall);	string strPngFileSmall   = string(strNameNoExt)  + (LPCTSTR)strNamePart;	HRESULT hr = SHDefExtractIcon(strExeFile,iIndexICon,0,hIconArry,NULL,uSize); //提取大图标	if (S_OK == hr)	{		bok1  = SavePngFile(hIconArry[0],strPngFileBig.c_str());		if (!bok1)			ZTools::WriteZToolsFormatLog("保存png文件【%s】失败!",strPngFileBig.c_str());	}	else if (hr == S_FALSE)	{		ZTools::WriteZToolsFormatLog("从文件【%s】中获取索引为【%d】,尺寸为【%d】的图标失败:The requested icon is not present.",			strExeFile,iIndexICon,iSizeBig);	}	else if (hr == E_FAIL)	{		ZTools::WriteZToolsFormatLog("从文件【%s】中获取索引为【%d】,尺寸为【%d】的图标失败:The file cannot be accessed, or is being accessed through a slow link.",			strExeFile,iIndexICon,iSizeBig);	}	hr = SHDefExtractIcon(strExeFile,iIndexICon,0,NULL,&hIconArry[1],uSize);	if (S_OK == hr)	{		bok2  = SavePngFile(hIconArry[1],strPngFileSmall.c_str());		if (!bok2)			ZTools::WriteZToolsFormatLog("保存png文件【%s】失败!",strPngFileSmall.c_str());	}	else if (hr == S_FALSE)	{		ZTools::WriteZToolsFormatLog("从文件【%s】中获取索引为【%d】,尺寸为【%d】的图标失败:The requested icon is not present.",			strExeFile,iIndexICon,iSizeSmall);	}	else if (hr == E_FAIL)	{		ZTools::WriteZToolsFormatLog("从文件【%s】中获取索引为【%d】,尺寸为【%d】的图标失败:The file cannot be accessed, or is being accessed through a slow link.",			strExeFile,iIndexICon,iSizeSmall);	}	if (bok1 && !bok2) //保存小图标,用大图标拉伸	{		bok2 = SavePngFile(hIconArry[0],strPngFileSmall.c_str(),iSizeSmall,iSizeSmall);		DestroyIcon(hIconArry[0]);	}	else if (!bok1 && bok2) //保存大图标,用小图标拉伸	{		bok1 = SavePngFile(hIconArry[1],strPngFileBig.c_str(),iSizeBig,iSizeBig);		DestroyIcon(hIconArry[1]);	}	if (bok1 && bok2) // 大小图标都提取保存失败	{		DestroyIcon(hIconArry[0]);		DestroyIcon(hIconArry[1]);		return true;	}	if (!bok1 && !bok2) // 大小图标都提取保存失败		return false;	return false;}
开发者ID:cugxiangzhenwei,项目名称:WorkPlatForm,代码行数:71,


示例3: StatusMenuCheckService

//.........这里部分代码省略.........			char buf[255];			mir_snprintf(buf, SIZEOF(buf), "*XStatus%d", XStatus);			bool check = wildcmp(smep->svc, buf) != 0;			bool reset = wildcmp(smep->svc, "*XStatus0") != 0;			if (check)				timi->mi.flags |= CMIF_CHECKED;			else				timi->mi.flags &= ~CMIF_CHECKED;			if (reset || check) {				PMO_IntMenuItem timiParent = MO_GetIntMenuItem(timi->mi.root);				if (timiParent) {					CLISTMENUITEM mi2 = { sizeof(mi2) };					mi2.flags = CMIM_NAME | CMIF_TCHAR;					mi2.ptszName = TranslateTH(timi->mi.hLangpack, timi->mi.hIcon ? timi->mi.ptszName : LPGENT("Custom status"));					timiParent = MO_GetIntMenuItem(timi->mi.root);					MenuItemData it = { 0 };					if (FindMenuHandleByGlobalID(hStatusMenu, timiParent, &it)) {						MENUITEMINFO mi = { 0 };						TCHAR d[100];						GetMenuString(it.OwnerMenu, it.position, d, SIZEOF(d), MF_BYPOSITION);						mi.cbSize = sizeof(mi);						mi.fMask = MIIM_STRING | MIIM_STATE;						if (timi->iconId != -1) {							mi.fMask |= MIIM_BITMAP;							if (IsWinVerVistaPlus() && IsThemeActive()) {								if (timi->hBmp == NULL)									timi->hBmp = ConvertIconToBitmap(NULL, timi->parent->m_hMenuIcons, timi->iconId);								mi.hbmpItem = timi->hBmp;							}							else mi.hbmpItem = HBMMENU_CALLBACK;						}						mi.fState |= (check && !reset ? MFS_CHECKED : MFS_UNCHECKED);						mi.dwTypeData = mi2.ptszName;						SetMenuItemInfo(it.OwnerMenu, it.position, TRUE, &mi);					}					Menu_ModifyItem(timi->mi.root, &mi2);					timiParent->iconId = timi->iconId;					if (timiParent->hBmp) DeleteObject(timiParent->hBmp);					timiParent->hBmp = NULL;				}			}		}	}	else if (smep && smep->status && !smep->custom) {		int curProtoStatus = (smep->proto) ? CallProtoServiceInt(NULL, smep->proto, PS_GETSTATUS, 0, 0) : cli.pfnGetAverageMode(NULL);		if (smep->status == curProtoStatus)			timi->mi.flags |= CMIF_CHECKED;		else			timi->mi.flags &= ~CMIF_CHECKED;	}	else if ((!smep || smep->proto) && timi->mi.pszName) {		int curProtoStatus = 0;		BOOL IconNeedDestroy = FALSE;		char* prot;		if (smep)			prot = smep->proto;		else {			char *prn = mir_u2a(timi->mi.ptszName);			prot = NEWSTR_ALLOCA(prn);			if (prn) mir_free(prn);		}		if (Proto_GetAccount(prot) == NULL)			return TRUE;		if ((curProtoStatus = CallProtoServiceInt(NULL, prot, PS_GETSTATUS, 0, 0)) == CALLSERVICE_NOTFOUND)			curProtoStatus = 0;		if (curProtoStatus >= ID_STATUS_OFFLINE && curProtoStatus < ID_STATUS_IDLE)			timi->mi.hIcon = LoadSkinProtoIcon(prot, curProtoStatus);		else {			timi->mi.hIcon = (HICON)CallProtoServiceInt(NULL, prot, PS_LOADICON, PLI_PROTOCOL | PLIF_SMALL, 0);			if (timi->mi.hIcon == (HICON)CALLSERVICE_NOTFOUND)				timi->mi.hIcon = NULL;			else				IconNeedDestroy = TRUE;		}		if (timi->mi.hIcon) {			timi->mi.flags |= CMIM_ICON;			MO_ModifyMenuItem(timi, &timi->mi);			if (IconNeedDestroy) {				DestroyIcon(timi->mi.hIcon);				timi->mi.hIcon = NULL;			}			else IcoLib_ReleaseIcon(timi->mi.hIcon, 0);		}	}	return TRUE;}
开发者ID:martok,项目名称:miranda-ng,代码行数:101,


示例4: rcCloseBtn

void CTrashSkipCtrl::_DrawSoftItem(CDC& dc, CRect& rcDraw, int nItemIndex){    TRASH_SKIP_ITEM item = m_vecItems[nItemIndex];    HICON hIcon = NULL;    CRect rcCloseBtn(rcDraw);    int xSrc;    _DrawItemBackgnd(dc, rcDraw, nItemIndex);    Gdiplus::Graphics graphics(dc);    rcCloseBtn.left = rcDraw.right - 25;    rcCloseBtn.bottom = rcDraw.top + 25;    if (m_nHoverIndex == nItemIndex && m_nSelectIndex == -1)    {        xSrc = 25;    }    else if (m_nSelectIndex == nItemIndex)    {        xSrc = 50;    }    else    {        xSrc = 0;    }    graphics.DrawImage(m_imgSoftOff, rcCloseBtn.left, rcCloseBtn.top, xSrc, 0, 25, 25, Gdiplus::UnitPixel);    ::CopyRect(m_vecItems[nItemIndex].rcItem, rcCloseBtn);    _GetItemIcon(item.strIconPath, hIcon);    CRect rcIcon(rcDraw);    rcIcon.left += (DEF_ITEM_WIDTH - 6 - 32) / 2;    rcIcon.top += 24;    if (!hIcon)    {                    KAppRes& res = KAppRes::Instance();        if (item.nItemID == BROWER_IE)        {            hIcon = m_iconIE;        }        else        {            hIcon = m_iconUnknow;        }        dc.DrawIcon(rcIcon.left, rcIcon.top, hIcon);    }    else    {        dc.DrawIconEx(rcIcon.left, rcIcon.top, hIcon, 32, 32);    }    _DrawItemText(dc, rcDraw, item.strName);    if (hIcon && (hIcon != m_iconIE && hIcon != m_iconUnknow))    {        DestroyIcon(hIcon);    }}
开发者ID:6520874,项目名称:pcmanager,代码行数:63,


示例5: ToolbarGetImage

//.........这里部分代码省略.........            if (ToolStatusConfig.ModernIcons)            {                toolbarBitmap = LoadImageFromResources(cx, cy, MAKEINTRESOURCE(IDB_APPLICATION_MODERN));            }            else            {                toolbarBitmap = ToolbarLoadImageFromIcon(cx, cy, MAKEINTRESOURCE(IDI_TBAPPLICATION));            }            return toolbarBitmap;        }        break;    case TIDC_FINDWINDOWTHREAD:        {            HBITMAP toolbarBitmap = NULL;            if (ToolStatusConfig.ModernIcons)            {                toolbarBitmap = LoadImageFromResources(cx, cy, MAKEINTRESOURCE(IDB_APPLICATION_GO_MODERN));            }            else            {                toolbarBitmap = ToolbarLoadImageFromIcon(cx, cy, MAKEINTRESOURCE(IDI_APPLICATION_GO));            }            return toolbarBitmap;        }        break;    case TIDC_FINDWINDOWKILL:        {            HBITMAP toolbarBitmap = NULL;            if (ToolStatusConfig.ModernIcons)            {                toolbarBitmap = LoadImageFromResources(cx, cy, MAKEINTRESOURCE(IDB_CROSS_MODERN));            }            else            {                toolbarBitmap = ToolbarLoadImageFromIcon(cx, cy, MAKEINTRESOURCE(IDI_CROSS));            }            return toolbarBitmap;        }        break;    case PHAPP_ID_VIEW_ALWAYSONTOP:        {            HBITMAP toolbarBitmap = NULL;            if (ToolStatusConfig.ModernIcons)            {                toolbarBitmap = LoadImageFromResources(cx, cy, MAKEINTRESOURCE(IDB_APPLICATION_GET_MODERN));            }            else            {                toolbarBitmap = ToolbarLoadImageFromIcon(cx, cy, MAKEINTRESOURCE(IDI_APPLICATION_GET));            }            return toolbarBitmap;        }        break;    case TIDC_POWERMENUDROPDOWN:        {            HBITMAP toolbarBitmap = NULL;            if (ToolStatusConfig.ModernIcons)            {                toolbarBitmap = LoadImageFromResources(cx, cy, MAKEINTRESOURCE(IDB_POWER_MODERN));            }            else            {                toolbarBitmap = ToolbarLoadImageFromIcon(cx, cy, MAKEINTRESOURCE(IDI_LIGHTBULB_OFF));            }            return toolbarBitmap;        }        break;    case PHAPP_ID_HACKER_SHOWDETAILSFORALLPROCESSES:        {            HBITMAP toolbarBitmap = NULL;            HICON shieldIcon = NULL;            if (shieldIcon = PhLoadIcon(NULL, IDI_SHIELD, PH_LOAD_ICON_SIZE_SMALL | PH_LOAD_ICON_STRICT, 0, 0))            {                toolbarBitmap = PhIconToBitmap(                    shieldIcon,                    cx,                    cy                    );                DestroyIcon(shieldIcon);            }            return toolbarBitmap;        }        break;    }    return NULL;}
开发者ID:TETYYS,项目名称:processhacker2,代码行数:101,


示例6: WinObjExMain

//.........这里部分代码省略.........		// set tree imagelist		TreeViewImages = supLoadImageList(g_hInstance, IDI_ICON_VIEW_DEFAULT, IDI_ICON_VIEW_SELECTED);		if (TreeViewImages) {			TreeView_SetImageList(ObjectTree, TreeViewImages, TVSIL_NORMAL);		}		//not enough user rights, insert run as admin menu entry and hide admin only stuff		if (IsFullAdmin == FALSE) {			hMenu = GetSubMenu(GetMenu(MainWindow), 0);			InsertMenu(hMenu, 0, MF_BYPOSITION, ID_FILE_RUNASADMIN, T_RUNASADMIN);			InsertMenu(hMenu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);			//set menu shield icon			RtlSecureZeroMemory(&sii, sizeof(sii));			sii.cbSize = sizeof(sii);			if (SHGetStockIconInfo(SIID_SHIELD, SHGSI_ICON | SHGFI_SMALLICON, &sii) == S_OK) {				supSetMenuIcon(hMenu, ID_FILE_RUNASADMIN, (ULONG_PTR)sii.hIcon);			}			//require driver usage, remove			DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_SSDT, MF_BYCOMMAND);			DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_PRIVATENAMESPACES, MF_BYCOMMAND);		}		//unsupported		if (g_kdctx.osver.dwBuildNumber > 10240) {			DeleteMenu(GetSubMenu(GetMenu(MainWindow), 4), ID_EXTRAS_PRIVATENAMESPACES, MF_BYCOMMAND);		}		//load listview images		ListViewImages = supLoadImageList(g_hInstance, IDI_ICON_DEVICE, IDI_ICON_UNKNOWN);		if (ListViewImages) {			tmpb = LoadImage(g_hInstance, MAKEINTRESOURCE(IDI_ICON_SORTUP), IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);			if (tmpb) {				ImageList_ReplaceIcon(ListViewImages, -1, tmpb);				DestroyIcon(tmpb);			}			tmpb = LoadImage(g_hInstance, MAKEINTRESOURCE(IDI_ICON_SORTDOWN), IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);			if (tmpb) {				ImageList_ReplaceIcon(ListViewImages, -1, tmpb);				DestroyIcon(tmpb);			}			ListView_SetImageList(ObjectList, ListViewImages, LVSIL_SMALL);		}		//load toolbar images		ToolBarMenuImages = ImageList_LoadImage(g_hInstance, MAKEINTRESOURCE(IDB_BITMAP1), 			16, 7, CLR_DEFAULT, IMAGE_BITMAP, LR_CREATEDIBSECTION);		if (ToolBarMenuImages) {			supCreateToolbarButtons(ToolBar1);			//set menu icons			hMenu = GetSubMenu(GetMenu(MainWindow), 1);			if (hMenu) {				supSetMenuIcon(hMenu, ID_VIEW_REFRESH,					(ULONG_PTR)ImageList_ExtractIcon(g_hInstance, ToolBarMenuImages, 1));			}			hMenu = GetSubMenu(GetMenu(MainWindow), 2);			if (hMenu && ListViewImages) {				supSetMenuIcon(hMenu, ID_OBJECT_PROPERTIES,					(ULONG_PTR)ImageList_ExtractIcon(g_hInstance, ToolBarMenuImages, 0));				supSetMenuIcon(hMenu, ID_OBJECT_GOTOLINKTARGET,					(ULONG_PTR)ImageList_ExtractIcon(g_hInstance, ListViewImages, 					ID_FROM_VALUE(IDI_ICON_SYMLINK)));			}
开发者ID:modulexcite,项目名称:WinObjEx64,代码行数:66,


示例7: LoadLSImage

//.........这里部分代码省略.........                    rc.left = 0;                    rc.right = wdtResult;                    rc.bottom = hgtResult;                                        // paint the background in transparent color...                    hbrTransparent = CreateSolidBrush(RGB(255, 0, 255));                    FillRect(hdcResult, &rc, hbrTransparent);                    DeleteObject(hbrTransparent);                                        // first "standard blit" the second image into the new one:                    BitBlt(hdcResult, (wdtResult - wdtSecond) / 2,                        (hgtResult - hgtSecond) / 2, wdtSecond, hgtSecond,                        hdcSecond, 0, 0, SRCCOPY);                                        // Secondly "tranparent blit" the first image over the                    // second one Since TransparentBltLS double buffers the                    // painting to reduce flicker and we are using only memory                    // DC's in this function, we will just call                    // TransparentBltLSWorker and shave off a few BitBlt calls                    TransparentBltLSWorker(hdcResult, wdtFirst, hgtFirst,                        hdcFirst, 0, 0, RGB(255, 0, 255));                                        // deselect the bitmap from the dc and delete the dc to get                    // the image                    SelectObject(hdcResult, hbmResultOld);                    DeleteDC(hdcResult);                                        // delete all used objects                    SelectObject(hdcFirst, hbmFirstOld);                    DeleteObject(hbmFirst);                    DeleteDC(hdcFirst);                                        SelectObject(hdcSecond, hbmSecondOld);                    DeleteObject(hbmSecond);                    DeleteDC(hdcSecond);                                        hbmReturn = hbmResult;                }                else                {                    hbmReturn = hbmFirst;                }            }            else            {                if (!_strnicmp(szImage, ".extract", 8 /*strlen(".extract")*/))                {                    HICON hIcon = NULL;                                        hIcon = LoadLSIcon(szImage, pszFile);                                        if (hIcon)                    {                        hbmReturn = BitmapFromIcon(hIcon);                        DestroyIcon(hIcon);                    }                }                else                {                    // Append the image name to the LiteStep image path and                    // attempt to load the image.                    char szExpandedImage[MAX_PATH];                                        VarExpansionEx(szExpandedImage, szImage, MAX_PATH);                    LSGetImagePath(szImage, MAX_PATH);                    PathAppend(szImage, szExpandedImage);                                        if (PathMatchSpec(szImage, "*.png"))                    {                        hbmReturn = LoadFromPNG(szImage);                    }                    else                    {                        hbmReturn = (HBITMAP)LoadImage(                            NULL, szImage, IMAGE_BITMAP, 0, 0,                            LR_DEFAULTCOLOR | LR_LOADFROMFILE);                    }                                        // If that fails, treat the image as a fully qualified path                    // and try loading it                    if (hbmReturn == NULL)                    {                        if (PathMatchSpec(szExpandedImage, "*.png"))                        {                            hbmReturn = LoadFromPNG(szExpandedImage);                        }                        else                        {                            hbmReturn = (HBITMAP)LoadImage(                                NULL, szExpandedImage, IMAGE_BITMAP, 0, 0,                                LR_DEFAULTCOLOR | LR_LOADFROMFILE);                        }                    }                }            }        }    }        return hbmReturn;}
开发者ID:merlin1991,项目名称:litestep,代码行数:101,


示例8: BeginPaint

//.........这里部分代码省略.........	{		manager.getLine(address,displaySymbols,line);		int rowY1 = rowHeight*i;		int rowY2 = rowHeight*(i+1);		addressPositions[address] = rowY1;		// draw background		COLORREF backgroundColor = whiteBackground ? 0xFFFFFF : debugger->getColor(address);		COLORREF textColor = 0x000000;		if (isInInterval(address,line.totalSize,debugger->getPC()))		{			backgroundColor = scaleColor(backgroundColor,1.05f);		}		if (address >= selectRangeStart && address < selectRangeEnd && searching == false)		{			if (hasFocus)			{				backgroundColor = address == curAddress ? 0xFF8822 : 0xFF9933;				textColor = 0xFFFFFF;			} else {				backgroundColor = 0xC0C0C0;			}		}				HBRUSH backgroundBrush = CreateSolidBrush(backgroundColor);		HPEN backgroundPen = CreatePen(0,0,backgroundColor);		SelectObject(hdc,backgroundBrush);		SelectObject(hdc,backgroundPen);		Rectangle(hdc,0,rowY1,rect.right,rowY1+rowHeight);		SelectObject(hdc,currentBrush);		SelectObject(hdc,nullPen);		DeleteObject(backgroundBrush);		DeleteObject(backgroundPen);		// display address/symbol		bool enabled;		if (CBreakPoints::IsAddressBreakPoint(address,&enabled))		{			if (enabled) textColor = 0x0000FF;			int yOffset = max(-1,(rowHeight-14+1)/2);			if (!enabled) yOffset++;			DrawIconEx(hdc,2,rowY1+1+yOffset,enabled ? breakPoint : breakPointDisable,32,32,0,0,DI_NORMAL);		}		SetTextColor(hdc,textColor);		char addressText[64];		getDisasmAddressText(address,addressText,true,line.type == DISTYPE_OPCODE);		TextOutA(hdc,pixelPositions.addressStart,rowY1+2,addressText,(int)strlen(addressText));				if (isInInterval(address,line.totalSize,debugger->getPC()))		{			TextOut(hdc,pixelPositions.opcodeStart-8,rowY1,L"■",1);		}		// display whether the condition of a branch is met		if (line.info.isConditional && address == debugger->getPC())		{			line.params += line.info.conditionMet ? "  ; true" : "  ; false";		}		drawArguments(hdc, line, pixelPositions.argumentsStart, rowY1 + 2, textColor, currentArguments);					SelectObject(hdc,boldfont);		TextOutA(hdc,pixelPositions.opcodeStart,rowY1+2,line.name.c_str(),(int)line.name.size());		SelectObject(hdc,font);		address += line.totalSize;	}	std::vector<BranchLine> branchLines = manager.getBranchLines(windowStart,address-windowStart);	for (size_t i = 0; i < branchLines.size(); i++)	{		drawBranchLine(hdc,addressPositions,branchLines[i]);	}	SelectObject(hdc,oldFont);	SelectObject(hdc,oldPen);	SelectObject(hdc,oldBrush);	// copy bitmap to the actual hdc	BitBlt(actualHdc, 0, 0, rect.right, rect.bottom, hdc, 0, 0, SRCCOPY);	DeleteObject(hBM);	DeleteDC(hdc);	DeleteObject(nullPen);	DeleteObject(nullBrush);	DeleteObject(currentBrush);		DestroyIcon(breakPoint);	DestroyIcon(breakPointDisable);		EndPaint(wnd, &ps);}
开发者ID:ANR2ME,项目名称:ppsspp,代码行数:101,


示例9: test_CreateBitmapFromHICON

static void test_CreateBitmapFromHICON(void){    static const char bits[4096];    HICON icon;    ICONINFO info;    HRESULT hr;    IWICBitmap *bitmap;    UINT width, height;    WICPixelFormatGUID format;    /* 1 bpp mask */    info.fIcon = 1;    info.xHotspot = 0;    info.yHotspot = 0;    info.hbmColor = 0;    info.hbmMask = CreateBitmap(16, 32, 1, 1, bits);    ok(info.hbmMask != 0, "CreateBitmap failed/n");    icon = CreateIconIndirect(&info);    ok(icon != 0, "CreateIconIndirect failed/n");    DeleteObject(info.hbmMask);    hr = IWICImagingFactory_CreateBitmapFromHICON(factory, 0, NULL);    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got %#x/n", hr);    hr = IWICImagingFactory_CreateBitmapFromHICON(factory, 0, &bitmap);    ok(hr == HRESULT_FROM_WIN32(ERROR_INVALID_CURSOR_HANDLE), "expected ERROR_INVALID_CURSOR_HANDLE, got %#x/n", hr);    hr = IWICImagingFactory_CreateBitmapFromHICON(factory, icon, NULL);    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got %#x/n", hr);    hr = IWICImagingFactory_CreateBitmapFromHICON(factory, icon, &bitmap);    ok(hr == S_OK, "CreateBitmapFromHICON error %#x/n", hr);    DestroyIcon(icon);    if (hr != S_OK) return;    IWICBitmap_GetPixelFormat(bitmap, &format);    ok(IsEqualGUID(&format, &GUID_WICPixelFormat32bppBGRA),       "unexpected pixel format %s/n", wine_dbgstr_guid(&format));    hr = IWICBitmap_GetSize(bitmap, &width, &height);    ok(hr == S_OK, "IWICBitmap_GetSize error %#x/n", hr);    ok(width == 16, "expected 16, got %u/n", width);    ok(height == 16, "expected 16, got %u/n", height);    IWICBitmap_Release(bitmap);    /* 24 bpp color, 1 bpp mask */    info.fIcon = 1;    info.xHotspot = 0;    info.yHotspot = 0;    info.hbmColor = CreateBitmap(16, 16, 1, 24, bits);    ok(info.hbmColor != 0, "CreateBitmap failed/n");    info.hbmMask = CreateBitmap(16, 16, 1, 1, bits);    ok(info.hbmMask != 0, "CreateBitmap failed/n");    icon = CreateIconIndirect(&info);    ok(icon != 0, "CreateIconIndirect failed/n");    DeleteObject(info.hbmColor);    DeleteObject(info.hbmMask);    hr = IWICImagingFactory_CreateBitmapFromHICON(factory, icon, &bitmap);    ok(hr == S_OK, "CreateBitmapFromHICON error %#x/n", hr);    DestroyIcon(icon);    IWICBitmap_GetPixelFormat(bitmap, &format);    ok(IsEqualGUID(&format, &GUID_WICPixelFormat32bppBGRA),       "unexpected pixel format %s/n", wine_dbgstr_guid(&format));    hr = IWICBitmap_GetSize(bitmap, &width, &height);    ok(hr == S_OK, "IWICBitmap_GetSize error %#x/n", hr);    ok(width == 16, "expected 16, got %u/n", width);    ok(height == 16, "expected 16, got %u/n", height);    IWICBitmap_Release(bitmap);}
开发者ID:Strongc,项目名称:reactos,代码行数:74,


示例10: PhpProcessRecordDlgProc

//.........这里部分代码省略.........                    SetDlgItemText(hwndDlg, IDC_PARENT, PhaFormatString(L"Non-existent process (%u)",                        (ULONG)context->Record->ParentProcessId)->Buffer);                }                PhDereferenceObject(processItem);            }            else            {                SetDlgItemText(hwndDlg, IDC_PARENT, PhaFormatString(L"Unknown process (%u)",                    (ULONG)context->Record->ParentProcessId)->Buffer);                EnableWindow(GetDlgItem(hwndDlg, IDC_PROPERTIES), FALSE);            }            memset(&versionInfo, 0, sizeof(PH_IMAGE_VERSION_INFO));            versionInfoInitialized = FALSE;            if (context->Record->FileName)            {                if (PhInitializeImageVersionInfo(&versionInfo, context->Record->FileName->Buffer))                    versionInfoInitialized = TRUE;            }            context->FileIcon = PhGetFileShellIcon(PhGetString(context->Record->FileName), L".exe", TRUE);            SendMessage(GetDlgItem(hwndDlg, IDC_OPENFILENAME), BM_SETIMAGE, IMAGE_BITMAP,                (LPARAM)PH_LOAD_SHARED_IMAGE(MAKEINTRESOURCE(IDB_FOLDER), IMAGE_BITMAP));            SendMessage(GetDlgItem(hwndDlg, IDC_FILEICON), STM_SETICON,                (WPARAM)context->FileIcon, 0);            SetDlgItemText(hwndDlg, IDC_NAME, PhpGetStringOrNa(versionInfo.FileDescription));            SetDlgItemText(hwndDlg, IDC_COMPANYNAME, PhpGetStringOrNa(versionInfo.CompanyName));            SetDlgItemText(hwndDlg, IDC_VERSION, PhpGetStringOrNa(versionInfo.FileVersion));            SetDlgItemText(hwndDlg, IDC_FILENAME, PhpGetStringOrNa(context->Record->FileName));            if (versionInfoInitialized)                PhDeleteImageVersionInfo(&versionInfo);            if (!context->Record->FileName)                EnableWindow(GetDlgItem(hwndDlg, IDC_OPENFILENAME), FALSE);            SetDlgItemText(hwndDlg, IDC_CMDLINE, PhpGetStringOrNa(context->Record->CommandLine));            if (context->Record->CreateTime.QuadPart != 0)                SetDlgItemText(hwndDlg, IDC_STARTED, PhapGetRelativeTimeString(&context->Record->CreateTime)->Buffer);            else                SetDlgItemText(hwndDlg, IDC_STARTED, L"N/A");            if (context->Record->ExitTime.QuadPart != 0)                SetDlgItemText(hwndDlg, IDC_TERMINATED, PhapGetRelativeTimeString(&context->Record->ExitTime)->Buffer);            else                SetDlgItemText(hwndDlg, IDC_TERMINATED, L"N/A");            SetDlgItemInt(hwndDlg, IDC_SESSIONID, context->Record->SessionId, FALSE);        }        break;    case WM_DESTROY:        {            if (context->FileIcon)                DestroyIcon(context->FileIcon);        }        break;    case WM_COMMAND:        {            switch (LOWORD(wParam))            {            case IDCANCEL:            case IDOK:                {                    EndDialog(hwndDlg, IDOK);                }                break;            case IDC_OPENFILENAME:                {                    if (context->Record->FileName)                        PhShellExploreFile(hwndDlg, context->Record->FileName->Buffer);                }                break;            case IDC_PROPERTIES:                {                    PPH_PROCESS_ITEM processItem;                    if (processItem = PhReferenceProcessItemForRecord(context->Record))                    {                        ProcessHacker_ShowProcessProperties(PhMainWndHandle, processItem);                        PhDereferenceObject(processItem);                    }                    else                    {                        PhShowError(hwndDlg, L"The process has already terminated; only the process record is available.");                    }                }                break;            }        }        break;    }    return FALSE;}
开发者ID:john-peterson,项目名称:processhacker,代码行数:101,


示例11: VERIFY

// adds buttons to the toolbarvoid TableTabInterfaceTabMgmt::AddToolButtons(){	INT			i=0,j, size;	LONG		ret;	HICON		hicon;	TBBUTTON	tbb[30];    wyInt32 command[] = {   IDI_ADDROW,						    IDI_DELETEROW,						    IDM_SEPARATOR,						    IDI_MOVEUP,						    IDI_MOVEDOWN 						};	wyUInt32 states[][2] = {							{TBSTATE_ENABLED, TBSTYLE_BUTTON},							{TBSTATE_ENABLED, TBSTYLE_BUTTON},							{TBSTATE_ENABLED, TBSTYLE_SEP},							{TBSTATE_ENABLED, TBSTYLE_BUTTON},                            {TBSTATE_ENABLED, TBSTYLE_BUTTON}						   };	wyInt32 imgres[] = {						IDI_ADDROW, 						IDI_DELETEROW,						IDI_USERS,						IDI_MOVEUP,						IDI_MOVEDOWN					  };	VERIFY(m_himglist = ImageList_Create(ICON_SIZE, ICON_SIZE, ILC_COLOR32  | ILC_MASK, 1, 0)); 	SendMessage(m_hwndtool, TB_SETIMAGELIST, 0, (LPARAM)m_himglist);	SendMessage(m_hwndtool, TB_SETEXTENDEDSTYLE, 0 , (LPARAM)TBSTYLE_EX_DRAWDDARROWS);    SendMessage(m_hwndtool, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);	size = sizeof(command)/sizeof(command[0]);	// set some required values	SendMessage(m_hwndtool, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);	// now create everything for the toolbar.	for(j=0; j < size; j++)		{		hicon = (HICON)LoadImage(pGlobals->m_hinstance, MAKEINTRESOURCE ( imgres[j] ), IMAGE_ICON, ICON_SIZE, ICON_SIZE, LR_DEFAULTCOLOR);		VERIFY((i = ImageList_AddIcon(m_himglist, hicon))!= -1);		VERIFY(DestroyIcon(hicon));				memset(&tbb[j], 0, sizeof(TBBUTTON));		tbb[j].iBitmap = MAKELONG(i, 0);		tbb[j].idCommand = command[j];		tbb[j].fsState = (UCHAR)states[j][0];		tbb[j].fsStyle = (UCHAR)states[j][1];	}  	VERIFY((ret = SendMessage(m_hwndtool, TB_ADDBUTTONS, (WPARAM)size,(LPARAM) &tbb)!= FALSE));    /* Now set and show the toolbar */	SendMessage(m_hwndtool, TB_AUTOSIZE, 0, 0);	ShowWindow(m_hwndtool, SW_SHOW);}
开发者ID:ArsalanYaqoob,项目名称:sqlyog-community,代码行数:64,


示例12: DestroyIcon

Icon::~Icon(){    DestroyIcon(m_hIcon);}
开发者ID:flying-dutchmen,项目名称:3DS_w3Browser,代码行数:4,


示例13: Layout

//.........这里部分代码省略.........        bool bOver = nHotItem == i && IS_ENABLED(tbbutton);        bool bPressed = false;        if ( IS_INDETERMINATE(tbbutton) )        {            CPenDC pen (cDC, ::GetSysColor (COLOR_3DDKSHADOW));            cDC.MoveTo (rcButton.left, rcButton.bottom);            cDC.LineTo (rcButton.left, rcButton.top);            cDC.LineTo (rcButton.right-1, rcButton.top);            cDC.LineTo (rcButton.right-1, rcButton.bottom-1);            cDC.LineTo (rcButton.left, rcButton.bottom-1);            bOver = true;        }        else if ( bOver || IS_CHECKED(tbbutton) )        {            bPressed = KEYDOWN(VK_LBUTTON) && rcButton.PtInRect (ptCursor);            if ( IS_DROPDOWN(tbbutton) && bPressed )            {                bPressed = ptCursor.x < rcButton.right-13;                if ( bPressed )                {                    rcButton.right -= 13;                }            }            COLORREF crHighLight = ::GetSysColor (COLOR_HIGHLIGHT);            CPenDC pen (cDC, crHighLight);            CBrushDC brush (cDC, bPressed||(bOver&&IS_CHECKED(tbbutton)) ? HLS_TRANSFORM (crHighLight, +50, -50) : (bOver ? HLS_TRANSFORM (crHighLight, +70, -57) : HLS_TRANSFORM (crHighLight, +80, -66)));            cDC.Rectangle (&rcButton);            if ( IS_DROPDOWN(tbbutton) )            {                if ( bPressed )                {                    int nLeft = rcButton.left;                    rcButton.left = rcButton.right-1;                    rcButton.right += 13;                    brush.Color (HLS_TRANSFORM (crHighLight, +70, -66));                    cDC.Rectangle (&rcButton);                    rcButton.left = nLeft;                }                else                {                    cDC.MoveTo (rcButton.right-14, rcButton.top);                    cDC.LineTo (rcButton.right-14, rcButton.bottom);                }            }        }        if ( IS_SEPARATOR(tbbutton) )        {            CPenDC pen (cDC, HLS_TRANSFORM (::GetSysColor (COLOR_3DFACE), -15, 0));            if ( IS_WRAP(tbbutton) )            {                cDC.MoveTo (rcClient.left+2, rcButton.bottom-4);                cDC.LineTo (rcClient.right-2, rcButton.bottom-4);            }            else            {                cDC.MoveTo ((rcButton.right+rcButton.left)/2-1, rcButton.top+2);                cDC.LineTo ((rcButton.right+rcButton.left)/2-1, rcButton.bottom-2);            }        }        else if ( !IS_CONTROL(tbbutton) )        {            if ( IS_DROPDOWN(tbbutton) )            {                CPenDC pen (cDC, ( bOver && !IS_INDETERMINATE(tbbutton) ) ? RGB(0,0,0) : ::GetSysColor (IS_ENABLED(tbbutton) ? COLOR_BTNTEXT : COLOR_GRAYTEXT));                cDC.MoveTo (rcButton.right-9, (rcButton.top+rcButton.bottom)/2-1);                cDC.LineTo (rcButton.right-4, (rcButton.top+rcButton.bottom)/2-1);                cDC.MoveTo (rcButton.right-8, (rcButton.top+rcButton.bottom)/2);                cDC.LineTo (rcButton.right-5, (rcButton.top+rcButton.bottom)/2);                cDC.SetPixel (rcButton.right-7, (rcButton.top+rcButton.bottom)/2+1, pen.Color());                rcButton.right -= 14;            }            if ( tbbutton.iBitmap >= 0 )            {                if ( !IS_ENABLED(tbbutton) || (bOver && !bPressed) )                {                    HICON hIcon = ImageList_ExtractIcon (NULL, m_hImageList, tbbutton.iBitmap);                    cDC.DrawState (CPoint (rcButton.left + ( bOver ? 4 : 3 ), rcButton.top + ( bOver ? 4 : 3 )), m_sizeImage, hIcon, DSS_MONO, CBrush (bOver ? (IS_INDETERMINATE(tbbutton) ? HLS_TRANSFORM (::GetSysColor (COLOR_3DFACE), -20, 0) : HLS_TRANSFORM (::GetSysColor (COLOR_HIGHLIGHT), +50, -66)) : HLS_TRANSFORM (::GetSysColor (COLOR_3DFACE), -27, 0)));                    DestroyIcon (hIcon);                }                if ( IS_ENABLED(tbbutton) )                {                    ::ImageList_Draw (m_hImageList, tbbutton.iBitmap, cDC.m_hDC,                                      rcButton.left + ( (bOver && !bPressed) ? 2 : 3 ), rcButton.top + ( (bOver && !bPressed) ? 2 : 3 ), ILD_TRANSPARENT);                }            }        }    }}
开发者ID:UIKit0,项目名称:IISxpress,代码行数:101,


示例14: DestroyIcon

CPPageFileInfoRes::~CPPageFileInfoRes(){    if (m_hIcon) {        DestroyIcon(m_hIcon);    }}
开发者ID:Chris-Hood,项目名称:mpc-hc,代码行数:6,


示例15:

CMediaVisDlg::~CMediaVisDlg(){	if ( m_hIcon ) DestroyIcon( m_hIcon );}
开发者ID:ericfillipe1,项目名称:shareaza-code,代码行数:4,


示例16: WndProc

//.........这里部分代码省略.........					{						MessageBox(hWnd, (winner == 1) ? L"Player 1 wins" : L"Player 2 wins", L"You win!",MB_OK | MB_ICONINFORMATION);						playerTurn = 0;					}					else if (3==winner)					{						MessageBox(hWnd, L"No one wins!", L"It's a draw", MB_OK | MB_ICONEXCLAMATION);						playerTurn = 0;										}					else if (winner == 0)					{						playerTurn = (playerTurn == 1) ? 2 : 1;					}					ShowTurn(hWnd, hdc);					}												}			ReleaseDC(hWnd, hdc);		}	}	break;	case WM_GETMINMAXINFO:		{			MINMAXINFO * pMinMax = (MINMAXINFO*)lParam;			pMinMax->ptMinTrackSize.x = CELL_SIZE * 5;			pMinMax->ptMinTrackSize.y = CELL_SIZE * 5;		}    case WM_PAINT:        {            PAINTSTRUCT ps;            HDC hdc = BeginPaint(hWnd, &ps);			RECT rc;			if (GetGameBoardRect(hWnd, &rc))			{				RECT rcClient;				if (GetClientRect(hWnd, &rcClient))				{					const WCHAR szPlayer1 [] = L"Player 1";					const WCHAR szPlayer2 []= L"Player 2";										SetBkMode(hdc, TRANSPARENT);					SetTextColor(hdc, RGB(255, 255, 0));					TextOut(hdc, 16, 16, szPlayer1, 8);					SetTextColor(hdc, RGB(0, 0, 255));					TextOut(hdc, rcClient.right-72, 16, szPlayer2, 8);					ShowTurn(hWnd, hdc);				}				FillRect(hdc, &rc, (HBRUSH)GetStockObject(WHITE_BRUSH));				//Rectangle(hdc, rc.left, rc.top, rc.right, rc.bottom);			}			for (int i = 0; i < 4; i++)			{				DrawLine(hdc, rc.left+CELL_SIZE*i , rc.top, rc.left + CELL_SIZE*i, rc.bottom);				DrawLine(hdc, rc.left, rc.top + CELL_SIZE*i, rc.right, rc.top+CELL_SIZE*i);			}			RECT rcCell;			for (int i = 0; i < 9; i++)			{				if ((0!=gameBoard[i]) && GetCellRect(hWnd, i, &rcCell))				{					//FillRect(hdc, &rcCell, (gameBoard[i]==2) ? hbr2 : hbr1);					DrawIconCentered(hdc, &rcCell, (gameBoard[i] == 1) ? hIcon1 : hIcon2);				}			}            EndPaint(hWnd, &ps);        }        break;    case WM_DESTROY:		DeleteObject(hbr1);		DeleteObject(hbr2);		DestroyIcon(hIcon1);		DestroyIcon(hIcon2);        PostQuitMessage(0);        break;    default:        return DefWindowProc(hWnd, message, wParam, lParam);    }    return 0;}
开发者ID:pbarot,项目名称:TicTacToe-game,代码行数:101,


示例17: CreateListView

void CreateListView (HWND hWnd){   HICON hIcon;   LV_ITEM item;   LV_COLUMN col;   TCHAR szBuffer[30];   INT i, iItem;   HIMAGELIST hImageList;   RECT rc;   //   // Create an image list to work with.   //   hImageList=ImageList_Create(16, 16, ILC_MASK, 1, 0);   if (hImageList==NULL) {       return;   }   //   // Add some icons to it.   //   hIcon = LoadImage(hInst, MAKEINTRESOURCE(1), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);   ImageList_AddIcon(hImageList, hIcon);   DestroyIcon(hIcon);   GetClientRect (hWnd, &rc);   hLV = CreateWindow (WC_LISTVIEW, NULL, LVS_REPORT | LVS_EDITLABELS| WS_CHILD | WS_VISIBLE | WS_EX_CLIENTEDGE | WS_BORDER,                 0, 0, rc.right, rc.bottom, hWnd, (HMENU) 1,                 hInst, NULL);   if (!hLV) {      GetLastError();      return;   }   ListView_SetImageList(hLV, hImageList, LVSIL_SMALL);   //   // Insert Columns   //   col.mask = LVCF_FMT | LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH;   col.fmt = LVCFMT_LEFT;   col.cx = rc.right / 3;   col.pszText = TEXT("Column 0");   col.iSubItem = 0;   ListView_InsertColumn (hLV, 0, &col);   col.pszText = TEXT("Column 1");   col.iSubItem = 1;   ListView_InsertColumn (hLV, 1, &col);   col.pszText = TEXT("Column 2");   col.iSubItem = 2;   ListView_InsertColumn (hLV, 2, &col);   //   // Insert Items   //   for (i=0; i < 18; i++) {       wsprintf (szBuffer, TEXT("Item %d"), i+1);       item.mask = LVIF_TEXT | LVIF_IMAGE;       item.iItem = i;       item.iSubItem = 0;       item.pszText = szBuffer;       item.cchTextMax = 30;       item.iImage = 0;       iItem = ListView_InsertItem (hLV, &item);       wsprintf (szBuffer, TEXT("SubItem (1,%d)"), iItem+1);       item.mask = LVIF_TEXT;       item.iItem = iItem;       item.iSubItem = 1;       item.pszText = szBuffer;       ListView_SetItem (hLV, &item);       wsprintf (szBuffer, TEXT("SubItem (2,%d)"), iItem+1);//.........这里部分代码省略.........
开发者ID:mingpen,项目名称:OpenNT,代码行数:101,


示例18: WndProc

////  函数: WndProc(HWND, UINT, WPARAM, LPARAM)////  目的: 处理主窗口的消息。////  WM_COMMAND	- 处理应用程序菜单//  WM_PAINT	- 绘制主窗口//  WM_DESTROY	- 发送退出消息并返回////LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){	int wmId, wmEvent;	PAINTSTRUCT ps;	HDC hdc;	switch (message)	{	case MYWM_NOTIFYICON: 		if(lParam==WM_RBUTTONDOWN){    			HMENU hMenu = LoadMenuW(hInst,MAKEINTRESOURCEW(IDR_MENU1));			HMENU hSubMenu = GetSubMenu(hMenu,0);			POINT pos; 			GetCursorPos(&pos);			SetForegroundWindow(hWnd);			TrackPopupMenu(hSubMenu,TPM_LEFTALIGN,pos.x,pos.y,0,hWnd,NULL);			DestroyMenu(hMenu);		}	break;	case WM_COMMAND:		wmId    = LOWORD(wParam);		wmEvent = HIWORD(wParam);		// 分析菜单选择:		switch (wmId)		{		case ID_EXIT:			NOTIFYICONDATAW m_tnid;			memset(&m_tnid,0,sizeof(m_tnid));			//OnCreate 函数中return 之前添加托盘生成代码			m_tnid.cbSize=sizeof(NOTIFYICONDATA); 			m_tnid.hWnd=hWnd; 			m_tnid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP; 			m_tnid.uCallbackMessage=MYWM_NOTIFYICON;			//用户定义的回调消息 			wcscpy_s<128>(m_tnid.szTip,L"v-Judge-Kernel");			m_tnid.uID=NULL;			HICON hIcon; 			hIcon=LoadIcon(hInst,MAKEINTRESOURCE(IDI_ICON2)); 			m_tnid.hIcon=hIcon; 			Shell_NotifyIconW(NIM_DELETE,&m_tnid); 			if(hIcon)				DestroyIcon(hIcon);			DestroyWindow(hWnd);			break;		case ID_UNINSTALL:			if(IDYES == MessageBoxW(0,L"Are you sure to uninstall the service v-Judge_Kernel?",L"Warning!",MB_YESNO)){				if(SvcUninstall())					MessageBoxW(0,L"Successfully uninstall.",L"Message",MB_OK);				else					MessageBoxW(0,L"Unsuccessfully uninstall.",L"Message",MB_OK);			}			break;		case ID_INSTALL:			if(IDYES == MessageBoxW(0,L"Are you sure to install the service v-Judge_Kernel?",L"Warning!",MB_YESNO)){				if(SvcInstall())					MessageBoxW(0,L"Successfully install.",L"Message",MB_OK);				else					MessageBoxW(0,L"Unsuccessfully install.",L"Message",MB_OK);			}			break;		default:			return DefWindowProc(hWnd, message, wParam, lParam);		}		break;	case WM_PAINT:		hdc = BeginPaint(hWnd, &ps);		// TODO: 在此添加任意绘图代码...		EndPaint(hWnd, &ps);		break;	case WM_DESTROY:		PostQuitMessage(0);		break;	default:		return DefWindowProc(hWnd, message, wParam, lParam);	}	return 0;}
开发者ID:variantf,项目名称:vJudgeKernel,代码行数:89,


示例19: WindowFunc

//.........这里部分代码省略.........		{		case WM_LBUTTONDOWN:			break;		case WM_LBUTTONDBLCLK:			PostMessage(hWnd, WM_COMMAND, (WPARAM) IDM_PROPERTIES, 0);			break;		case WM_RBUTTONUP:			PostMessage(hWnd, WM_COMMAND, (WPARAM) IDM_OPENPOPUP, 0);			break;		}		break;	case WM_CREATE:		if (!service_flag)		{			HICON hIcon = (HICON) LoadImage(hInstance, MAKEINTRESOURCE(IDI_IBGUARD),									  IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);			NOTIFYICONDATA nid;			nid.cbSize = sizeof(NOTIFYICONDATA);			nid.hWnd = hWnd;			nid.uID = IDI_IBGUARD;			nid.uFlags = NIF_TIP | NIF_ICON | NIF_MESSAGE;			nid.uCallbackMessage = ON_NOTIFYICON;			nid.hIcon = hIcon;			lstrcpy(nid.szTip, GUARDIAN_APP_LABEL);			// This will be true if we are using the explorer interface			bInTaskBar = Shell_NotifyIcon(NIM_ADD, &nid);			if (hIcon)				DestroyIcon(hIcon);			// This will be true if we are using the program manager interface			if (!bInTaskBar)			{				char szMsgString[256];				HMENU hSysMenu = GetSystemMenu(hWnd, FALSE);				DeleteMenu(hSysMenu, SC_RESTORE, MF_BYCOMMAND);				AppendMenu(hSysMenu, MF_SEPARATOR, 0, NULL);				LoadString(hInstance, IDS_SVRPROPERTIES, szMsgString, 256);				AppendMenu(hSysMenu, MF_STRING, IDM_SVRPROPERTIES, szMsgString);				LoadString(hInstance, IDS_SHUTDOWN, szMsgString, 256);				AppendMenu(hSysMenu, MF_STRING, IDM_SHUTDOWN, szMsgString);				LoadString(hInstance, IDS_PROPERTIES, szMsgString, 256);				AppendMenu(hSysMenu, MF_STRING, IDM_PROPERTIES, szMsgString);				DestroyMenu(hSysMenu);			}		}		break;	case WM_QUERYOPEN:		if (!bInTaskBar)			return FALSE;		return DefWindowProc(hWnd, message, wParam, lParam);	case WM_SYSCOMMAND:		if (!bInTaskBar)			switch (wParam)			{			case SC_RESTORE:				return TRUE;			case IDM_SHUTDOWN:
开发者ID:andrewleech,项目名称:firebird,代码行数:67,


示例20: PhpRefreshProcessList

static VOID PhpRefreshProcessList(    _In_ HWND hwndDlg,    _In_ PCHOOSE_PROCESS_DIALOG_CONTEXT Context    ){    NTSTATUS status;    HWND lvHandle;    PVOID processes;    PSYSTEM_PROCESS_INFORMATION process;    lvHandle = Context->ListViewHandle;    ListView_DeleteAllItems(lvHandle);    ImageList_RemoveAll(Context->ImageList);    if (!NT_SUCCESS(status = PhEnumProcesses(&processes)))    {        PhShowStatus(hwndDlg, L"Unable to enumerate processes", status, 0);        return;    }    ExtendedListView_SetRedraw(lvHandle, FALSE);    process = PH_FIRST_PROCESS(processes);    do    {        INT lvItemIndex;        PPH_STRING name;        HANDLE processHandle;        PPH_STRING fileName = NULL;        HICON icon = NULL;        WCHAR processIdString[PH_INT32_STR_LEN_1];        PPH_STRING userName = NULL;        INT imageIndex;        if (process->UniqueProcessId != SYSTEM_IDLE_PROCESS_ID)            name = PhCreateStringFromUnicodeString(&process->ImageName);        else            name = PhCreateString(SYSTEM_IDLE_PROCESS_NAME);        lvItemIndex = PhAddListViewItem(lvHandle, MAXINT, name->Buffer, process->UniqueProcessId);        PhDereferenceObject(name);        if (NT_SUCCESS(PhOpenProcess(&processHandle, ProcessQueryAccess, process->UniqueProcessId)))        {            HANDLE tokenHandle;            PTOKEN_USER user;            if (!WINDOWS_HAS_IMAGE_FILE_NAME_BY_PROCESS_ID && process->UniqueProcessId != SYSTEM_PROCESS_ID)                PhGetProcessImageFileName(processHandle, &fileName);            if (NT_SUCCESS(PhOpenProcessToken(&tokenHandle, TOKEN_QUERY, processHandle)))            {                if (NT_SUCCESS(PhGetTokenUser(tokenHandle, &user)))                {                    userName = PhGetSidFullName(user->User.Sid, TRUE, NULL);                    PhFree(user);                }                NtClose(tokenHandle);            }            NtClose(processHandle);        }        if (process->UniqueProcessId == SYSTEM_IDLE_PROCESS_ID && !userName && PhLocalSystemName)            PhSetReference(&userName, PhLocalSystemName);        if (WINDOWS_HAS_IMAGE_FILE_NAME_BY_PROCESS_ID && process->UniqueProcessId != SYSTEM_PROCESS_ID)            PhGetProcessImageFileNameByProcessId(process->UniqueProcessId, &fileName);        if (process->UniqueProcessId == SYSTEM_PROCESS_ID)            fileName = PhGetKernelFileName();        if (fileName)            PhMoveReference(&fileName, PhGetFileName(fileName));        icon = PhGetFileShellIcon(PhGetString(fileName), L".exe", FALSE);        // Icon        if (icon)        {            imageIndex = ImageList_AddIcon(Context->ImageList, icon);            PhSetListViewItemImageIndex(Context->ListViewHandle, lvItemIndex, imageIndex);            DestroyIcon(icon);        }        // PID        PhPrintUInt32(processIdString, HandleToUlong(process->UniqueProcessId));        PhSetListViewSubItem(Context->ListViewHandle, lvItemIndex, 1, processIdString);        // User Name        PhSetListViewSubItem(Context->ListViewHandle, lvItemIndex, 2, PhGetString(userName));        if (userName) PhDereferenceObject(userName);        if (fileName) PhDereferenceObject(fileName);    } while (process = PH_NEXT_PROCESS(process));    PhFree(processes);//.........这里部分代码省略.........
开发者ID:digitalsensejbkim,项目名称:processhacker2,代码行数:101,


示例21: DestroyIcon

CTrashSkipCtrl::~CTrashSkipCtrl(void){    DestroyIcon(m_iconIE);    DestroyIcon(m_iconUnknow);//    DestroyObject(m_bmpHeadBack);}
开发者ID:6520874,项目名称:pcmanager,代码行数:6,


示例22: AboutDlgProc

INT_PTR CALLBACKAboutDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam){    HWND hWnd;    HDC hDC;    RECT rcClient, rcRect;    char *owner, *org;    switch (uMsg)    {    case WM_NOTIFY:        switch(((LPNMHDR)lParam)->code)        {        case PSN_APPLY:            /*save registration info to registry */            owner = get_text(hDlg, IDC_ABT_OWNER);            org   = get_text(hDlg, IDC_ABT_ORG);            set_reg_key(HKEY_LOCAL_MACHINE, "Software//Microsoft//Windows//CurrentVersion",                        "RegisteredOwner", owner ? owner : "");            set_reg_key(HKEY_LOCAL_MACHINE, "Software//Microsoft//Windows//CurrentVersion",                        "RegisteredOrganization", org ? org : "");            set_reg_key(HKEY_LOCAL_MACHINE, "Software//Microsoft//Windows NT//CurrentVersion",                        "RegisteredOwner", owner ? owner : "");            set_reg_key(HKEY_LOCAL_MACHINE, "Software//Microsoft//Windows NT//CurrentVersion",                        "RegisteredOrganization", org ? org : "");            apply();            HeapFree(GetProcessHeap(), 0, owner);            HeapFree(GetProcessHeap(), 0, org);            break;        case NM_CLICK:        case NM_RETURN:            if(wParam == IDC_ABT_WEB_LINK)                ShellExecuteA(NULL, "open", PACKAGE_URL, NULL, NULL, SW_SHOW);            break;        }        break;    case WM_INITDIALOG:        hDC = GetDC(hDlg);        /* read owner and organization info from registry, load it into text box */        owner = get_reg_key(HKEY_LOCAL_MACHINE, "Software//Microsoft//Windows NT//CurrentVersion",                            "RegisteredOwner", "");        org =   get_reg_key(HKEY_LOCAL_MACHINE, "Software//Microsoft//Windows NT//CurrentVersion",                            "RegisteredOrganization", "");        SetDlgItemText(hDlg, IDC_ABT_OWNER, owner);        SetDlgItemText(hDlg, IDC_ABT_ORG, org);        SendMessage(GetParent(hDlg), PSM_UNCHANGED, 0, 0);        HeapFree(GetProcessHeap(), 0, owner);        HeapFree(GetProcessHeap(), 0, org);        /* prepare the panel */        hWnd = GetDlgItem(hDlg, IDC_ABT_PANEL);        if(hWnd)        {            GetClientRect(hDlg, &rcClient);            GetClientRect(hWnd, &rcRect);            MoveWindow(hWnd, 0, 0, rcClient.right, rcRect.bottom, FALSE);            logo = LoadImageW((HINSTANCE)GetWindowLongPtrW(hDlg, GWLP_HINSTANCE),                MAKEINTRESOURCEW(IDI_LOGO), IMAGE_ICON, 0, 0, LR_SHARED);        }        /* prepare the title text */        hWnd = GetDlgItem(hDlg, IDC_ABT_TITLE_TEXT);        if(hWnd)        {            titleFont = CreateFont(                -MulDiv(24, GetDeviceCaps(hDC, LOGPIXELSY), 72),                0, 0, 0, 0, FALSE, 0, 0, 0, 0, 0, 0, 0,                "Tahoma");            SendMessage(hWnd, WM_SETFONT, (WPARAM)titleFont, TRUE);            SetWindowTextA(hWnd, PACKAGE_NAME);        }        SetDlgItemTextA(hDlg, IDC_ABT_PANEL_TEXT, PACKAGE_VERSION);        /* prepare the web link */        SetDlgItemTextA(hDlg, IDC_ABT_WEB_LINK, "<a href=/"" PACKAGE_URL "/">" PACKAGE_URL "</a>");        ReleaseDC(hDlg, hDC);        break;    case WM_DESTROY:        if(logo)        {            DestroyIcon(logo);            logo = NULL;        }        if(titleFont)        {            DeleteObject(titleFont);//.........这里部分代码省略.........
开发者ID:Sunmonds,项目名称:wine,代码行数:101,


示例23: WinMain

INT WINAPI WinMain(HINSTANCE Instance, HINSTANCE, LPSTR, INT) {    gInstance = Instance;    INITCOMMONCONTROLSEX icc;    // Initialise common controls.    icc.dwSize = sizeof(icc);    icc.dwICC = ICC_WIN95_CLASSES;    InitCommonControlsEx(&icc);    // Initialize menu bar and set the check boxes' initial state    gMainMenu = LoadMenu(Instance, "mainMenu");    CheckMenuItem(gMainMenu, IDM_DISPLAYVIDEO, MF_BYCOMMAND | MF_CHECKED);    const char* mainClassName = "KinectBoard";    gKinectON = LoadIcon(Instance, "kinect1-ON");    gKinectOFF = LoadIcon(Instance, "kinect2-OFF");    HBRUSH mainBrush = CreateSolidBrush(RGB(0, 0, 0));    // Define a class for our main window    WNDCLASSEX WindowClass;    ZeroMemory(&WindowClass, sizeof(WNDCLASSEX));    WindowClass.cbSize        = sizeof(WNDCLASSEX);    WindowClass.style         = 0;    WindowClass.lpfnWndProc   = &MainProc;    WindowClass.cbClsExtra    = 0;    WindowClass.cbWndExtra    = 0;    WindowClass.hInstance     = Instance;    WindowClass.hIcon         = gKinectOFF;    WindowClass.hCursor       = LoadCursor(nullptr, IDC_ARROW);    WindowClass.hbrBackground = mainBrush;    WindowClass.lpszMenuName  = "mainMenu";    WindowClass.lpszClassName = mainClassName;    WindowClass.hIconSm       = gKinectOFF;    RegisterClassEx(&WindowClass);    MSG Message;    HACCEL hAccel;    /* ===== Make two windows to display ===== */    // Set the size, but not the position    RECT winSize = {0, 0, static_cast<int>(ImageVars::width),                    static_cast<int>(ImageVars::height)};    AdjustWindowRect(        &winSize,        WS_SYSMENU | WS_CAPTION | WS_VISIBLE | WS_MINIMIZEBOX | WS_CLIPCHILDREN,        TRUE); // window has menu    // Create a new window to be used for the lifetime of the application    gDisplayWindow = CreateWindowEx(0,        mainClassName,        "KinectBoard",        WS_SYSMENU | WS_CAPTION | WS_VISIBLE | WS_MINIMIZEBOX | WS_CLIPCHILDREN,        (GetSystemMetrics(SM_CXSCREEN) - (winSize.right - winSize.left)) / 2,        (GetSystemMetrics(SM_CYSCREEN) - (winSize.bottom - winSize.top)) / 2,        winSize.right - winSize.left, // returns image width (resized as window)        winSize.bottom - winSize.top, // returns image height (resized as window)        nullptr,        gMainMenu,        Instance,        nullptr);    /* ======================================= */    // Load keyboard accelerators    hAccel = LoadAccelerators(gInstance, "KeyAccel");    gProjectorKnt.setScreenRect(gCurrentMonitor.dim);    // Make window receive video stream events and image from Kinect instance    gProjectorKnt.registerVideoWindow(gDisplayWindow);    gProjectorKnt.startVideoStream();    gProjectorKnt.startDepthStream();    gProjectorKnt.enableColor(Processing::Red);    gProjectorKnt.enableColor(Processing::Blue);    while (GetMessage(&Message, nullptr, 0, 0) > 0) {        if (!TranslateAccelerator(gDisplayWindow, // Handle to receiving window                                  hAccel, // Handle to active accelerator table                                  &Message)) // Message data        {            // If a message was waiting in the message queue, process it            TranslateMessage(&Message);            DispatchMessage(&Message);        }    }    DestroyIcon(gKinectON);    DestroyIcon(gKinectOFF);    UnregisterClass(mainClassName, Instance);    UnregisterClass("monitorButton", Instance);    TestScreen::unregisterClass();    return Message.wParam;}
开发者ID:calcmogul,项目名称:KinectBoard,代码行数:98,


示例24: CreateDialogProc

INT_PTR CALLBACKCreateDialogProc(HWND hDlg,                 UINT message,                 WPARAM wParam,                 LPARAM lParam){    HICON hIcon = NULL;    switch (message)    {        case WM_INITDIALOG:        {            hIcon = (HICON)LoadImage(hInstance,                                     MAKEINTRESOURCE(IDI_SM_ICON),                                     IMAGE_ICON,                                     16,                                     16,                                     0);            if (hIcon)            {                SendMessage(hDlg,                            WM_SETICON,                            ICON_SMALL,                            (LPARAM)hIcon);                DestroyIcon(hIcon);            }            return TRUE;        }        case WM_COMMAND:        {            switch (LOWORD(wParam))            {                case IDOK:                {                    PCREATE_DATA Data;                    Data = (PCREATE_DATA)HeapAlloc(ProcessHeap,                                                   HEAP_ZERO_MEMORY,                                                   sizeof(CREATE_DATA));                    if (Data)                    {                        Data->hSelf = hDlg;                        if (GetDataFromDialog(Data))                        {                            DoCreate(Data);                        }                        else                        {                            /* Something went wrong, leave the dialog                             * open so they can try again */                            FreeMemory(Data);                            break;                        }                        FreeMemory(Data);                    }                    EndDialog(hDlg,                              LOWORD(wParam));                    return TRUE;                }                case IDCANCEL:                {                    EndDialog(hDlg,                              LOWORD(wParam));                    return TRUE;                }                case ID_CREATE_HELP:                {                    HWND hHelp;                    if (! bHelpOpen)                    {                        hHelp = CreateDialog(hInstance,                                             MAKEINTRESOURCE(IDD_DLG_HELP_OPTIONS),                                             hDlg,                                             CreateHelpDialogProc);                        if(hHelp != NULL)                        {                            bHelpOpen = TRUE;                        }                    }                }                break;            }        }    }    return FALSE;}
开发者ID:RPG-7,项目名称:reactos,代码行数:95,


示例25: EnumAllVisibleTray_au

int EnumAllVisibleTray_au(){	wchar_t * pszText = NULL;	DWORD lPID;	int iconIndex = 0,iconNum = 0;	wchar_t cPID[20] = {0};	int i = 0,j = 0;	ICONINFO iconInfo;	wchar_t cProcessName[1024] = L"";	for(i = 0;i<100;i++)	{		if(g_QuickHideAllTray_au[i].trayicon.Reserved[0] == 22			&& g_QuickHideAllTray_au[i].trayicon.Reserved[1] == 33)		{			DestroyIcon(g_QuickHideAllTray_au[i].trayicon.hIcon);		}		g_QuickHideAllTray_au[i].iHasTrayIcon = 0;		g_QuickHideAllTray_au[i].iIconIndex = 0;		g_QuickHideAllTray_au[i].iCommandId = 0;		g_QuickHideAllTray_au[i].hWnd = NULL;		g_QuickHideAllTray_au[i].trayicon.hIcon = NULL;		g_QuickHideAllTray_au[i].trayicon.hwnd = NULL;		g_QuickHideAllTray_au[i].trayicon.uID = 0;		g_QuickHideAllTray_au[i].trayicon.uCallbackMessage = 0;		g_QuickHideAllTray_au[i].bToBk = 0;		g_QuickHideAllTray_au[i].lPID = 0;		g_QuickHideAllTray_au[i].bHide = 0;		g_QuickHideAllTray_au[i].bExist = 0;		memset(g_QuickHideAllTray_au[i].cProcessName,0,30 * sizeof(wchar_t));		memset(g_QuickHideAllTray_au[i].cIconTip,0,1024 * sizeof(wchar_t));		//memset(g_QuickHideAllTray_au[i].cWndTitle,0,2048 * sizeof(wchar_t));	}	GetWindowThreadProcessId(hTrayWnd,&lPID);	CProcessData<TBBUTTON> data(lPID);	TBBUTTON tb = {0};	TRAYDATA tray = {0};	TrayItemInfo tifo = {0};	wchar_t Tipwchar_t = 0;	wchar_t sTip[1024] = L"/0";	wchar_t* pTip = NULL;	int x = 0,iRet = 0;		j = 0;	int iBtnCount = SendMessage(hTrayWnd,TB_BUTTONCOUNT,0,0);	DWORD lExID = 0;	for(i=0; i < iBtnCount;i++)	{		if (i <= 100)		{		}		else		{			break;		}		SendMessage(hTrayWnd,TB_GETBUTTON,i,(LPARAM)data.GetData());		data.ReadData(&tb);		data.ReadData(&tray,(void * )tb.dwData);						if (!(tb.fsState & TBSTATE_HIDDEN))		{			GetWindowThreadProcessId(tray.hwnd,&lPID);						if(lPID == GetCurrentProcessId())			{				continue;			}			memset(&iconInfo,0,sizeof(iconInfo));			if(GetIconInfo(tray.hIcon,&iconInfo) == 0)			{				DWORD dwErr = GetLastError();				tray.hIcon = hIcon_Unknown;				//GetProcessTrayIcon(lPID,&tb,&tray);			}			if(iconInfo.hbmColor != NULL)			{				DeleteObject(iconInfo.hbmColor);			}			if(iconInfo.hbmMask != NULL)			{				DeleteObject(iconInfo.hbmMask);			}			g_QuickHideAllTray_au[j].bHide = tb.idCommand;//Use this member save idcommand for hide or show			g_QuickHideAllTray_au[j].cWndTitle = NULL;			//g_QuickHideAllTray_au[j].cIconTip = new wchar_t[1024];			//memset(g_QuickHideAllTray_au[j].cIconTip,0,1024 * sizeof(wchar_t));			memset(g_QuickHideAllTray_au[j].cProcessName,0,30 * sizeof(wchar_t));			GetWindowThreadProcessId(hTrayWnd,&lExID);			if(lExID == lPID)			{//.........这里部分代码省略.........
开发者ID:bodanrenko93,项目名称:hidedragon,代码行数:101,


示例26: DirectXCreateWindow

/***************************************************************************** * DirectXCreateWindow: create a window for the video. ***************************************************************************** * Before creating a direct draw surface, we need to create a window in which * the video will be displayed. This window will also allow us to capture the * events. *****************************************************************************/static int DirectXCreateWindow( event_thread_t *p_event ){    vout_display_t *vd = p_event->vd;    HINSTANCE  hInstance;    HMENU      hMenu;    RECT       rect_window;    WNDCLASS   wc;                            /* window class components */    HICON      vlc_icon;    char       vlc_path[MAX_PATH+1];    int        i_style, i_stylex;    msg_Dbg( vd, "DirectXCreateWindow" );    /* Get this module's instance */    hInstance = GetModuleHandle(NULL);    #ifdef MODULE_NAME_IS_direct3d    if( !p_event->use_desktop )    {    #endif        /* If an external window was specified, we'll draw in it. */        p_event->parent_window = vout_display_NewWindow(vd, &p_event->wnd_cfg );        if( p_event->parent_window )            p_event->hparent = p_event->parent_window->handle.hwnd;        else            p_event->hparent = NULL;    #ifdef MODULE_NAME_IS_direct3d    }    else    {        /* Find Program Manager */        HWND hwnd = FindWindow( _T("Progman"), NULL );        if( hwnd ) hwnd = FindWindowEx( hwnd, NULL, _T("SHELLDLL_DefView"), NULL );        if( hwnd ) hwnd = FindWindowEx( hwnd, NULL, _T("SysListView32"), NULL );        if( !hwnd )            msg_Err( vd, "Couldn't find desktop icon window. Desktop mode can't be established." );        p_event->parent_window = NULL;        p_event->hparent = hwnd;    }    #endif    p_event->cursor_arrow = LoadCursor(NULL, IDC_ARROW);#ifndef UNDER_CE    p_event->cursor_empty = EmptyCursor(hInstance);#endif    /* Get the Icon from the main app */    vlc_icon = NULL;#ifndef UNDER_CE    if( GetModuleFileName( NULL, vlc_path, MAX_PATH ) )    {        vlc_icon = ExtractIcon( hInstance, vlc_path, 0 );    }#endif    /* Fill in the window class structure */    wc.style         = CS_OWNDC|CS_DBLCLKS;          /* style: dbl click */    wc.lpfnWndProc   = (WNDPROC)DirectXEventProc;       /* event handler */    wc.cbClsExtra    = 0;                         /* no extra class data */    wc.cbWndExtra    = 0;                        /* no extra window data */    wc.hInstance     = hInstance;                            /* instance */    wc.hIcon         = vlc_icon;                /* load the vlc big icon */    wc.hCursor       = p_event->is_cursor_hidden ? p_event->cursor_empty :                                                   p_event->cursor_arrow;    wc.hbrBackground = GetStockObject(BLACK_BRUSH);  /* background color */    wc.lpszMenuName  = NULL;                                  /* no menu */    wc.lpszClassName = p_event->class_main;       /* use a special class */    /* Register the window class */    if( !RegisterClass(&wc) )    {        if( vlc_icon )            DestroyIcon( vlc_icon );        msg_Err( vd, "DirectXCreateWindow RegisterClass FAILED (err=%lu)", GetLastError() );        return VLC_EGENERIC;    }    /* Register the video sub-window class */    wc.lpszClassName = p_event->class_video;    wc.hIcon = 0;    wc.hbrBackground = NULL; /* no background color */    if( !RegisterClass(&wc) )    {        msg_Err( vd, "DirectXCreateWindow RegisterClass FAILED (err=%lu)", GetLastError() );        return VLC_EGENERIC;    }    /* When you create a window you give the dimensions you wish it to     * have. Unfortunatly these dimensions will include the borders and     * titlebar. We use the following function to find out the size of     * the window corresponding to the useable surface we want */    rect_window.left   = 10;    rect_window.top    = 10;//.........这里部分代码省略.........
开发者ID:Italianmoose,项目名称:Stereoscopic-VLC,代码行数:101,


示例27: GetTypeIconToFile

bool GetTypeIconToFile(const char * pszExt,const char * pszOutDir,bool bLargeIcon = true){	static HRESULT hr = S_FALSE;	if (hr!=S_OK)	{		hr =  CoInitialize(NULL); //如果不初始化COM,那么调用该函数就无法得到.htm/.mht/.xml文件的图标。	}	if (pszExt==NULL && pszOutDir==NULL)		return false;	if (strlen(pszExt) < 2  || pszExt[0] !='.')		return false;	char szExt[30] ={0};	strcpy_s(szExt,pszExt+1);	string strDir = string(pszOutDir) + "//" + szExt  + "//";	if (!MakeSureDirectoryPathExists(strDir.c_str()))		return false;	string strIconFile = strDir + szExt + ".ico";	string strPngFile = strDir + szExt  + ".png";	if(PathFileExists(strIconFile.c_str()))		remove(strIconFile.c_str());	if(PathFileExists(strPngFile.c_str()))		remove(strPngFile.c_str());	string sDummyFileName = string("foo.") + szExt;	SHFILEINFO shfi;	memset(&shfi,0,sizeof(shfi));	UINT uFlags = SHGFI_ICON|SHGFI_USEFILEATTRIBUTES;	if (bLargeIcon)		uFlags|=SHGFI_LARGEICON; 	else		uFlags|=SHGFI_SMALLICON; 	SHGetFileInfo(sDummyFileName.c_str(),FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(shfi),uFlags);	BOOL bok1  = SavePngFile(shfi.hIcon,strPngFile.c_str());	if (!bok1)	{		ZTools::WriteZToolsFormatLog("保存png文件【%s】失败!",strPngFile.c_str());	}	BOOL bok2  =  SaveIcon(shfi.hIcon,strIconFile.c_str(),32);	if (!bok2)	{		ZTools::WriteZToolsFormatLog("保存icon文件【%s】失败!",strIconFile.c_str());	}	DestroyIcon(shfi.hIcon);	if (bok1 && bok2)		return true;	return false;}
开发者ID:cugxiangzhenwei,项目名称:WorkPlatForm,代码行数:61,


示例28: DestroyIcon

CPPageOutput::~CPPageOutput(){    DestroyIcon(m_tick);    DestroyIcon(m_cross);}
开发者ID:GenomeXP,项目名称:mpc-hc,代码行数:5,


示例29: RebuildMenuOrder

void RebuildMenuOrder(void){	BYTE bHideStatusMenu = db_get_b(NULL, "CLUI", "DontHideStatusMenu", 0); // cool perversion, though	//clear statusmenu	RecursiveDeleteMenu(hStatusMenu);	//status menu	if (hStatusMenuObject != 0) {		CallService(MO_REMOVEMENUOBJECT, (WPARAM)hStatusMenuObject, 0);		mir_free(hStatusMainMenuHandles);		mir_free(hStatusMenuHandles);	}	hStatusMenuObject = MO_CreateMenuObject("StatusMenu", LPGEN("Status menu"), "StatusMenuCheckService", "StatusMenuExecService");	MO_SetOptionsMenuObject(hStatusMenuObject, OPT_MENUOBJECT_SET_FREE_SERVICE, (INT_PTR)"CLISTMENUS/FreeOwnerDataStatusMenu");	hStatusMainMenuHandles = (PMO_IntMenuItem*)mir_calloc(SIZEOF(statusModeList) * sizeof(PMO_IntMenuItem*));	hStatusMainMenuHandlesCnt = SIZEOF(statusModeList);	hStatusMenuHandles = (tStatusMenuHandles*)mir_calloc(sizeof(tStatusMenuHandles)*accounts.getCount());	hStatusMenuHandlesCnt = accounts.getCount();	FreeMenuProtos();	for (int s = 0; s < accounts.getCount(); s++) {		int i = cli.pfnGetAccountIndexByPos(s);		if (i == -1)			continue;		PROTOACCOUNT *pa = accounts[i];		int pos = 0;		if (!bHideStatusMenu && !cli.pfnGetProtocolVisibility(pa->szModuleName))			continue;		DWORD flags = pa->ppro->GetCaps(PFLAGNUM_2, 0) & ~pa->ppro->GetCaps(PFLAGNUM_5, 0);		HICON ic;		TCHAR tbuf[256];		//adding root		TMO_MenuItem tmi = { 0 };		tmi.cbSize = sizeof(tmi);		tmi.flags = CMIF_TCHAR | CMIF_ROOTHANDLE | CMIF_KEEPUNTRANSLATED;		tmi.position = pos++;		tmi.hIcon = ic = (HICON)CallProtoServiceInt(NULL, pa->szModuleName, PS_LOADICON, PLI_PROTOCOL | PLIF_SMALL, 0);		if (Proto_IsAccountLocked(pa) && cli.bDisplayLocked) {			mir_sntprintf(tbuf, SIZEOF(tbuf), TranslateT("%s (locked)"), pa->tszAccountName);			tmi.ptszName = tbuf;		}		else tmi.ptszName = pa->tszAccountName;		//owner data		StatusMenuExecParam *smep = (StatusMenuExecParam*)mir_calloc(sizeof(StatusMenuExecParam));		smep->proto = mir_strdup(pa->szModuleName);		tmi.ownerdata = smep;		PMO_IntMenuItem rootmenu = MO_AddNewMenuItem(hStatusMenuObject, &tmi);		memset(&tmi, 0, sizeof(tmi));		tmi.cbSize = sizeof(tmi);		tmi.flags = CMIF_TCHAR | CMIF_ROOTHANDLE | CMIF_KEEPUNTRANSLATED;		tmi.root = rootmenu;		tmi.position = pos++;		tmi.hIcon = ic;		//owner data		smep = (StatusMenuExecParam*)mir_calloc(sizeof(StatusMenuExecParam));		smep->proto = mir_strdup(pa->szModuleName);		tmi.ownerdata = smep;		if (Proto_IsAccountLocked(pa))			tmi.flags |= CMIF_CHECKED;		if ((tmi.flags & CMIF_CHECKED) && cli.bDisplayLocked) {			mir_sntprintf(tbuf, SIZEOF(tbuf), TranslateT("%s (locked)"), pa->tszAccountName);			tmi.ptszName = tbuf;		}		else tmi.ptszName = pa->tszAccountName;		PMO_IntMenuItem menuHandle = MO_AddNewMenuItem(hStatusMenuObject, &tmi);		((StatusMenuExecParam*)tmi.ownerdata)->protoindex = (int)menuHandle;		MO_ModifyMenuItem(menuHandle, &tmi);		cli.menuProtos = (MenuProto*)mir_realloc(cli.menuProtos, sizeof(MenuProto)*(cli.menuProtoCount + 1));		memset(&(cli.menuProtos[cli.menuProtoCount]), 0, sizeof(MenuProto));		cli.menuProtos[cli.menuProtoCount].pMenu = rootmenu;		cli.menuProtos[cli.menuProtoCount].szProto = mir_strdup(pa->szModuleName);		cli.menuProtoCount++;		char buf[256];		mir_snprintf(buf, SIZEOF(buf), "RootProtocolIcon_%s", pa->szModuleName);		MO_SetOptionsMenuItem(menuHandle, OPT_MENUITEMSETUNIQNAME, (INT_PTR)buf);		DestroyIcon(ic);		pos += 500000;		for (int j = 0; j < SIZEOF(statusModeList); j++) {			if (!(flags & statusModePf2List[j]))//.........这里部分代码省略.........
开发者ID:martok,项目名称:miranda-ng,代码行数:101,


示例30: QuerySystemProcess

//.........这里部分代码省略.........			}else				wcscat(lpwzStatus,L"No/");			if (NormalProcessInfo->ProcessInfo[i].ulKernelOpen == 1)			{				wcscat(lpwzStatus,L"Yes");			}else				wcscat(lpwzStatus,L"No");			//这里是一键体检的数据,不需要插入界面了			if (bIsPhysicalCheck){				//如果没有hook,就返回				if (NormalProcessInfo->ProcessInfo[i].IntHideType == 1 ||					_wcsnicmp(lpwzTrue,L"无法确认文件来源",wcslen(L"无法确认文件来源")) == 0)				{					WCHAR lpwzSaveBuffer[1024] ={0};					CHAR lpszSaveBuffer[2024] ={0};					memset(lpwzSaveBuffer,0,sizeof(lpwzSaveBuffer));					memset(lpszSaveBuffer,0,sizeof(lpszSaveBuffer));					wsprintfW(lpwzSaveBuffer,L"          --> 发现无法识别进程:进程Pid:%ws | 进程名:%ws | EPROCESS:%ws | 进程路径:%ws/r/n",						lpwzPid,lpwzProcName,lpwzEProcess,lpwzFullString);					m_list->InsertItem(0,L"系统进程",RGB(77,77,77));					m_list->SetItemText(0,1,lpwzSaveBuffer);					WideCharToMultiByte( CP_ACP,						0,						lpwzSaveBuffer,						-1,						lpszSaveBuffer,						wcslen(lpwzSaveBuffer)*2,						NULL,						NULL						);					SaveToFile(lpszSaveBuffer,PhysicalFile);				}				continue;			}			if (NormalProcessInfo->ProcessInfo[i].IntHideType == 1)			{				m_list->InsertItem(i,lpwzPid,RGB(255,20,147));  //隐藏				memset(lpwzStatus,0,sizeof(lpwzStatus));				wcscat(lpwzStatus,L"隐藏进程");			}			else			{				if (_wcsnicmp(lpwzTrue,L"无法确认文件来源",wcslen(L"无法确认文件来源")) == 0)				{					m_list->InsertItem(i,lpwzPid,RGB(238,118,0));				}				else				{					if (!wcslen(lpwzProcName))					{						wcscat(lpwzFullString,L"* (Warning:进程文件已被移动)");						PathEmpty=true;						wcscat(lpwzProcName,L"*");						m_list->InsertItem(i,lpwzPid,RGB(255,20,147));					}else						m_list->InsertItem(i,lpwzPid,RGB(77,77,77));				}			}			//m_list->InsertItem(ItemNum,lpwzHideType);			m_list->SetItemText(i,1,lpwzInheritedPid);			m_list->SetItemText(i,2,lpwzProcName);			m_list->SetItemText(i,3,lpwzFullString);			m_list->SetItemText(i,4,lpwzEProcess);			m_list->SetItemText(i,5,lpwzStatus);			m_list->SetItemText(i,6,lpwzTrue);			if(PathEmpty)				ProcessImg.Add(imgApp->LoadIconW(IDI_WHITE));			else			{				hImageList=(HIMAGELIST)::SHGetFileInfo(lpwzFullString,0,&shfileinfo,sizeof(shfileinfo),SHGFI_ICON);				ProcessImg.Add(shfileinfo.hIcon);			}			m_list->SetImageList(&ProcessImg);			m_list->SetItemImageId(i,i);			DestroyIcon(shfileinfo.hIcon);			PathEmpty=true;		}		//VirtualFree(NormalProcessInfo,sizeof(NormalProcessInfo)*1050*200,MEM_RESERVE | MEM_COMMIT);	}else{		WCHAR lpwzTextOut[100];		memset(lpwzTextOut,0,sizeof(lpwzTextOut));		wsprintfW(lpwzTextOut,L"申请内存错误, 请重新运行A盾/r/n错误代码:%d/n",GetLastError());		MessageBox(0,lpwzTextOut,0,0);	}	WCHAR lpwzTextOut[100];	memset(lpwzTextOut,0,sizeof(lpwzTextOut));	wsprintfW(lpwzTextOut,L"系统进程扫描完毕,共有 %d 个数据",i);	SetDlgItemTextW(m_hWnd,ID,lpwzTextOut);}
开发者ID:AmesianX,项目名称:A-Protect,代码行数:101,



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


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