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

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

?? usernotify.cpp

?? funambol windows mobile plugin source code, the source code is taken from the funambol site
?? CPP
字號:
/*
 * Copyright (C) 2003-2007 Funambol, Inc
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY, TITLE, NONINFRINGEMENT or FITNESS FOR A PARTICULAR
 * PURPOSE.  See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 * 02111-1307  USA
 */


#include <aygshell.h>
#include "resource.h"
#include "usernotify.h"
#include "startsync.h"
#include "HwndFunctions.h"
#include "pim/maincpp.h"
#include "customization.h"

#include "base/Log.h"
#include "processUtils.h"

#define IDS_DEFAULTTITLE      TEXT("Synchronization in progress...")
#define IDS_DEFAULTHTMLMESSAGE   TEXT("<html><body>Do you really want to interrupt the synchronization? <br/></br><input type=button name='cmd:10' value='  Yes  '>&nbsp;&nbsp;&nbsp;<input type=button name='cmd:2' value='  No  '></body</html>")
// {CA777AF7-3CDE-4c15-A7CD-81F629ABA6B8}
static const GUID guidPPCAlertsApp = { 0xca777af7, 0x3cde, 0x4c15, { 0xa7, 0xcd, 0x81, 0xf6, 0x29, 0xab, 0xa6, 0xb8 } };

#if defined WIN32_PLATFORM_PSPC
    static SHNOTIFICATIONDATA pCurrentNotification = {0};
#else

	// NOTIFYICONDATA* pnid = NULL
    static NOTIFYICONDATA pnid = {0};
#endif

long CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

//extern "C" DWORD WINAPI createBubble(LPVOID lpv) {return 0;}
//void removeNotif() {}
//long CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {}

extern "C" DWORD WINAPI createBubble(LPVOID lpv) {

    HANDLE moduleHandle = 0;

    WNDCLASS wc;

    // Just to be safe, remove a lost icon.. (works on ppc only)
    removeNotif();

    LPCWSTR lpszClassName= L"funambolstartsync";
    moduleHandle = GetModuleHandle(0);
    MSG msg;

    // Init Wnd class
    wc.style=CS_HREDRAW | CS_VREDRAW ;
    wc.lpfnWndProc=WndProc;
    wc.cbClsExtra=0;
    wc.cbWndExtra=0;
    wc.hInstance=(HINSTANCE)moduleHandle;
    wc.hIcon=0;
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);
    wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
    wc.lpszMenuName=NULL;
    wc.lpszClassName=lpszClassName;

    if(!RegisterClass(&wc)) return false;

    HWND hMainWindow = CreateWindow(
                                TEXT("funambolstartsync"),
                                NULL,
                                WS_BORDER,
                                0,0,
                                0,0,
                                NULL,
                                NULL,
                                (HINSTANCE)moduleHandle,
                                NULL);

    if(!hMainWindow)
        return FALSE;

    HICON   icon = NULL;
    icon = (HICON)LoadImage(
                      (HINSTANCE)moduleHandle,
                      MAKEINTRESOURCE(IDI_FUNAMBOLSTART_ICON),
                      IMAGE_ICON,
                      GetSystemMetrics(SM_CXSMICON),
                      GetSystemMetrics(SM_CYSMICON),
                      0
    );

#if defined WIN32_PLATFORM_PSPC

    pCurrentNotification.cbStruct = sizeof(pCurrentNotification);
    pCurrentNotification.dwID = 100;
    pCurrentNotification.npPriority = SHNP_INFORM;
    pCurrentNotification.hicon = icon; //LoadIcon((HINSTANCE)moduleHandle, MAKEINTRESOURCE(IDI_FUNAMBOLSTART_ICON));
    pCurrentNotification.clsid = guidPPCAlertsApp;
    pCurrentNotification.csDuration = 15;
    pCurrentNotification.hwndSink = hMainWindow;
    pCurrentNotification.pszHTML = IDS_DEFAULTHTMLMESSAGE;
    pCurrentNotification.pszTitle = IDS_DEFAULTTITLE;
    pCurrentNotification.grfFlags = SHNF_STRAIGHTTOTRAY | SHNF_SILENT;

#else

    pnid.cbSize = sizeof(pnid);
    pnid.uID = 100;      // Per WinCE SDK docs, values from 0 to 12 are reserved and should not be used.
    pnid.uFlags = NIF_ICON;
    pnid.hIcon = icon;
    pnid.hWnd = hMainWindow;

#endif


#if defined WIN32_PLATFORM_PSPC
	LRESULT res = 0;
    // ERROR_INVALID_PARAMETER = code 87
    res = SHNotificationAdd(&pCurrentNotification);

#else

	//Add the notification to the tray
	Shell_NotifyIcon(NIM_ADD, &pnid);
	//Shell_NotifyIcon(NIM_MODIFY, &pnid);
#endif

    while(GetMessage(&msg,NULL,NULL,NULL))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return 0;

}


void removeNotif() {

#if defined WIN32_PLATFORM_PSPC
	SHNotificationRemove(&guidPPCAlertsApp, 100);
    // FIXME On some PocketPC, the icon is not removed at the first call
	SHNotificationRemove(&guidPPCAlertsApp, 100);
#else


    //remove the notification from the tray
    // if the removing action returns 0 it means it becomes from another process
    // try to remove looking at its handle

    if (pnid.uID != 100) {
        HWND wnd = NULL;
        wnd = ::FindWindow(TEXT("funambolstartsync"), NULL);
        if (wnd) {
            pnid.cbSize = sizeof(pnid);
            pnid.uID = 100;      // Per WinCE SDK docs, values from 0 to 12 are reserved and should not be used.
            pnid.uFlags = NIF_ICON;
            pnid.hWnd = wnd;
        }
    }

    Shell_NotifyIcon(NIM_DELETE, &pnid);

#endif
}

//
// It listens to the message event and processes the action to do
// return -6 if the user terminates the application
//
long CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    int ret = 0;
    switch(msg) {

        case WM_DESTROY:
        case WM_CLOSE:
        case WM_QUIT:
            //PostQuitMessage(0);
            return 0;

        case WM_COMMAND:
            switch(LOWORD(wParam)) {
                case 10:
                LOG.info("Sync stopped by the user");
                quit(-6);
                break;

                case 11:
                PostQuitMessage(0);
                break;
            }
        break;

        case WM_NOTIFY:
            if((int) wParam == 100 && ((NMHDR)((NMSHN*)lParam)->hdr).code == SHNN_SHOW)
            {
                // search for UI window handle, if it is not found then we start the UI
                HWND wnd = NULL;
                wnd = HwndFunctions::getWindowHandle();
                if(wnd == NULL){
                    startProgram(PROVIDER_W _T(".exe"),_T(""));
                };

                for(int i=0;i<3;i++){
                    wnd =HwndFunctions::getWindowHandle();
                    if(wnd != NULL)
                        break;
                };

                if(wnd != NULL)
                    SetForegroundWindow(wnd);
                return -1;
            } ;
           break;

        case WM_TIMER:

            break;
    }
    return DefWindowProc(hWnd,msg,wParam,lParam);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91女神在线视频| 国产sm精品调教视频网站| 久久亚区不卡日本| 日韩欧美在线1卡| 精品99999| 久久久青草青青国产亚洲免观| 久久久欧美精品sm网站| 久久蜜桃av一区二区天堂| 日韩精品一区在线观看| 精品久久一区二区三区| 欧美v亚洲v综合ⅴ国产v| 欧美va亚洲va香蕉在线| 久久综合狠狠综合| 国产亲近乱来精品视频| 精品日韩av一区二区| 久久九九全国免费| 1024成人网| 日韩不卡一二三区| 精品一区二区三区久久| 国产不卡视频在线播放| 91视频观看视频| 欧美日韩一区二区欧美激情| 日韩午夜电影在线观看| 久久综合久久久久88| 国产精品久久久久毛片软件| 亚洲va欧美va国产va天堂影院| 日本成人超碰在线观看| 国产成人在线视频免费播放| 91视频观看免费| 欧美一区二区三区不卡| 久久久久久久综合| 日韩一区中文字幕| 午夜影院久久久| 国产九色精品成人porny| 91在线精品一区二区| 日韩欧美中文字幕制服| 亚洲欧美日韩精品久久久久| 免费精品视频最新在线| 91在线国产福利| 欧美成人福利视频| 亚洲另类春色校园小说| 久久精品99久久久| 欧美亚洲国产一区二区三区| 久久综合九色综合97_久久久| 亚洲国产另类精品专区| 国产美女视频91| 在线不卡一区二区| 国产精品久久久久aaaa樱花| 久久激情综合网| 欧美三级中文字幕在线观看| 国产精品久久99| 紧缚捆绑精品一区二区| 欧美日韩黄视频| 有码一区二区三区| 国产成人午夜精品5599| 3d动漫精品啪啪一区二区竹菊| 日韩美女视频一区| 高清不卡一二三区| 精品国产乱码久久久久久影片| 亚洲成人午夜电影| 色综合色综合色综合色综合色综合| 久久你懂得1024| 久久国内精品视频| 欧美一级免费大片| 亚洲国产视频a| 在线视频一区二区三区| 综合久久久久综合| av电影在线观看一区| 中文字幕精品综合| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲影视在线播放| 成人av在线资源网| 国产精品网站在线观看| 国产精品夜夜嗨| 欧美高清在线一区| 国产乱码精品一区二区三区忘忧草 | av网站免费线看精品| 久久久久久免费| 国产精品1区2区| 国产欧美精品一区二区三区四区| 国产剧情一区在线| 国产午夜精品久久久久久免费视| 国产美女av一区二区三区| 亚洲精品在线观看网站| 国产福利一区在线观看| 欧美激情中文不卡| 99精品欧美一区二区三区综合在线| 亚洲人成小说网站色在线| 色欲综合视频天天天| 香蕉成人啪国产精品视频综合网| 91精品国产综合久久久蜜臀粉嫩 | 色综合天天做天天爱| 亚洲综合丝袜美腿| 欧美一区二区三区啪啪| 久久爱另类一区二区小说| 欧美成人一区二区| 国产久卡久卡久卡久卡视频精品| 国产欧美日韩不卡| 在线免费观看不卡av| 日本成人中文字幕在线视频| 日本一区二区三区在线不卡 | 国内成人免费视频| 中文字幕第一区第二区| 91女神在线视频| 秋霞午夜鲁丝一区二区老狼| 欧美高清在线视频| 91行情网站电视在线观看高清版| 强制捆绑调教一区二区| 久久精品网站免费观看| 91搞黄在线观看| 国产成人8x视频一区二区| 一区二区在线观看视频| 日韩欧美一级在线播放| 99免费精品视频| 蜜臀av在线播放一区二区三区 | 欧美精品一区二区三区久久久 | 国产日韩精品一区二区三区在线| 在线一区二区视频| 国产精品综合av一区二区国产馆| 一二三区精品视频| 亚洲精品一区二区三区蜜桃下载 | 成人av在线网| 国模娜娜一区二区三区| 夜夜精品视频一区二区| 国产日韩欧美不卡| 欧美一二三区精品| 色综合久久66| 99r国产精品| 粉嫩嫩av羞羞动漫久久久| 三级久久三级久久| 一区二区久久久久| 国产精品成人免费| 久久久久久夜精品精品免费| 日韩亚洲欧美在线观看| 在线欧美日韩精品| 99久久精品情趣| 成人国产精品视频| 国产精品综合二区| 韩国在线一区二区| 麻豆精品一区二区三区| 亚洲成在人线在线播放| 中文字幕一区二区三区在线播放| 久久久精品国产免大香伊| 欧美va亚洲va香蕉在线| 欧美理论在线播放| 欧美性生活一区| 91色乱码一区二区三区| 成人黄色电影在线| 成人午夜又粗又硬又大| 国产91清纯白嫩初高中在线观看| 国产精品99久久久久久宅男| 激情成人综合网| 国产美女娇喘av呻吟久久| 激情五月婷婷综合| 国内久久精品视频| 国产一区欧美日韩| 国产成人自拍网| 91视视频在线观看入口直接观看www | 国产99久久久国产精品免费看| 韩国欧美国产一区| 粉嫩欧美一区二区三区高清影视| 成人黄色片在线观看| 91在线视频网址| 欧美三级蜜桃2在线观看| 欧美午夜精品久久久久久孕妇| 欧美系列在线观看| 欧美二区三区91| 久久色视频免费观看| 国产精品情趣视频| 1000部国产精品成人观看| 亚洲三级免费电影| 亚洲国产精品久久艾草纯爱| 日本视频一区二区三区| 国产在线精品一区二区| 懂色一区二区三区免费观看| 日本精品一区二区三区四区的功能| 在线免费观看成人短视频| 欧美精品在线视频| 久久一日本道色综合| 中文字幕中文字幕在线一区 | 91尤物视频在线观看| 欧美吻胸吃奶大尺度电影| 欧美一级高清大全免费观看| 中文字幕乱码日本亚洲一区二区| 亚洲电影一级片| 成人精品视频一区二区三区 | 99精品桃花视频在线观看| 欧美性videosxxxxx| 欧美精品一区二区在线观看| 中文字幕中文在线不卡住| 日本中文字幕一区二区有限公司| 国产精品自在在线| 欧美亚洲国产一区二区三区va| 日韩欧美激情一区| 亚洲欧洲日韩女同| 麻豆成人久久精品二区三区红| 波多野结衣中文字幕一区| 欧美一卡二卡三卡| 亚洲码国产岛国毛片在线| 蜜乳av一区二区|