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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? windowstrayicon.java

?? 用Java實(shí)現(xiàn)Windows系統(tǒng)托盤圖標(biāo)源碼1
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
/****************************************************************************************************************
 *                                                                                                              *
 * Windows messaging code for detecting previous instance                                                       *
 *                                                                                                              *
 ****************************************************************************************************************/

/**
 * Checks if there's an instance with hidden window title = appName running
 * Can be used to detect that another instance of your app is already running (so exit..)
 *
 * Param appName = the title of the hidden window to search for
 */
	public static native boolean isRunning(String appName);

/**
 * Send a message to another app (message can contain an integer)
 * Can be used to detect that another instance of your app is already running
 * That instance can for example restore it's window after it receives the windows
 * message - see demo app for more info
 *
 * Param appName = the title of the hidden window to search for
 * Param message = the integer message to send (only native int size supported)
 */
	public static native int sendWindowsMessage(String appName, int message);

/**
 * Set callback method for receiving windows messages
 * See sendWindowsMessage() for more information or take a look at the demo app
 *
 * Param callback = the callback method for this app
 */
	public static void setWindowsMessageCallback(TrayIconCallback callback) {
		m_WMessageCallback = callback;
	}

/**
 * Keep TrayIcon alive (make sure application does not exit)
 */
	public static void keepAlive() {
		if (m_Keeper == null) {
			m_Keeper = new TrayIconKeeper();
			m_Keeper.start();
		}
	}
	
	public final static int FLASHW_STOP = 0;
	public final static int FLASHW_CAPTION = 1;
	public final static int FLASHW_TRAY = 2;
	public final static int FLASHW_ALL = FLASHW_CAPTION | FLASHW_TRAY;
	public final static int FLASHW_TIMER = 4;
	public final static int FLASHW_TIMERNOFG = 12;

	public static void flashWindow(Frame wnd) throws TrayIconException {
		flashWindow(wnd, FLASHW_ALL | FLASHW_TIMERNOFG, 0, 0);
	}
	
	public static void flashWindow(Frame wnd, int flags, int count, int timeout) throws TrayIconException {
		flashWindow(wnd.getTitle(), flags, count, timeout);
	}
	
	public static void flashWindow(String title, int flags, int count, int timeout) throws TrayIconException {
		if (!flashWindowImpl(title, flags, count, timeout)) {
			throw new TrayIconException("Flash window not supported");
		}
	}	
	
	public static native boolean flashWindowImpl(String title, int flags, int count, int timeout);
	
	public static void setCurrentWindow(Window wnd) {
		m_CurrentWindow = wnd;
	}

	public static native String getWindowsVersionString();

	public static native int getWindowsVersion();

	public final static int WIN_VER_UNKNOWN = 0;
	public final static int WIN_VER_WIN32 = 1;
	public final static int WIN_VER_95 = 2;
	public final static int WIN_VER_98 = 3;
	public final static int WIN_VER_ME = 4;
	public final static int WIN_VER_NT = 5;
	public final static int WIN_VER_2K = 6;
	public final static int WIN_VER_XP = 7;
	public final static int WIN_VER_NET = 8;
	
	public static boolean supportsBallonInfo() {
		int version = getWindowsVersion();
		return version >= WIN_VER_2K;
	}

/****************************************************************************************************************
 *                                                                                                              *
 * Next section is for inter use only -- or for hackers :O)                                                     *
 *                                                                                                              *
 ****************************************************************************************************************/

// Constructor
	private WindowsTrayIcon() {
	}

// Each icon has a unique id ranging from 0..99
	private int m_ID;
// Each icon can have a popup menu - activated when user right clicks the icon
	private TrayIconPopup m_Popup;
// Each icon can have any number of ActionListeners - notified when user clicks (left/right) the icon
	private Vector m_ActList, m_MouseList, m_BalloonList;
// Each application can have one WindowsMessageCallback - notified when another app uses sendWindowsMessage
	private static TrayIconCallback m_WMessageCallback;

	private final static int MOUSE_BTN_UP = 1;
	private final static int MOUSE_BTN_DOUBLE = 2;

	public static TrayDummyComponent getDummyComponent() {
		if (m_Dummy == null) m_Dummy = new TrayDummyComponent();
		return m_Dummy;
	}

/**
 * Private method called by native library when user clicks mouse button
 *
 * Param button = "Left" or "Right" or "Middle"
 */
	private void notifyMouseListeners(int button, int mask, int xp, int yp) {
		int clicks = (mask & MOUSE_BTN_DOUBLE) != 0 ? 2 : 1;
		boolean up = (mask & MOUSE_BTN_UP) != 0;
		if (m_ActList != null && clicks == 1 && up == false) {
			ActionEvent evt = null;
			if (button == 0) evt = new ActionEvent(this,0,"Left");
			else if (button == 1) evt = new ActionEvent(this,0,"Right");
			else evt = new ActionEvent(this,0,"Middle");
			for (Enumeration enum = m_ActList.elements(); enum.hasMoreElements(); ) {
				ActionListener listener = (ActionListener)enum.nextElement();
				listener.actionPerformed(evt);
			}
		}
		if (m_MouseList != null) {
			int modifiers = 0;
			if (button == 0) modifiers |= MouseEvent.BUTTON1_MASK;
			else if (button == 1) modifiers |= MouseEvent.BUTTON2_MASK;
			else modifiers |= MouseEvent.BUTTON3_MASK;
			// (Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger)
			MouseEvent evt = new MouseEvent(getDummyComponent(), 0, 0, modifiers, xp, yp, clicks, button == 1);
			for (Enumeration enum = m_MouseList.elements(); enum.hasMoreElements(); ) {
				MouseListener listener = (MouseListener)enum.nextElement();
				if (up) listener.mouseReleased(evt);
				else listener.mousePressed(evt);
			}
		}
	}
	
/**
 * Private method called by native library when something happens with the balloon message
 *
 */
	private void notifyBalloonListeners(int mask) {
		if (m_BalloonList != null) {
			TrayBalloonEvent evt = new TrayBalloonEvent(mask);
			for (Enumeration enum = m_BalloonList.elements(); enum.hasMoreElements(); ) {
				TrayBalloonListener listener = (TrayBalloonListener)enum.nextElement();
				listener.balloonChanged(evt);
			}
		}
	}	

/**
 * Private method called by native library when user selects popup menu item
 *
 * Param id = id of menu item (each menu item has unique id)
 */
	private void notifyMenuListeners(int id) {
		if (m_Popup != null) m_Popup.onSelected(id);
	}

/**
 * Private method called by native library when it receives a sendWindowsMessage event
 * See sendWindowsMessage() for more information or take a look at the demo app
 *
 * Param lParam = parameter send along with windows message
 */
	private static int callWindowsMessage(int lParam) {
		if (m_WMessageCallback != null) return m_WMessageCallback.callback(lParam);
		else return 0;
	}

	private static void callMouseHook(int xp, int yp) {
		if (m_MouseHook != null) {
			MouseEvent evt = new MouseEvent(getDummyComponent(), 0, 0, 0, xp, yp, 1, true);
			m_MouseHook.mousePressed(evt);
		}
	}

/**
 * Modify property of menu item
 *
 * Param menuId = the id of the menu item
 * Param what = which property to modify
 * Param state = true property enabled
 */
	void modifyPopup(int menuId, int what, boolean state) {
		modifyPopup(m_ID, menuId, what, state);
	}

/**
 * Init new popup menu - used by setPopup()
 *
 * Param id = the icon's id
 * Param nblevels = the submenu depth of the new popup
 */
	static native void initPopup(int id, int nblevels);

// Constants for builing a popup menu
// Used by subclasses of TrayIconPopupItem
	final static int POPUP_TYPE_ITEM        = 0;	// Simple item
	final static int POPUP_TYPE_SEPARATOR   = 1;	// Separator
	final static int POPUP_TYPE_CHECKBOX    = 2;	// Checkbox item
	final static int POPUP_TYPE_INIT_LEVEL  = 3;	// First item of submenu
	final static int POPUP_TYPE_DONE_LEVEL  = 4;	// Last item of submenu

// Enable/Disable and friends
	final static int POPUP_MODE_ENABLE      = 1;
	final static int POPUP_MODE_CHECK       = 2;
	final static int POPUP_MODE_DEFAULT     = 4;

/**
 * Add popup menu item - used by setTrayIcon() in subclasses of TrayIconPopupItem
 *
 * Param id = the icon's id
 * Param level = the submenu level
 * Param name = the name of the menu item
 * Param type = POPUP_TYPE_ITEM or POPUP_TYPE_SEPARATOR or..
 */
	static native int subPopup(int id, int level, String name, int type, int extra);

/**
 * Modify menu item properties
 *
 * Param id = the icon's id
 * Param menuId = the id of the menu item
 * Param what = property to modify
 * Param state = on/off
 */	
	private static native void modifyPopup(int id, int menuId, int what, boolean state);		

/**
 * Allocate a new id for icon - used in constructor
 */
	private static native int getFreeId();

/**
 * Set bitmap data for icon - used in constructor and setImage()
 *
 * Param id = the icon's id
 * Param w, h = the images size
 * Param pixels = the pixel array
 */
	private static native void setIconData(int id, int w, int h, int pixels[]);

/**
 * Make Tray Icon visible/invisible - used by setVisible()
 *
 * Param id = the icon's id
 * Param hide = visible/invisible?
 */
	private static native void showIcon(int id, boolean hide);

/**
 * Test if Tray Icon is in the system tray - used by isVisible()
 *
 * Param id = the icon's id
 */
	private static native int testVisible(int id);

/**
 * Enable mouse/menu messages for icon - used by addActionListener() and setPopup()
 *
 * Param ico = the icons class (this)
 * Param id = the icon's id
 * Param enable = enable/disable mouse events?
 */
	private static native void clickEnable(WindowsTrayIcon ico, int id, boolean enable);

/**
 * Set tooltip - used by setToolTip(String tip)
 *
 * Param id = the icon's id
 * Param tip = the new tooltip
 */
	private static native void setToolTip(int id, String tip);

/**
 * Free all native resources for this icon - used by freeIcon()
 *
 * Param id = the icon's id
 */
	private static native void freeIcon(int id);
	
	private static native void detectAllClicks(int id);

	public static native void initJAWT();

	public static native void initHook();

	public static native void setMouseHookEnabled(int enable);

	public static void setMouseClickHook(MouseListener listener) {
		m_MouseHook = listener;		
		setMouseHookEnabled(listener == null ? 0 : 1);
	}
	
	private static native void initTrayIcon(String appName, WindowsTrayIcon cls);

	private static native int showBalloon(int id, String msg, String title, int timeout, int flags);

	private static native void termTrayIcon();
	
	public static Window getCurrentWindow() {
		return m_CurrentWindow;
	}

	// Init the native library
	static {
		boolean ok = false;
		String version = System.getProperty("java.version");
		if (version.length() >= 3) {
			String v1 = version.substring(0,3);
			if (v1.equals("1.1")) {
				System.loadLibrary("TrayIcon11");
				ok = true;
			} else {
				System.loadLibrary("TrayIcon12");
				ok = true;
			}
		}
		if (!ok) {
			System.out.println("Wrong Java VM version: "+version);
			System.exit(-1);
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产a久久久久久 | 亚洲欧美日韩国产成人精品影院| 日韩西西人体444www| 精品婷婷伊人一区三区三| 色综合欧美在线视频区| 91免费版在线看| 91亚洲资源网| 91福利资源站| 欧美亚洲综合久久| 欧美日韩色综合| 欧美精品在线视频| 欧美一区二区三区成人| 欧美一二三区精品| 久久久亚洲欧洲日产国码αv| 久久先锋影音av鲁色资源| 国产亚洲一区字幕| 国产精品丝袜在线| 亚洲天堂免费看| 亚欧色一区w666天堂| 日韩在线一区二区三区| 久久国产视频网| 大美女一区二区三区| a级精品国产片在线观看| 色哟哟在线观看一区二区三区| 91久久精品一区二区| 欧美精品日韩一区| 26uuu精品一区二区| 中文天堂在线一区| 亚洲综合在线电影| 免费在线观看视频一区| 国产成人综合网| 色94色欧美sute亚洲13| 宅男噜噜噜66一区二区66| 精品国产乱码久久久久久蜜臀| 欧美国产97人人爽人人喊| 一区二区三区在线视频观看58| 日韩—二三区免费观看av| 国产成人亚洲精品狼色在线 | 日韩欧美一区二区在线视频| 欧美成人a∨高清免费观看| 国产精品免费视频观看| 亚洲国产美女搞黄色| 麻豆91精品视频| 99久久99久久综合| 日韩久久一区二区| 麻豆成人av在线| 99re热这里只有精品视频| 欧美乱熟臀69xxxxxx| 国产无一区二区| 亚洲国产色一区| 国产成人av福利| 欧美日韩极品在线观看一区| 国产欧美一区二区精品性色超碰| 亚洲影院久久精品| 国产一区二区三区四区五区入口 | 久久不见久久见中文字幕免费| 99久久精品国产毛片| 欧美军同video69gay| 中文字幕av不卡| 青青草原综合久久大伊人精品优势 | 亚洲人成7777| 国内精品免费**视频| 在线观看一区不卡| 国产婷婷色一区二区三区| 日韩av网站在线观看| 91美女片黄在线| 国产精品美女一区二区| 另类综合日韩欧美亚洲| 91久久线看在观草草青青| 国产欧美视频在线观看| 奇米在线7777在线精品| 91国偷自产一区二区三区观看| 国产亚洲综合在线| 久久爱另类一区二区小说| 欧美日韩dvd在线观看| 久久精品国产亚洲aⅴ| 青青草国产精品亚洲专区无| 91麻豆精品一区二区三区| 久久久午夜精品理论片中文字幕| 首页国产欧美久久| 91免费国产在线观看| 中文字幕国产一区二区| 国产福利精品一区| 精品美女被调教视频大全网站| 亚洲不卡av一区二区三区| 91国产成人在线| 亚洲免费观看高清在线观看| 成人avav影音| 国产免费观看久久| 国产伦精品一区二区三区免费迷| 欧美一区二区在线免费播放| 亚洲成av人**亚洲成av**| 91黄色免费版| 亚洲精品国产第一综合99久久| 97精品久久久久中文字幕| 国产精品久久久一本精品| 久久精品国产免费| 日韩美女视频一区二区在线观看| 日韩影院精彩在线| 91精品国模一区二区三区| 天天操天天色综合| 91麻豆精品国产综合久久久久久| 亚洲高清一区二区三区| 欧美三级视频在线| 性做久久久久久免费观看| 欧美日韩国产精品自在自线| 午夜精品久久一牛影视| 678五月天丁香亚洲综合网| 五月天婷婷综合| 6080亚洲精品一区二区| 日本亚洲一区二区| 亚洲精品一区二区三区精华液| 激情成人综合网| 久久精品视频免费| 成人黄色在线网站| 亚洲人成电影网站色mp4| 欧美自拍偷拍一区| 日日摸夜夜添夜夜添精品视频 | 国产偷国产偷亚洲高清人白洁| 国产精品一区二区免费不卡 | 日韩一区二区电影| 久久99精品国产91久久来源| 久久久久久一级片| 成人性生交大片免费看视频在线| ㊣最新国产の精品bt伙计久久| 色久优优欧美色久优优| 亚洲成人在线免费| 日韩久久久久久| 成人av午夜影院| 亚洲国产中文字幕| 欧美电影精品一区二区| 成人免费av在线| 亚洲一区二区在线免费看| 欧美一级日韩一级| 国产aⅴ综合色| 一区二区三区欧美日韩| 日韩一区二区三区四区五区六区| 国产不卡高清在线观看视频| 亚洲欧美日韩国产综合在线| 91精品国产色综合久久久蜜香臀| 国产高清精品久久久久| 1区2区3区欧美| 69堂精品视频| 成人高清av在线| 视频精品一区二区| 国产日韩精品一区二区浪潮av| 一本到一区二区三区| 蜜臀精品久久久久久蜜臀 | 日韩av一级片| 国产欧美一区二区精品久导航| 欧美影院精品一区| 国产精品亚洲一区二区三区妖精| 亚洲资源中文字幕| 精品成人免费观看| 色综合激情五月| 精品一区免费av| 亚洲人亚洲人成电影网站色| 日韩精品一区二区在线观看| 91啪在线观看| 国内精品国产三级国产a久久| 亚洲精选一二三| 久久久美女艺术照精彩视频福利播放| 在线精品视频一区二区| 国产一区二区三区免费| 亚洲va欧美va天堂v国产综合| 日本一区二区免费在线| 日韩亚洲欧美综合| 91高清在线观看| 成人性生交大片免费看在线播放| 青青草91视频| 亚洲国产综合91精品麻豆| 国产精品进线69影院| 日韩美女一区二区三区四区| 欧美日韩一级二级| 不卡的av在线播放| 国产一区二区三区电影在线观看| 午夜日韩在线观看| 亚洲日穴在线视频| 欧美—级在线免费片| 精品99一区二区| 欧美一级理论性理论a| 欧美网站大全在线观看| 91丨九色丨黑人外教| 高清成人免费视频| 国产麻豆精品95视频| 麻豆91精品视频| 日韩av在线播放中文字幕| 亚洲电影在线播放| 一区二区在线观看免费 | 亚洲国产aⅴ成人精品无吗| 国产精品免费久久| 中文字幕成人av| 国产亚洲一区二区三区四区| 日韩精品自拍偷拍| 91麻豆精品国产91久久久久久久久 | 亚洲精品在线网站| 欧美一区二区三区四区五区| 欧美日韩中文字幕一区| 在线观看亚洲a| 在线视频中文字幕一区二区|