亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? app32.c

?? 用Java實現Windows系統托盤圖標源碼1
?? C
字號:
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include "app32.h"
#include <windowsx.h>

#include "resource.h"

#define MYWM_NOTIFYICON		(WM_APP+100)

//---------------------------------------------------------------------------
// Global to everybody...
HINSTANCE g_hinst;

#ifndef ARRAYSIZE
#define ARRAYSIZE(a)    (sizeof(a)/sizeof(a[0]))
#endif

struct _DLGITEMS
{
	DWORD dwStart;
	UINT uNotify;
	UINT uDelayID;
	UINT uState1;
	UINT uTip1;
	UINT uState2;
	UINT uTip2;
} g_sDlgItems [] =
{
	{
		0, IDC_NOTIFY1, IDC_DELAY1, IDC_STATE11, IDC_TIP11, IDC_STATE12, IDC_TIP12,
	},
	{
		0, IDC_NOTIFY2, IDC_DELAY2, IDC_STATE21, IDC_TIP21, IDC_STATE22, IDC_TIP22,
	},
	{
		0, IDC_NOTIFY3, IDC_DELAY3, IDC_STATE31, IDC_TIP31, IDC_STATE32, IDC_TIP32,
	},
} ;


BOOL TrayMessage(HWND hDlg, DWORD dwMessage, UINT uID, HICON hIcon, PSTR pszTip)
{
        BOOL res;

	NOTIFYICONDATA tnd;

	tnd.cbSize		= sizeof(NOTIFYICONDATA);
	tnd.hWnd		= hDlg;
	tnd.uID			= uID;

	tnd.uFlags		= NIF_MESSAGE|NIF_ICON|NIF_TIP;
	tnd.uCallbackMessage	= MYWM_NOTIFYICON;
	tnd.hIcon		= hIcon;
	if (pszTip)
	{
		lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip));
	}
	else
	{
		tnd.szTip[0] = '\0';
	}

	res = Shell_NotifyIcon(dwMessage, &tnd);

	if (hIcon)
	    DestroyIcon(hIcon);

	return res;
}


LRESULT IconDrawItem(LPDRAWITEMSTRUCT lpdi)
{
	HICON hIcon;

	hIcon = (HICON)LoadImage(g_hinst, MAKEINTRESOURCE(lpdi->CtlID), IMAGE_ICON,
		16, 16, 0);
	if (!hIcon)
	{
		return(FALSE);
	}

	DrawIconEx(lpdi->hDC, lpdi->rcItem.left, lpdi->rcItem.top, hIcon,
		16, 16, 0, NULL, DI_NORMAL);

	return(TRUE);
}


void StateChange(HWND hDlg, UINT uIndex, UINT uSelect)
{
	UINT uState1, uState2;
	HWND hwndIcon;
	LPCSTR pszIDIcon;
	UINT uTip;
	char szTip[64];

	uState1 = g_sDlgItems[uIndex].uState1;
	uState2 = g_sDlgItems[uIndex].uState2;

	// if !uSelect, find out which button is selected
	if (!uSelect)
	{
		uSelect = IsDlgButtonChecked(hDlg, uState2) ? uState2 : uState1;
	}
	// if uSelect<0, find out shich button is NOT selected
	else if ((int)uSelect < 0)
	{
		uSelect = IsDlgButtonChecked(hDlg, uState2) ? uState1 : uState2;
	}

	CheckRadioButton(hDlg, uState1, uState2, uSelect);

	// If there is a tip specified, use it, otherwise use the default
	uTip = uSelect==uState1
		? g_sDlgItems[uIndex].uTip1 : g_sDlgItems[uIndex].uTip2;
	if (!GetDlgItemText(hDlg, uTip, szTip, sizeof(szTip))
		&& !LoadString(g_hinst, uSelect, szTip, sizeof(szTip)))
	{
		*szTip = '\0';
	}

	// HACK: The ID of window after the radio button is the ID of the icon
	hwndIcon = GetWindow(GetDlgItem(hDlg, uSelect), GW_HWNDNEXT);
	pszIDIcon = MAKEINTRESOURCE(GetDlgCtrlID(hwndIcon));

	TrayMessage(hDlg, NIM_MODIFY, g_sDlgItems[uIndex].uNotify,
		LoadImage(g_hinst, pszIDIcon, IMAGE_ICON, 16, 16, 0), szTip);
}


void NotifyDelete(HWND hDlg, UINT uIndex)
{
	TrayMessage(hDlg, NIM_DELETE, g_sDlgItems[uIndex].uNotify, NULL, NULL);
}


void NotifyAdd(HWND hDlg, UINT uIndex)
{
	TrayMessage(hDlg, NIM_ADD, g_sDlgItems[uIndex].uNotify, NULL, NULL);

	StateChange(hDlg, uIndex, 0);
}


void NotifyChange(HWND hDlg, UINT uIndex)
{
	UINT uDelay;
	BOOL bTranslated;
	BOOL bEnable;

	if (IsDlgButtonChecked(hDlg, g_sDlgItems[uIndex].uNotify))
	{
		uDelay = GetDlgItemInt(hDlg, g_sDlgItems[uIndex].uDelayID,
			&bTranslated, FALSE);
		if (uDelay)
		{
			g_sDlgItems[uIndex].dwStart = GetTickCount() + uDelay*60000;
			SetTimer(hDlg, uIndex, 60000, NULL);
		}
		else
		{
			NotifyAdd(hDlg, uIndex);
		}
	}
	else
	{
		NotifyDelete(hDlg, uIndex);
	}

	for (uIndex=0, bEnable=FALSE; uIndex<ARRAYSIZE(g_sDlgItems); ++uIndex)
	{
		if (IsDlgButtonChecked(hDlg, g_sDlgItems[uIndex].uNotify))
		{
			bEnable = TRUE;
		}
	}
	EnableWindow(GetDlgItem(hDlg, IDABORT), bEnable);
}


BOOL CALLBACK TestAppDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg)
	{
	case WM_INITDIALOG:
		break;

	case WM_DRAWITEM:
		return(IconDrawItem((LPDRAWITEMSTRUCT)lParam));
		break;

	case WM_DESTROY:
		NotifyDelete(hDlg, 0);
		NotifyDelete(hDlg, 1);
		NotifyDelete(hDlg, 2);
		break;

	case WM_TIMER:
		if (wParam >= ARRAYSIZE(g_sDlgItems))
		{
			break;
		}

		if ((int)(GetTickCount() - g_sDlgItems[wParam].dwStart) < 0)
		{
			break;
		}

		KillTimer(hDlg, wParam);
		NotifyAdd(hDlg, wParam);
		break;

	case WM_COMMAND:
		switch (GET_WM_COMMAND_ID(wParam, lParam))
		{
		case IDCANCEL:
			EndDialog(hDlg, TRUE);
			break;

		case IDABORT:
			ShowWindow(hDlg, SW_HIDE);
			break;

		case IDC_NOTIFY1:
			NotifyChange(hDlg, 0);
			break;

		case IDC_NOTIFY2:
			NotifyChange(hDlg, 1);
			break;

		case IDC_NOTIFY3:
			NotifyChange(hDlg, 2);
			break;

		case IDC_STATE11:
		case IDC_STATE12:
			StateChange(hDlg, 0, GET_WM_COMMAND_ID(wParam, lParam));
			break;

		case IDC_STATE21:
		case IDC_STATE22:
			StateChange(hDlg, 1, GET_WM_COMMAND_ID(wParam, lParam));
			break;

		case IDC_STATE31:
		case IDC_STATE32:
			StateChange(hDlg, 2, GET_WM_COMMAND_ID(wParam, lParam));
			break;
		}
		break;

	case MYWM_NOTIFYICON:
		switch (lParam)
		{
		case WM_LBUTTONDOWN:
			switch (wParam)
			{
			case IDC_NOTIFY1:
				StateChange(hDlg, 0, (UINT)-1);
				break;

			case IDC_NOTIFY2:
				StateChange(hDlg, 1, (UINT)-1);
				break;

			case IDC_NOTIFY3:
				StateChange(hDlg, 2, (UINT)-1);
				break;

			default:
				break;
			}
			break;

		case WM_RBUTTONDOWN:
			ShowWindow(hDlg, SW_SHOW);
			SetForegroundWindow(hDlg);	// make us come to the front
			break;

		default:
			break;
		}
		break;

	default:
		return(FALSE);
	}

	return(TRUE);
}


//---------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	g_hinst = hInstance;
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_APP32), NULL, TestAppDlgProc);
	return(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲影院理伦片| 国产成人亚洲综合a∨婷婷图片| 日韩成人免费看| 国产69精品久久久久777| 在线影院国内精品| 国产区在线观看成人精品| 亚洲123区在线观看| 不卡一区二区三区四区| 日韩欧美一级二级三级久久久| 亚洲天堂2014| 国产精品中文有码| 日韩欧美中文字幕精品| 亚洲综合在线五月| 9色porny自拍视频一区二区| 中文字幕亚洲在| 久久99精品网久久| 欧美一级一级性生活免费录像| 亚洲精品国产无天堂网2021| 国产一区二区三区四区在线观看 | 欧美巨大另类极品videosbest | 欧美一区二区三区啪啪| 亚洲精品免费在线观看| 国产精品 欧美精品| 精品免费日韩av| 免费成人深夜小野草| 欧美三级蜜桃2在线观看| 亚洲另类在线制服丝袜| www.成人网.com| 国产精品久久久爽爽爽麻豆色哟哟| 精品一二三四区| 精品毛片乱码1区2区3区| 美脚の诱脚舐め脚责91| 欧美一区二区高清| 美女爽到高潮91| 欧美xxxxx裸体时装秀| 激情国产一区二区| 国产午夜一区二区三区| 国产精品亚洲第一| 国产精品久久久久久久裸模| a级精品国产片在线观看| 国产精品久久久99| 色综合久久久久网| 亚洲一区二区精品3399| 在线不卡欧美精品一区二区三区| 婷婷六月综合亚洲| 日韩一区二区免费视频| 久久se精品一区二区| 久久综合一区二区| 国产高清久久久久| 中文字幕日韩av资源站| 91福利小视频| 国产伦精品一区二区三区免费迷 | 91福利在线播放| 亚洲成av人片| 日韩欧美亚洲国产精品字幕久久久| 精品一区二区三区视频在线观看| 久久欧美一区二区| 91在线视频免费91| 天天亚洲美女在线视频| 国产成都精品91一区二区三| 国产精品国产三级国产普通话蜜臀| 色88888久久久久久影院按摩 | 欧美videos中文字幕| 国产传媒日韩欧美成人| 亚洲欧美一区二区三区久本道91 | 国产精品欧美精品| 欧美三级日韩三级| 国产成人午夜片在线观看高清观看| 中文字幕亚洲区| 7777女厕盗摄久久久| 国模一区二区三区白浆| 亚洲精品乱码久久久久久久久| 欧美一区二区三区视频免费| 成人在线视频一区| 午夜伊人狠狠久久| 国产精品成人免费精品自在线观看| 欧美日韩视频不卡| 懂色av一区二区三区免费看| 午夜精品福利一区二区蜜股av| 精品动漫一区二区三区在线观看| 91蜜桃婷婷狠狠久久综合9色| 麻豆精品在线视频| 亚洲激情欧美激情| 久久亚洲综合色一区二区三区| 欧美亚洲精品一区| 成人性生交大片免费| 日韩成人一级片| 亚洲欧美国产三级| 久久久美女毛片| 欧美一级xxx| 在线精品视频免费播放| 国产成人免费视频网站| 丝袜美腿亚洲色图| 久久精品999| 亚洲免费观看视频| 国产精品美女视频| 久久久久九九视频| 欧美一区欧美二区| 欧美日韩dvd在线观看| 99麻豆久久久国产精品免费优播| 蜜桃av噜噜一区二区三区小说| 亚洲一级不卡视频| 亚洲精品第一国产综合野| 久久久亚洲高清| 久久天堂av综合合色蜜桃网| 在线成人av网站| 制服丝袜在线91| 777精品伊人久久久久大香线蕉| 色偷偷88欧美精品久久久| 不卡一二三区首页| www.亚洲精品| 99精品久久免费看蜜臀剧情介绍| 国产不卡在线一区| 成人精品免费看| 国产aⅴ精品一区二区三区色成熟| 国产自产高清不卡| 国产精品资源站在线| 国产麻豆精品一区二区| 国产a久久麻豆| 成人午夜视频网站| www.视频一区| 91精品福利视频| 在线观看国产91| 色狠狠色狠狠综合| 欧美体内she精高潮| 884aa四虎影成人精品一区| 欧美精品777| 欧美日韩情趣电影| 欧美午夜精品免费| 7777精品伊人久久久大香线蕉完整版| 欧美丰满美乳xxx高潮www| 欧美一卡2卡三卡4卡5免费| 精品卡一卡二卡三卡四在线| 国产色一区二区| 亚洲免费在线视频| 婷婷开心激情综合| 精品一区二区免费视频| 成人免费视频一区二区| 色吊一区二区三区| 69久久99精品久久久久婷婷| 精品国产伦一区二区三区观看体验| 久久久久青草大香线综合精品| 中文字幕的久久| 亚洲国产欧美在线| 麻豆精品久久久| av在线综合网| 91精品国产综合久久精品麻豆| 久久久久亚洲综合| 亚洲午夜精品在线| 国产毛片精品视频| 91福利视频网站| 久久亚洲二区三区| 亚洲综合自拍偷拍| 国产伦理精品不卡| 欧美日韩一区视频| 国产午夜精品理论片a级大结局| 亚洲精品国产高清久久伦理二区| 日韩国产在线观看| 成人午夜视频在线| 欧美一级二级三级蜜桃| 椎名由奈av一区二区三区| 日本伊人色综合网| 99v久久综合狠狠综合久久| 日韩欧美一卡二卡| 亚洲毛片av在线| 国产成人av一区二区| 3d成人动漫网站| 一区二区视频在线| 国产91色综合久久免费分享| 91麻豆精品国产91久久久使用方法| 日本一区二区三区在线不卡| 丝瓜av网站精品一区二区| thepron国产精品| 337p日本欧洲亚洲大胆精品| 亚洲高清三级视频| 9l国产精品久久久久麻豆| 久久99国内精品| 欧美国产一区视频在线观看| 亚洲精品久久嫩草网站秘色| 国产乱码精品一区二区三区五月婷| 亚洲午夜久久久久久久久电影院| 99精品国产一区二区三区不卡| 欧美一卡二卡在线观看| 亚洲愉拍自拍另类高清精品| 国产成人精品aa毛片| 精品国产一二三| 奇米亚洲午夜久久精品| 欧美美女一区二区三区| 亚洲与欧洲av电影| 97精品视频在线观看自产线路二| 国产视频一区在线观看| 久久精品国产成人一区二区三区 | 国产福利一区二区三区视频在线 | av资源网一区| 中文字幕不卡的av| 国产精品白丝av| 国产欧美日韩三区| 国产精品夜夜嗨| 欧美国产日韩在线观看| 懂色av中文一区二区三区|