mfpda.c
上传用户:shgppie
上传日期:2020-11-03
资源大小:6k
文件大小:37k
源码类别:

手机WAP编程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <time.h>
  3. #include<pthread.h>
  4. #include<sqlite3.h>
  5. #include <minigui/common.h>
  6. #include <minigui/minigui.h>
  7. #include <minigui/gdi.h>
  8. #include <minigui/window.h>
  9. #include <minigui/dti.c>
  10. #include <minigui/control.h>
  11. #include "mfpda.h"
  12. void gprs_read(void);
  13. HWND hMainWnd,task;
  14. BITMAP bitmap;
  15. static BITMAP bmp1,bmp_ad,bmp_phonecm,bmp_letter,bmp_inbox;
  16. static BITMAP bmp_save1,bmp_ring,bmp_notebook,bmp_name;
  17. static BITMAP bmp_calendar,bmp_datacm,bmp_calculation,bmp_mplayer,bmp_player;
  18. static BITMAP bmp_set,bmp_pic,bmp_record,bmp_tools,bmp_fun,bmp_safe;
  19. int flag=0;
  20. int STOP=1;
  21. #define IDC_CHUANGKOU 1008
  22. #define IDC_SHURUFA 1009
  23. extern hKB;
  24. extern vOice;
  25. extern vOice1;
  26. static BITMAP five_bmp;
  27. static BITMAP six_bmp;
  28. static BITMAP seven_bmp;
  29. static BITMAP eight_bmp;
  30. #define IDC_TIME_ID 1010
  31. #define IDC_TIME_ID2 1011
  32. #define IDC_TIME_ID3 1012
  33. #define IDC_TIME_ID4 1013
  34. #define IDC_TIME_ID5 1014
  35. #define IDC_TIME_ID6 1015
  36. #define _ID_TIME_STATIC7 1999
  37. char time1[100];
  38. //Create the phone menu items
  39. static HMENU CreatePhoneMenu (void)
  40. {
  41.     HMENU hmnu;
  42.     MENUITEMINFO mii;
  43.     memset (&mii, 0, sizeof(MENUITEMINFO));
  44.     mii.type        = MFT_STRING;
  45.     mii.id          = 0;
  46.     mii.typedata    = (DWORD)"";
  47.     hmnu = CreatePopupMenu (&mii);
  48.     memset (&mii, 0, sizeof(MENUITEMINFO));
  49.     mii.type        = MFT_BMPSTRING;
  50.     mii.state       = 0;
  51.     mii.id          = IDM_DIAL_PHONE;
  52.     mii.typedata    = (DWORD)"拨打电话";
  53.     mii.hbmpChecked = 0;
  54.     //mii.hbmpUnchecked = &bmp_phonecm;
  55.     mii.hsubmenu    = 0;
  56.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  57.     mii.type        = MFT_BMPSTRING;
  58.     mii.state       = 0;
  59.     mii.id          = IDM_DIAL_NOTANSWER;
  60.     mii.typedata    = (DWORD)"未接电话";
  61.     //mii.hbmpUnchecked = &bmp_phonecm;
  62.     
  63.     InsertMenuItem(hmnu, 2, TRUE, &mii);    
  64.     mii.type        = MFT_BMPSTRING;
  65.     mii.state       = 0;
  66.     mii.id          = IDM_DIAL_OKANSWER;
  67.     mii.typedata    = (DWORD)"已接电话";
  68.     //mii.hbmpUnchecked = &bmp_phonecm;
  69.     
  70.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  71.     mii.type        = MFT_BMPSTRING;
  72.     mii.state       = 0;
  73.     mii.id          = IDM_DIAL_ALREADY;
  74.     mii.typedata    = (DWORD)"已拨电话";
  75.     //mii.hbmpUnchecked = &bmp_phonecm;
  76.     
  77.     InsertMenuItem(hmnu, 4, TRUE, &mii);
  78.     mii.type        = MFT_BMPSTRING;
  79.     mii.state       = 0;
  80.     mii.id          = IDM_DIAL_RECORD;
  81.     mii.typedata    = (DWORD)"通话记录";
  82.     //mii.hbmpUnchecked = &bmp_phonecm;
  83.     
  84.     InsertMenuItem(hmnu, 5, TRUE, &mii);
  85.     
  86.     return hmnu;
  87. }
  88. //短信功能菜单
  89. static HMENU CreateDataMenu (void)
  90. {
  91.     HMENU hmnu;
  92.     MENUITEMINFO mii;
  93.     memset (&mii, 0, sizeof(MENUITEMINFO));
  94.     mii.type        = MFT_STRING;
  95.     mii.id          = 0;
  96.     mii.typedata    = (DWORD)" ";
  97.     hmnu = CreatePopupMenu (&mii);
  98.     mii.type        = MFT_BMPSTRING;
  99.     mii.state       = 0;
  100.     mii.id          = IDM_WRMSG;
  101.     mii.typedata    = (DWORD)"写短信";
  102.     //mii.hbmpUnchecked = &bmp_letter;
  103.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  104.      
  105.     mii.type        = MFT_BMPSTRING;
  106.     mii.state       = 0;
  107.     mii.id          = IDM_OUTBOX;
  108.     mii.typedata    = (DWORD)"发件箱";
  109.     //mii.hbmpUnchecked = &bmp_letter;
  110.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  111.     
  112.     mii.type        = MFT_BMPSTRING;
  113.     mii.state       = 0;
  114.     mii.id          = IDM_INBOX;
  115.     mii.typedata    = (DWORD)"收件箱";
  116.     //mii.hbmpUnchecked = &bmp_inbox;
  117.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  118.     
  119.     mii.type        = MFT_BMPSTRING;
  120.     mii.state       = 0;
  121.     mii.id          = IDM_DRAFT;
  122.     mii.typedata    = (DWORD)"草稿箱";
  123.     //mii.hbmpUnchecked = &bmp_letter;
  124.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  125.     
  126.     return hmnu;
  127. }
  128. //创建通讯录子菜单
  129. static HMENU CreatePhonebookMenu (void)
  130. {
  131.     HMENU hmnu;
  132.     MENUITEMINFO mii;
  133.     memset (&mii, 0, sizeof(MENUITEMINFO));
  134.     mii.type        = MFT_STRING;
  135.     mii.id          = 0;
  136.     mii.typedata    = (DWORD)"";
  137.     
  138.     hmnu = CreatePopupMenu (&mii);
  139.     mii.type        = MFT_BMPSTRING;
  140.     mii.state       = 0;
  141.     mii.id          = IDM_PBADD;
  142.     mii.typedata    = (DWORD)"增加";
  143.     //mii.hbmpUnchecked = &bmp_save1;
  144.     
  145.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  146.      
  147.     mii.type        = MFT_BMPSTRING;
  148.     mii.state       = 0;
  149.     mii.id          = IDM_PBDELE;
  150.     mii.typedata    = (DWORD)"删除";
  151.     
  152.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  153.     
  154.     mii.type        = MFT_BMPSTRING;
  155.     mii.state       = 0;
  156.     mii.id          = IDM_PBMODI;
  157.     mii.typedata    = (DWORD)"修改";
  158.     
  159.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  160.     
  161.     mii.type        = MFT_BMPSTRING;
  162.     mii.state       = 0;
  163.     mii.id          = IDM_PBQUERY;
  164.     mii.typedata    = (DWORD)"查询";
  165.     
  166.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  167.      
  168.     return hmnu;
  169. }
  170. //创建记事本子菜单
  171. static HMENU CreateNotebookMenu (void)
  172. {
  173.     HMENU hmnu;
  174.     MENUITEMINFO mii;
  175.     memset (&mii, 0, sizeof(MENUITEMINFO));
  176.     mii.type        = MFT_STRING;
  177.     mii.id          = 0;
  178.     mii.typedata    = (DWORD)"";
  179.     hmnu = CreatePopupMenu (&mii);
  180.     mii.type        = MFT_BMPSTRING;
  181.     mii.state       = 0;
  182.     mii.id          = IDM_NBADD;
  183.     mii.typedata    = (DWORD)"增加";
  184.     //mii.hbmpUnchecked = &bmp_save1;
  185.     
  186.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  187.      
  188.     mii.type        = MFT_BMPSTRING;
  189.     mii.state       = 0;
  190.     mii.id          = IDM_NBDELE;
  191.     mii.typedata    = (DWORD)"删除";
  192.     
  193.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  194.     
  195.     mii.type        = MFT_BMPSTRING;
  196.     mii.state       = 0;
  197.     mii.id          = IDM_NBMODI;
  198.     mii.typedata    = (DWORD)"修改";
  199.     
  200.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  201.     
  202.     mii.type        = MFT_BMPSTRING;
  203.     mii.state       = 0;
  204.     mii.id          = IDM_NBQUERY;
  205.     mii.typedata    = (DWORD)"查询";
  206.     
  207.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  208.      
  209.     return hmnu;
  210. }
  211. //创建备忘录子菜单
  212. static HMENU CreateMemoMenu (void)
  213. {
  214.     HMENU hmnu;
  215.     MENUITEMINFO mii;
  216.     memset (&mii, 0, sizeof(MENUITEMINFO));
  217.     mii.type        = MFT_STRING;
  218.     mii.id          = 0;
  219.     mii.typedata    = (DWORD)"";
  220.     hmnu = CreatePopupMenu (&mii);
  221.     mii.type        = MFT_BMPSTRING;
  222.     mii.state       = 0;
  223.     mii.id          = IDM_MEADD;
  224.     mii.typedata    = (DWORD)"增加";
  225.     //mii.hbmpUnchecked = &bmp_save1;
  226.     
  227.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  228.      
  229.     mii.type        = MFT_BMPSTRING;
  230.     mii.state       = 0;
  231.     mii.id          = IDM_MEDELE;
  232.     mii.typedata    = (DWORD)"删除";
  233.     
  234.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  235.     
  236.     mii.type        = MFT_BMPSTRING;
  237.     mii.state       = 0;
  238.     mii.id          = IDM_MEMODI;
  239.     mii.typedata    = (DWORD)"修改";
  240.     
  241.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  242.     
  243.     mii.type        = MFT_BMPSTRING;
  244.     mii.state       = 0;
  245.     mii.id          = IDM_MEQUERY;
  246.     mii.typedata    = (DWORD)"查询";
  247.     
  248.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  249.      
  250.     return hmnu;
  251. }
  252. static HMENU CreatealarmclockMenu (void)//add by ldx to realize two alarm clock
  253. {
  254.     HMENU hmnu;
  255.     MENUITEMINFO mii;
  256.     memset (&mii, 0, sizeof(MENUITEMINFO));
  257.     mii.type        = MFT_STRING;
  258.     mii.id          = 0;
  259.     mii.typedata    = (DWORD)"";
  260.     hmnu = CreatePopupMenu (&mii);
  261.     mii.type        = MFT_BMPSTRING;
  262.     mii.state       = 0;
  263.     mii.id          = IDM_ALARMCLOCK1;
  264.     mii.typedata    = (DWORD)"闹钟1";
  265.     mii.hbmpUnchecked = &bmp_ring;
  266.     
  267.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  268.      
  269.     mii.type        = MFT_BMPSTRING;
  270.     mii.state       = 0;
  271.     mii.id          = IDM_ALARMCLOCK2;
  272.     mii.typedata    = (DWORD)"闹钟2";
  273.     
  274.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  275.       
  276.     return hmnu;
  277. }
  278. //Create the tools menu items
  279. static HMENU CreateToolsMenu (void)
  280. {
  281.     HMENU hmnu;
  282.     MENUITEMINFO mii;
  283.     memset (&mii, 0, sizeof(MENUITEMINFO));
  284.     mii.type        = MFT_STRING;
  285.     mii.id          = 0;
  286.     mii.typedata    = (DWORD)" ";
  287.     hmnu = CreatePopupMenu (&mii);
  288.     memset (&mii, 0, sizeof(MENUITEMINFO));
  289.     mii.type        = MFT_BMPSTRING;
  290.     mii.state       = 0;
  291.     mii.id          = IDM_NOTEBOOK;
  292.     mii.typedata    = (DWORD)"记事本";
  293.     //mii.hbmpUnchecked = &bmp_notebook;
  294.     
  295.     mii.hsubmenu  = CreateNotebookMenu();
  296.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  297.     mii.type        = MFT_BMPSTRING;
  298.     mii.state       = 0;
  299.     mii.id          = IDM_MEMO;
  300.     mii.typedata    = (DWORD)"日程表";
  301.     //mii.hbmpUnchecked = &bmp_name;
  302.     
  303.     mii.hsubmenu  = CreateMemoMenu();
  304.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  305.       
  306.     mii.type        = MFT_BMPSTRING;
  307.     mii.state       = 0;
  308.     mii.id          = IDM_RING;
  309.     mii.typedata    = (DWORD)"闹钟";
  310.     mii.hbmpUnchecked = &bmp_ring;
  311.     
  312.     mii.hsubmenu  = CreatealarmclockMenu();
  313.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  314.     
  315.     mii.type        = MFT_BMPSTRING;
  316.     mii.state       = 0;
  317.     mii.id          = IDM_CALENDAR;
  318.     mii.typedata    = (DWORD)"日历";
  319.     mii.hbmpUnchecked = &bmp_calendar;
  320.     
  321.     mii.hsubmenu  = 0;
  322.     InsertMenuItem(hmnu, 4, TRUE, &mii);
  323.     
  324.     mii.type        = MFT_BMPSTRING;
  325.     mii.state       = 0;
  326.     mii.id          = IDM_RES;
  327.     mii.typedata    = (DWORD)"资源管理器";
  328.     //mii.hbmpUnchecked = &bmp_datacm;
  329.     
  330.     mii.hsubmenu  = 0;
  331.     InsertMenuItem(hmnu, 5, TRUE, &mii);
  332.     
  333.     mii.type        = MFT_BMPSTRING;
  334.     mii.state       = 0;
  335.     mii.id          = IDM_CALCULATER;
  336.     mii.typedata    = (DWORD)"计算器";
  337.     //mii.hbmpUnchecked = &bmp_calculation;
  338.     
  339.     mii.hsubmenu  = 0;
  340.     InsertMenuItem(hmnu, 6, TRUE, &mii);
  341.     //memset (&mii, 0, sizeof(MENUITEMINFO));
  342.     mii.type        = MFT_BMPSTRING;
  343.     mii.state       = 0;
  344.     mii.id          = IDM_DATAGET;
  345.     mii.typedata    = (DWORD)"数据采集";
  346.     //mii.hbmpUnchecked = &bmp_ad;
  347.     mii.hsubmenu  = 0;
  348.     InsertMenuItem(hmnu, 7, TRUE, &mii);
  349.     mii.type        = MFT_BMPSTRING;
  350.     mii.state       = 0;
  351.     mii.id          = IDM_UNITCHANGE;
  352.     mii.typedata    = (DWORD)"单位换算器";
  353.     
  354.     mii.hsubmenu  = 0;
  355.     InsertMenuItem(hmnu, 8, TRUE, &mii);
  356.     
  357.     return hmnu;
  358. }
  359. //Create the fun menu items
  360. static HMENU CreateFunMenu (void)
  361. {
  362.     HMENU hmnu;
  363.     MENUITEMINFO mii;
  364.     memset (&mii, 0, sizeof(MENUITEMINFO));
  365.     mii.type        = MFT_STRING;
  366.     mii.id          = 0;
  367.     mii.typedata    = (DWORD)" ";
  368.     hmnu = CreatePopupMenu (&mii);
  369.     memset (&mii, 0, sizeof(MENUITEMINFO));
  370.     mii.type        = MFT_BMPSTRING;
  371.     mii.state       = 0;
  372.     mii.id          = IDM_MPLAYER;
  373.     mii.typedata    = (DWORD)"MPLAYER";
  374.     mii.hbmpUnchecked = &bmp_mplayer;
  375.     
  376.     InsertMenuItem(hmnu, 0, TRUE, &mii);    
  377.     /* 
  378.     memset (&mii, 0, sizeof(MENUITEMINFO));
  379.     mii.type        = MFT_BMPSTRING;
  380.     mii.state       = 0;
  381.     mii.id          = IDM_LEVELBOMB;
  382.     mii.typedata    = (DWORD)"高级扫雷";
  383.     //mii.hbmpUnchecked = &bmp_player;
  384.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  385.     */
  386.     return hmnu;
  387. }
  388. static HMENU CreateSysSetMenu (void)
  389. {
  390.     HMENU hmnu;
  391.     MENUITEMINFO mii;
  392.     memset (&mii, 0, sizeof(MENUITEMINFO));
  393.     mii.type        = MFT_STRING;
  394.     mii.id          = 0;
  395.     mii.typedata    = (DWORD)"";
  396.     hmnu = CreatePopupMenu (&mii);
  397.     mii.type        = MFT_BMPSTRING;
  398.     mii.state       = 0;
  399.     mii.id          = IDM_SETTIME;
  400.     mii.typedata    = (DWORD)"系统时间设置";
  401.     //mii.hbmpUnchecked = &bmp_set;
  402.     
  403.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  404.      
  405.     mii.type        = MFT_BMPSTRING;
  406.     mii.state       = 0;
  407.     mii.id          = IDM_SETUSERINFO;
  408.     mii.typedata    = (DWORD)"用户信息设置";
  409.     
  410.     InsertMenuItem(hmnu, 1, TRUE, &mii);    
  411.     mii.type        = MFT_BMPSTRING;
  412.     mii.state       = 0;
  413.     mii.id          = IDM_SETHELLO;
  414.     mii.typedata    = (DWORD)"开机问候语设置";
  415.     
  416.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  417.     mii.type        = MFT_BMPSTRING;
  418.     mii.state       = 0;
  419.     mii.id          = IDM_BGSELECT;
  420.     mii.typedata    = (DWORD)"背景选择";
  421.     
  422.     mii.hsubmenu  = 0;
  423.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  424.     mii.type        = MFT_BMPSTRING;
  425.     mii.state       = 0;
  426.     mii.id          = IDM_SETBATTERY;
  427.     mii.typedata    = (DWORD)"PDA充电";
  428.     InsertMenuItem(hmnu, 4, TRUE, &mii);
  429.     mii.type        = MFT_BMPSTRING;
  430.     mii.state       = 0;
  431.     mii.id          = IDM_RINGSET;
  432.     mii.typedata    = (DWORD)"铃声设置";    
  433.     mii.hsubmenu  = 0;
  434.     InsertMenuItem(hmnu, 5, TRUE, &mii);
  435.     mii.type        = MFT_BMPSTRING;
  436.     mii.state       = 0;
  437.     mii.id          = IDM_KEYRING;
  438.     mii.typedata    = (DWORD)"开关按键声音";
  439.     InsertMenuItem(hmnu, 6, TRUE, &mii);
  440.     mii.type        = MFT_BMPSTRING;
  441.     mii.state       = 0;
  442.     mii.id          = IDM_SCREENLOCK;
  443.     mii.typedata    = (DWORD)"锁定屏幕";
  444.     mii.hsubmenu    = 0;    
  445.     
  446.     InsertMenuItem(hmnu, 7, TRUE, &mii);
  447.     
  448.     return hmnu;
  449. }
  450. //Create the MyDomain menu items
  451. static HMENU CreateMyDomainMenu (void)
  452. {
  453.     HMENU hmnu;
  454.     MENUITEMINFO mii;
  455.     memset (&mii, 0, sizeof(MENUITEMINFO));
  456.     mii.type        = MFT_STRING;
  457.     mii.id          = 0;
  458.     mii.typedata    = (DWORD)" ";
  459.     hmnu = CreatePopupMenu (&mii);
  460.     mii.type        = MFT_BMPSTRING;
  461.     mii.state       = 0;
  462.     mii.id          = IDM_PICVIEW;
  463.     mii.typedata    = (DWORD)"图片浏览器";
  464.     //mii.hbmpUnchecked = &bmp_pic;
  465.     mii.hsubmenu  = 0;
  466.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  467.     mii.type        = MFT_BMPSTRING;
  468.     mii.state       = 0;
  469.     mii.id          = IDM_TAKEPHOTO;
  470.     mii.typedata    = (DWORD)"照相机";
  471.     //mii.hbmpUnchecked = &bmp_record;
  472.     mii.hsubmenu  = 0;
  473.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  474.     return hmnu;
  475. }
  476. static HMENU CreateStartMenu (void)
  477. {
  478.     HMENU hmnu;
  479.     MENUITEMINFO mii;
  480.     memset (&mii, 0, sizeof(MENUITEMINFO));
  481.     mii.type        = MFT_STRING;
  482.     mii.id          = 0;
  483.     mii.typedata    = (DWORD)" ";  
  484.     hmnu = CreatePopupMenu (&mii);
  485.     memset (&mii, 0, sizeof(MENUITEMINFO));  
  486.     mii.type        = MFT_BMPSTRING;
  487.     mii.state       = 0;
  488.     mii.id          = IDM_MESSAGE;
  489.     mii.typedata    = (DWORD)"短信";
  490.     //mii.hbmpUnchecked = &bmp_letter;
  491.     mii.hsubmenu    = CreateDataMenu ();
  492.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  493.     mii.type        = MFT_BMPSTRING;
  494.     mii.state       = 0;
  495.     mii.id          = IDM_PHONECOMUT;
  496.     mii.typedata    = (DWORD)"手机通讯";
  497.     //mii.hbmpUnchecked = &bmp_phonecm;
  498.     mii.hsubmenu    = CreatePhoneMenu ();
  499.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  500.     
  501.     mii.type        = MFT_BMPSTRING;
  502.     mii.state       = 0;
  503.     mii.id          = IDM_PHONEBOOK;
  504.     mii.typedata    = (DWORD)"通讯录";
  505.     //mii.hbmpUnchecked = &bmp_name;
  506.     mii.hbmpChecked = 0;
  507.     mii.hsubmenu    = CreatePhonebookMenu ();
  508.     InsertMenuItem(hmnu, 2, TRUE, &mii);    
  509.     mii.type        = MFT_BMPSTRING;
  510.     mii.state       = 0;
  511.     mii.id          = IDM_TOOLS;
  512.     mii.typedata    = (DWORD)"实用工具";
  513.     mii.hbmpUnchecked = &bmp_tools;
  514.     
  515.     mii.hsubmenu    = CreateToolsMenu ();
  516.     InsertMenuItem(hmnu, 3, TRUE, &mii);
  517.     mii.type        = MFT_BMPSTRING;
  518.     mii.state       = 0;
  519.     mii.id          = IDM_FUN;
  520.     mii.typedata    = (DWORD)"娱乐";
  521.     //mii.hbmpUnchecked = &bmp_fun;
  522.     
  523.     
  524.     
  525.     mii.hsubmenu    = CreateFunMenu ();
  526.     InsertMenuItem(hmnu, 4, TRUE, &mii);
  527.     mii.type        = MFT_BMPSTRING;
  528.     mii.state       = 0;
  529.     mii.id          = IDM_SYSSET;
  530.     mii.typedata    = (DWORD)"系统设置";
  531.     //mii.hbmpUnchecked = &bmp_set;
  532.     
  533.     
  534.     mii.hsubmenu    = CreateSysSetMenu();
  535.     InsertMenuItem(hmnu, 5, TRUE, &mii);
  536. mii.type        = MFT_BMPSTRING;
  537.     mii.state       = 0;
  538.     mii.id          = IDM_MYDOMAIN;
  539.     mii.typedata    = (DWORD)"我的地盘";
  540.     //mii.hbmpUnchecked = &bmp_safe;
  541.     
  542.     
  543.     mii.hsubmenu    = CreateMyDomainMenu();
  544.     InsertMenuItem(hmnu, 6, TRUE, &mii);    
  545.     mii.type        = MFT_BMPSTRING;
  546.     mii.state       = 0;
  547.     mii.id          = IDM_CLOSE;
  548.     mii.typedata    = (DWORD)"关机";
  549.     mii.hsubmenu    = 0;
  550.     
  551.     InsertMenuItem(hmnu, 7, TRUE, &mii);
  552.  
  553.     return hmnu;
  554. }
  555. /*
  556. static HMENU CreateHelpMenu(void)
  557. {
  558.     HMENU hmnu;
  559.     MENUITEMINFO mii;
  560.     HMENU hMenuFloat;
  561.     memset (&mii, 0, sizeof(MENUITEMINFO));
  562.     mii.type        = MFT_STRING;
  563.     mii.id          = 0;
  564.     mii.typedata    = (DWORD)" ";  
  565.     hmnu = CreatePopupMenu (&mii);
  566.     memset (&mii, 0, sizeof(MENUITEMINFO));
  567.     mii.type        = MFT_STRING;;
  568.     mii.state       = 0;
  569.     mii.id          = IDM_HELPTOPIC;
  570.     mii.typedata    = (DWORD)"帮助主题 ";
  571.     //mii.hbmpUnchecked = &bmp_notebook;
  572.     InsertMenuItem(hmnu, 0, TRUE, &mii);
  573.     memset (&mii, 0, sizeof(MENUITEMINFO));
  574.     mii.type        = MFT_SEPARATOR;;
  575.     mii.state       = 0;
  576.     mii.id          = 0;
  577.     mii.typedata    = (DWORD)" ";  
  578.     InsertMenuItem(hmnu, 1, TRUE, &mii);
  579.     memset (&mii, 0, sizeof(MENUITEMINFO));
  580.     mii.type        = MFT_STRING;
  581.     mii.state       = 0;
  582.     mii.id          = IDM_ABOUT;
  583.     mii.typedata    = (DWORD)"关于... ";  
  584.     InsertMenuItem(hmnu, 2, TRUE, &mii);
  585.    hMenuFloat = StripPopupHead(hmnu);
  586.    return hMenuFloat;
  587. }
  588. */
  589. //Create startmenu
  590. static HMENU GetMyMenu (void)
  591. {
  592.     HMENU hmnu;
  593.     MENUITEMINFO mii;
  594.     hmnu = CreateMenu();
  595.     memset (&mii, 0, sizeof(MENUITEMINFO));
  596.     mii.type        = MFT_STRING;
  597.     mii.id          = 100;
  598.     mii.typedata    = (DWORD)"开始";
  599.     mii.hsubmenu    = CreateStartMenu ();
  600.     InsertMenuItem(hmnu, 0,TRUE, &mii);
  601. /*
  602.     
  603.    memset (&mii, 0, sizeof(MENUITEMINFO));
  604.     mii.type        = MFT_STRING;
  605.     mii.id          = 110;
  606.     mii.typedata    = (DWORD)"帮助";
  607.     mii.hsubmenu    = CreateHelpMenu ();
  608.     InsertMenuItem(hmnu, 1,TRUE, &mii);
  609.     */
  610.     return hmnu;
  611. }
  612. void gettime(void *arg)
  613. {
  614.    char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
  615.    time_t timep;
  616.    struct tm *ptime;
  617.    while (1)
  618.    {
  619.         time(&timep);
  620.         ptime=localtime(&timep);
  621.         sprintf(time1,"%04d-%02d-%02d %02d:%02d:%02d %s",(1900+ptime->tm_year),(1+ptime->tm_mon),ptime->tm_mday,ptime->tm_hour,ptime->tm_min,ptime->tm_sec,wday[ptime->tm_wday]);
  622.  UpdateWindow (hMainWnd, TRUE);
  623.         sleep(1);
  624.    }
  625. }
  626. void chbmpbuf()
  627. {
  628. sqlite3 *db= NULL;
  629. int ret;
  630. int i,row,col;
  631. char **result;
  632. char *zerr;
  633. char sql[200];
  634. char *a;
  635. ret = sqlite3_open("./data/pda.db",&db);
  636. if(ret)
  637. {
  638. sqlite3_close(db);
  639. }
  640. sprintf(sql,"select * from tupian;");
  641. ret=sqlite3_get_table(db,sql,&result,&row,&col,&zerr);
  642. if(row <=0)
  643. {
  644. strcpy(bmpbuf,"./image/bkgnd.jpg");
  645. }
  646. if(ret != SQLITE_OK)
  647. {
  648. if(zerr!=NULL)
  649. {
  650. sqlite3_free(zerr);
  651. }
  652. sqlite3_free_table(result); 
  653. sqlite3_close(db);
  654. strcpy(bmpbuf,"./image/a.bmp");
  655. return ;
  656. }
  657. else
  658. {
  659. printf("row = %d,col = %dn",row,col);
  660. for(i=0;i<row;i++)
  661. {
  662. a=result[(i+1)*col];
  663. strcpy(bmpbuf,a);
  664. printf("%s n",a);
  665. }
  666. }
  667. printf("background is %sn ",bmpbuf);
  668. //LoadBitmap (HDC_SCREEN, &bitmap, bmpbuf);
  669. sqlite3_close(db);
  670. strcpy(sql,"");
  671. }
  672. char *SetmemoryTimer(HWND hDlg)
  673. {
  674.   
  675.              sqlite3 *db=NULL;
  676.            int rc=0;
  677.            int nrows,ncols;
  678.            char **result;
  679.            char sql[50];
  680.            char *zerr;
  681.            int i,j;                            
  682.           char *a;
  683.             char *b;
  684.             char *c;
  685.             
  686.             pthread_t  memorid;
  687.             struct tm *ptime;            
  688.             time_t aclock;
  689.             
  690.             char buff[50];
  691.             char buff1[50];
  692.             char buff2[50];
  693.             char data[200];
  694.      
  695.           
  696.            time(&aclock);
  697.               ptime=localtime(&aclock);
  698.          sprintf(buff,"%d%d",ptime->tm_hour,ptime->tm_min);
  699.          sprintf(buff2,"%d",ptime->tm_hour);
  700.           //sleep(1);
  701.           rc=sqlite3_open("./data/pda.db",&db);
  702.          if(rc){
  703.                    sqlite3_close(db);          
  704.              }
  705.           sprintf(sql,"select * from memory where Time_h='%s'",buff2);
  706.           rc=sqlite3_get_table(db,sql,&result,&nrows,&ncols,&zerr);
  707.           if(nrows<=0)
  708.              {             
  709.                sqlite3_close(db); 
  710.                }
  711.               else
  712.               {
  713.                                
  714.             for(i=0;i<nrows;i++)
  715.                          {
  716.                           
  717.                                            
  718.                           a=result[(i+1)*4];
  719.                           b=result[(i+1)*4+1];
  720.       c=result[(i+1)*4+3];
  721.                                                       strcat(buff1,a);
  722.                                                       strcat(buff1,b);
  723.                                                       strcat(data,c);
  724.                                                     if(strcmp(buff,buff1)==0)
  725.                                                        {
  726.                                        
  727.                                                        sprintf(sql,"delete from memory where message='%s'",data);
  728.                                                    strcpy(buff1,"");  
  729.    printf("%datan");
  730.                                                        MessageBox(hDlg,data,"备忘录提示",MB_OK);  
  731.                            sprintf(data,"");
  732.                                                       }
  733.                                              
  734.                            }                                                         
  735.              
  736. sqlite3_close(db);    
  737. }
  738. }
  739. void *play(void *arg)
  740. {
  741. system(" ./fun/mplayer/mplayer  ./music/123.mp3");
  742. }
  743. void gettime_naoling1(void *arg)
  744. {
  745. sqlite3 *db=NULL;
  746. char sql[100];
  747. char *zerr;
  748. int rc=0;
  749. char **result;
  750. int i,j,nrows,ncols;
  751. char *a; 
  752. char *b;
  753. char *c;
  754. pthread_t  playid;
  755.    struct tm *ptime;
  756.    time_t aclock;
  757.    char buff[50];
  758.    char buff1[50];
  759.    char buff2[5];
  760.    while(1)
  761.    {
  762.          time(&aclock);
  763.         ptime=localtime(&aclock);
  764.         
  765.         sprintf(buff,"%d%d%d",ptime->tm_hour,ptime->tm_min,ptime->tm_sec);
  766.         sprintf(buff2,"%d",ptime->tm_hour);
  767. //printf("%sn",buff);
  768.  sleep(1);
  769.    rc=sqlite3_open("./data/pda.db",&db);
  770.     if(rc)
  771.           {
  772.           sqlite3_close(db);
  773.           }
  774.         sprintf(sql,"select * from databell where hour='%s'",buff2);
  775.         rc=sqlite3_get_table(db,sql,&result,&nrows,&ncols,&zerr);
  776.         if(rc!=SQLITE_OK)
  777.         {
  778.                  if(zerr!=NULL)
  779.                  {
  780.                       sqlite3_free(zerr);
  781.                  }
  782.                    sqlite3_close(db);
  783.                     continue;
  784.         }
  785.         if(nrows==0||ncols==0)
  786.         {
  787.             sqlite3_free_table(result);
  788.             sqlite3_close(db);
  789.             continue;
  790.         }
  791.         for(i=0;i<nrows;i++)
  792.         {
  793.               for(j=2;j<ncols;j++)
  794.               {
  795.                    a=result[(i+1)*ncols];
  796.                    b=result[(i+1)*ncols+1];
  797.                    c=result[(i+1)*ncols+2];
  798.                    
  799.               }
  800.         }
  801.         strcat(buff1,a);
  802.         strcat(buff1,b);
  803.         strcat(buff1,c);
  804.         if(strcmp(buff,buff1)==0)
  805.         {
  806.             pthread_create(&playid,NULL,play,NULL);
  807.             //system(" ./fun/mplayer/mplayer  ./music/123.mp3");
  808.             MessageBox(vOice1,"闹铃1叮叮订... ...","温馨提示",MB_OK);
  809. system("killall mplayer");
  810. }
  811.         strcpy(buff1,"");
  812.         sqlite3_free_table(result);
  813.         sqlite3_close(db);
  814.       
  815.    }
  816. }
  817. void gettime_naoling2(void *arg)
  818. {
  819.      sqlite3 *db=NULL;
  820. char sql[100];
  821. char *zerr;
  822. int rc=0;
  823. char **result;
  824. int i,j,nrows,ncols;
  825. char *a; 
  826. char *b;
  827. char *c;
  828. pthread_t  playid;
  829.    struct tm *ptime;
  830.    time_t aclock;
  831.    char buff[50];
  832.    char buff1[50];
  833.    char buff2[5];
  834.    while(1)
  835.    {
  836.          time(&aclock);
  837.         ptime=localtime(&aclock);
  838.         
  839.         sprintf(buff,"%d%d%d",ptime->tm_hour,ptime->tm_min,ptime->tm_sec);
  840.         sprintf(buff2,"%d",ptime->tm_hour);
  841.  sleep(1);
  842.    rc=sqlite3_open("./data/pda.db",&db);
  843.     if(rc)
  844.           {
  845.           sqlite3_close(db);
  846.           }
  847.         sprintf(sql,"select * from databell1 where hour='%s'",buff2);
  848.         rc=sqlite3_get_table(db,sql,&result,&nrows,&ncols,&zerr);
  849.         if(rc!=SQLITE_OK)
  850.         {
  851.                  if(zerr!=NULL)
  852.                  {
  853.                       sqlite3_free(zerr);
  854.                  }
  855.                    sqlite3_close(db);
  856.                     continue;
  857.         }
  858.         if(nrows==0||ncols==0)
  859.         {
  860.             sqlite3_free_table(result);
  861.             sqlite3_close(db);
  862.             continue;
  863.         }
  864.         for(i=0;i<nrows;i++)
  865.         {
  866.               for(j=2;j<ncols;j++)
  867.               {
  868.                    a=result[(i+1)*ncols];
  869.                    b=result[(i+1)*ncols+1];
  870.                    c=result[(i+1)*ncols+2];
  871.                    
  872.               }
  873.         }
  874.         strcat(buff1,a);
  875.         strcat(buff1,b);
  876.         strcat(buff1,c);
  877.         if(strcmp(buff,buff1)==0)
  878.         {
  879.         pthread_create(&playid,NULL,play,NULL);
  880.         //system(" ./fun/mplayer/mplayer  ./music/123.mp3");
  881.             MessageBox(vOice1,"闹铃2当当当... ...","温馨提示",MB_OK);
  882. system("killall mplayer");
  883. }
  884.         strcpy(buff1,"");
  885.         sqlite3_free_table(result);
  886. //pthread_join(playid,NULL);
  887.         sqlite3_close(db);
  888.       
  889.    }
  890. }
  891. static int Desktop(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
  892. {
  893.     HDC hdc,hdc1;
  894.     RECT rc;
  895.     RECT rcTemp;
  896.     const RECT* clip = (const RECT*) lParam;    
  897.    BOOL fGetDC = FALSE;
  898.     hdc = (HDC)wParam;
  899. switch (message) 
  900. {
  901. case MSG_CREATE:  
  902. SetTimer(hWnd,IDC_TIME_ID,50000);
  903.      SetTimer(hWnd,IDC_TIME_ID2,100000);
  904.      SetTimer(hWnd,IDC_TIME_ID3,150000);
  905.      SetTimer(hWnd,IDC_TIME_ID4,200000);
  906. SetTimer(hWnd,IDC_TIME_ID5,250000);
  907. SetTimer (hWnd, _ID_TIME_STATIC7, 2000);
  908. LoadBitmap (HDC_SCREEN, &bitmap, "./image/1111.jpg");
  909. LoadBitmap (HDC_SCREEN, &bmp1, "./image/butter100.bmp");
  910. if(LoadBitmap (HDC_SCREEN, &five_bmp, "./image/message.jpg"))
  911. return -1;
  912. if(LoadBitmap (HDC_SCREEN, &six_bmp, "./image/clock.jpg"))
  913. return -1;
  914. if(LoadBitmap (HDC_SCREEN, &seven_bmp, "./image/phone.jpg"))
  915. return -1;
  916. if(LoadBitmap (HDC_SCREEN, &eight_bmp, "./image/set.jpg"))
  917. return -1;
  918. CreateWindow("button","写短信",WS_CHILD |BS_BITMAP | BS_NOTIFY | WS_VISIBLE ,
  919. IDC_INMEDIA,
  920. 10,100,45,35,
  921. hWnd,
  922. (DWORD)&five_bmp);
  923. CreateWindow("button","通讯录",WS_CHILD |BS_BITMAP | BS_NOTIFY | WS_VISIBLE ,
  924. IDC_INORGANISER,
  925. 10,140,45,35,
  926. hWnd,
  927. (DWORD)&six_bmp);
  928. CreateWindow("button","拨打电话",WS_CHILD |BS_BITMAP | BS_NOTIFY | WS_VISIBLE ,
  929. IDC_INPICTURE,
  930. 270,100,45,35,
  931. hWnd,
  932. (DWORD)&seven_bmp);
  933. CreateWindow("button","记事本",WS_CHILD |BS_BITMAP | BS_NOTIFY | WS_VISIBLE ,
  934. IDC_INFILE ,
  935. 270,140,45,35,
  936. hWnd,
  937. (DWORD)&eight_bmp);
  938. break;
  939.     
  940. case MSG_PAINT:
  941. hdc = BeginPaint (hWnd);
  942. EndPaint (hWnd, hdc);
  943. return 0;
  944. case MSG_TIMER:
  945. {
  946. if(wParam==IDC_TIME_ID)
  947. {
  948. KillTimer(hWnd,IDC_TIME_ID);
  949. LoadBitmap (HDC_SCREEN, &bmp1, "./image/butter075.bmp");
  950. printf("111n");
  951. hdc1 = BeginPaint (hWnd);
  952.      FillBoxWithBitmap (hdc1,270, 7, 42, 20, &bmp1);
  953. EndPaint (hWnd, hdc1);
  954. }
  955. if(wParam==IDC_TIME_ID2)
  956. {
  957. KillTimer(hWnd,IDC_TIME_ID2);
  958. LoadBitmap (HDC_SCREEN, &bmp1, "./image/butter050.bmp");
  959. hdc1 = BeginPaint (hWnd);
  960.      FillBoxWithBitmap (hdc1,270, 7, 42, 20, &bmp1);
  961. EndPaint (hWnd, hdc1);
  962. }
  963. if(wParam==IDC_TIME_ID3)
  964. {
  965. KillTimer(hWnd,IDC_TIME_ID3);
  966. LoadBitmap (HDC_SCREEN, &bmp1, "./image/butter025.bmp");
  967. hdc1 = BeginPaint (hWnd);
  968.      FillBoxWithBitmap (hdc1,270, 7, 42, 20, &bmp1);
  969. EndPaint (hWnd, hdc1);
  970. }
  971. if(wParam==IDC_TIME_ID4)
  972. {
  973. KillTimer(hWnd,IDC_TIME_ID4);
  974. LoadBitmap (HDC_SCREEN, &bmp1, "./image/butter000.bmp");
  975. hdc1 = BeginPaint (hWnd);
  976.      FillBoxWithBitmap (hdc1,270, 7, 42, 20, &bmp1);
  977. KillTimer(hWnd,IDC_TIME_ID4);
  978. MessageBox(hWnd,"电量不足","警告",MB_OK);
  979. //sleep(2);
  980. //EndPaint (hWnd, hdc1);
  981. //SendMessage(hWnd,MSG_CLOSE,0L,0L);
  982. }
  983. if(wParam==IDC_TIME_ID5)
  984. {            
  985.               MessageBox(hWnd,"2秒之后自动关机","提示",MB_OK);
  986.               sleep(2);
  987. system(" ./fun/mplayer/mplayer  ./music/guanji.mp3");
  988.        EndPaint (hWnd, hdc1);
  989.        SendMessage(hWnd,MSG_CLOSE,0L,0L);
  990. }
  991. if(wParam==_ID_TIME_STATIC7)
  992. {
  993.                            SetDlgItemText (hWnd, _ID_TIME_STATIC7, SetmemoryTimer(hWnd));
  994. }
  995. }
  996. break;
  997. case MSG_ERASEBKGND:
  998. if (hdc == 0)
  999. {
  1000. hdc = GetClientDC (hWnd);
  1001. fGetDC = TRUE;
  1002. }
  1003.  if (clip) {
  1004. rcTemp = *clip;
  1005. ScreenToClient (hWnd, &rcTemp.left, &rcTemp.top);
  1006. ScreenToClient (hWnd, &rcTemp.right, &rcTemp.bottom);
  1007. IncludeClipRect (hdc, &rcTemp);
  1008.      }
  1009. FillBoxWithBitmap (hdc, 0, 0, 320, 240, &bitmap);
  1010. FillBoxWithBitmap (hdc,270, 7, 42, 20, &bmp1);
  1011. SetTextColor(hdc,PIXEL_black);
  1012. SetBkMode(hdc,BM_TRANSPARENT);
  1013. TextOut (hdc, 57, 27, time1);
  1014. if (fGetDC)
  1015. ReleaseDC (hdc);
  1016. return 0;
  1017.         case MSG_COMMAND:
  1018.              switch(wParam)
  1019.              {
  1020.                    case IDM_WRMSG:
  1021. InitDialogBox_send(hWnd);
  1022. break;
  1023.      case IDM_OUTBOX:
  1024. InitDialogBox_out(hWnd);
  1025. break;
  1026.      case IDM_INBOX:
  1027. InitDialogBox_in(hWnd);
  1028. break;
  1029.      case IDM_DRAFT:
  1030. InitDialogBox_save(hWnd);
  1031. break;
  1032.      case IDM_NBADD:
  1033.   tj(hWnd);
  1034. break;
  1035.      case IDM_SETBATTERY:
  1036.                       InitDialogBox_power (hWnd);
  1037.                        break;
  1038.                     case IDM_KEYRING:
  1039.                             InitDialogBox_keyvoice(hWnd);
  1040.                        break;
  1041.      case IDM_NBDELE:
  1042.   del(hWnd);
  1043. break;
  1044.      case IDM_NBMODI:
  1045.   up(hWnd);
  1046. break;
  1047.      case IDM_NBQUERY:
  1048.   InitListBox(hWnd);
  1049. break;
  1050.      case IDM_BGSELECT:
  1051. ShowBeijing(hWnd);
  1052. break;
  1053.      case IDM_SETTIME:
  1054. SetTime(hWnd);
  1055. break;
  1056.      case IDM_SETUSERINFO:
  1057. UsrSetInitDialogBox(hWnd);
  1058. break;
  1059.      case IDM_SETHELLO:
  1060. WenSetInitDialogBox(hWnd);
  1061. break;
  1062.      case IDM_MPLAYER:
  1063.                             InitDialogBoxMplayerMain(hWnd);
  1064.                             break;
  1065.     case IDM_ALARMCLOCK1:
  1066. addbell(hWnd);
  1067. break;
  1068.     case IDM_ALARMCLOCK2:
  1069. addbell1(hWnd);
  1070.                             break;
  1071.     case IDM_UNITCHANGE:
  1072. createUnitMenu(hWnd);
  1073.                             break;
  1074.     case IDM_SCREENLOCK:
  1075. Lockscreen(hWnd);
  1076.                             break;
  1077.     case IDM_TAKEPHOTO:
  1078. takephoto(hWnd);
  1079.                             break;
  1080.     case IDM_PBADD:
  1081. AddBookInitDialogBox(hWnd);
  1082.                             break;
  1083.     case IDM_PBDELE:
  1084. DelBookInitDialogBox(hWnd);
  1085.                             break;
  1086.     case IDM_PBMODI:
  1087. UpBookInitDialogBox(hWnd);
  1088.                             break;
  1089.     case IDM_PBQUERY:
  1090. SelBookInitDialogBox(hWnd);
  1091.                             break;
  1092.                   case IDM_PICVIEW:
  1093.       picviewmain(hWnd);
  1094.   break;
  1095.     case IDM_RES:
  1096. InitfileRun(hWnd);
  1097. break;
  1098.                   case IDC_INMEDIA:
  1099. InitDialogBox_send(hWnd);
  1100. break;
  1101.     case IDC_INORGANISER:
  1102. SelBookInitDialogBox(hWnd);
  1103. break;
  1104.     case IDC_INPICTURE:
  1105. //(hWnd);
  1106. break;
  1107.     case IDC_INFILE:
  1108. InitListBox(hWnd);
  1109. break;
  1110.     case IDM_CALCULATER:
  1111. add(hWnd);
  1112. break;
  1113.                   case IDM_MEADD:
  1114. createMemorMenu(hWnd);
  1115. break;
  1116.                   case IDM_MEDELE:
  1117. createMemorMenu(hWnd);
  1118. break;
  1119.                  case IDM_MEMODI:
  1120.                             createMemorMenu(hWnd);
  1121. break;
  1122.                  case IDM_MEQUERY:
  1123.                             createMemorMenu(hWnd);
  1124. break;
  1125.           case IDM_DATAGET:
  1126.    adv(hWnd);
  1127.    break;
  1128.            case IDM_CLOSE:
  1129.         system(" ./fun/mplayer/mplayer  ./music/guanji.mp3");
  1130.         SendMessage(hWnd,MSG_CLOSE,0L,0L);
  1131.      break;
  1132. }
  1133.                             break;
  1134.    
  1135.     case MSG_CLOSE:
  1136.       UnloadBitmap (&five_bmp);
  1137.       UnloadBitmap (&six_bmp);
  1138.       UnloadBitmap (&seven_bmp);
  1139.       UnloadBitmap (&eight_bmp);
  1140.      SendMessage(task,MSG_CLOSE,0L,0L);
  1141. UnloadBitmap (&bitmap);
  1142.        DestroyMainWindow (hWnd);
  1143.        PostQuitMessage (hWnd);
  1144.      break;
  1145.      }  
  1146.      return DefaultMainWinProc(hWnd, message, wParam, lParam);
  1147.    
  1148. }
  1149. static int Hello(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
  1150. {
  1151.      
  1152.      HDC hdc;
  1153.      RECT rc;
  1154.      task=hWnd;
  1155. switch (message) 
  1156. {
  1157. case MSG_CREATE:
  1158. CreateWindow(CTRL_BUTTON,
  1159. "窗口切换",
  1160. WS_VISIBLE | BS_PUSHBUTTON | WS_CHILD | BS_CHECKED,
  1161. IDC_CHUANGKOU,
  1162. 0, 0, 77, 27, 
  1163. hWnd,
  1164. 0);
  1165. CreateWindow(CTRL_BUTTON,
  1166. "输入法",
  1167. WS_VISIBLE | BS_PUSHBUTTON | WS_CHILD | BS_CHECKED,
  1168. IDC_SHURUFA,
  1169. 247, 0, 77, 27,
  1170. hWnd,
  1171. 0);
  1172. return 0;
  1173. case MSG_COMMAND:
  1174. switch (wParam)
  1175. {
  1176. case 1008:
  1177. MessageBox(hWnd,"切换成功","窗口",MB_OK);
  1178. break;
  1179. case 1009:
  1180. if(flag==0)
  1181. {
  1182. flag=1;
  1183. KeyBoard(hWnd);
  1184. }
  1185. else
  1186. {
  1187. flag=0;
  1188. DestroyMainWindow (hKB);
  1189.          PostQuitMessage (hKB);
  1190. }
  1191. break;
  1192. }
  1193. break;
  1194.         case MSG_CLOSE:
  1195.         DestroyMainWindow (hWnd);
  1196.         PostQuitMessage (hWnd);
  1197.         break;
  1198.     }  
  1199.     return DefaultMainWinProc(hWnd, message, wParam, lParam);
  1200.    
  1201. }
  1202. void * taskbar (void *arg)
  1203. {
  1204.     MSG Msg;
  1205.     HWND hWnd;
  1206.     MAINWINCREATE CreateInfo;
  1207.     if(!InitMiniGUIExt())
  1208.     {
  1209. exit(2);
  1210.     }
  1211.     
  1212.     
  1213.     //设置主窗口属性
  1214.     CreateInfo.dwStyle = WS_VISIBLE;
  1215.     CreateInfo.dwExStyle = WS_EX_NONE;
  1216.     CreateInfo.spCaption = "";
  1217.     CreateInfo.hMenu =0;
  1218.     CreateInfo.hCursor = GetSystemCursor(0);
  1219.     CreateInfo.hIcon = 0;
  1220.     CreateInfo.MainWindowProc = Hello;
  1221.     CreateInfo.lx = 0;
  1222.     CreateInfo.ty = 213;
  1223.     CreateInfo.rx = 320;
  1224.     CreateInfo.by = 240;
  1225.     CreateInfo.iBkColor = GetWindowElementColor (BKC_CONTROL_DEF);
  1226.     CreateInfo.dwAddData = 0;
  1227.     CreateInfo.hHosting = HWND_DESKTOP;
  1228.     
  1229.     //建立主窗口
  1230.     hWnd = CreateMainWindow (&CreateInfo);
  1231.     //建立窗口失败时返回 -1
  1232. if (hWnd == HWND_INVALID)
  1233.         exit(-1);
  1234.     //显示主窗口
  1235.     ShowWindow(hWnd, SW_SHOWNORMAL);
  1236.     while (GetMessage(&Msg, hWnd))
  1237.     {
  1238.      //获取按键消息
  1239.        TranslateMessage(&Msg);
  1240.      //传递按键消息
  1241.        DispatchMessage(&Msg);
  1242.     }
  1243.     //结束各线程、关闭主窗口
  1244.     MainWindowThreadCleanup (hWnd);
  1245.     return 0;
  1246. }
  1247. int MiniGUIMain (int argc, const char* argv[])
  1248. {
  1249.     MSG Msg;
  1250.     MAINWINCREATE CreateInfo;
  1251.     pthread_t th_a,th_b;
  1252.     pthread_t timeid,timeid1,timeid2,timeid3;
  1253.     int ret, ret1,ret2,ret3;
  1254.     tty_init();
  1255.     printf("串口初始化成功!n");
  1256.     gprs_init();
  1257.     printf("gprs初始化成功!n");
  1258.     
  1259.    showWenHou(hMainWnd);
  1260.     //设置主窗口属性
  1261.     CreateInfo.dwStyle = WS_VISIBLE;
  1262.     CreateInfo.dwExStyle = WS_EX_NONE;
  1263.     CreateInfo.spCaption = "Welcome to you";
  1264.     CreateInfo.hMenu = GetMyMenu();
  1265.     CreateInfo.hCursor = GetSystemCursor(0);
  1266.     CreateInfo.hIcon = 0;
  1267.     CreateInfo.MainWindowProc = Desktop;
  1268.     CreateInfo.lx = 0;
  1269.     CreateInfo.ty = 0;
  1270.     CreateInfo.rx = 320;
  1271.     CreateInfo.by = 213;
  1272.     CreateInfo.iBkColor = COLOR_lightwhite;
  1273.     CreateInfo.dwAddData = 0;
  1274.     CreateInfo.hHosting = HWND_DESKTOP;
  1275.     
  1276.     pthread_create(&th_b, NULL, (void *)gprs_read, 0);
  1277.    // ret1=pthread_create(&timeid1,NULL,(void *)gettime_tixing,NULL);
  1278. chbmpbuf();
  1279.     //建立主窗口
  1280.     hMainWnd = CreateMainWindow (&CreateInfo);
  1281.     //建立窗口失败时返回 -1
  1282.     if (hMainWnd == HWND_INVALID)
  1283.         return -1;
  1284.     //显示主窗口
  1285.     ShowWindow(hMainWnd, SW_SHOWNORMAL);
  1286.     pthread_create(&th_a, NULL,taskbar,0);
  1287.     ret=pthread_create(&timeid,NULL,(void *)gettime,NULL);
  1288.      if(ret!=0)
  1289. printf("Vreate pthread erroe!n");
  1290.  ret2=pthread_create(&timeid2,NULL,(void *)gettime_naoling1,NULL);
  1291.    if(ret2!=0)
  1292. printf("Vreate pthread erroe!n");
  1293.    ret3=pthread_create(&timeid3,NULL,(void *)gettime_naoling2,NULL);
  1294.    if(ret3!=0)
  1295.                  printf("Vreate pthread erroe!n");
  1296.     while (GetMessage(&Msg, hMainWnd)) 
  1297.     {
  1298.      //获取按键消息
  1299.        TranslateMessage(&Msg);
  1300.      //传递按键消息
  1301.        DispatchMessage(&Msg);
  1302.     }
  1303.     //结束各线程、关闭主窗口
  1304.     
  1305.     pthread_join(th_b,NULL);
  1306.     pthread_join(th_a, NULL);
  1307.     pthread_join(timeid1,NULL);
  1308.     pthread_join(timeid,NULL);
  1309.     pthread_join(timeid2,NULL);
  1310.     pthread_join(timeid3,NULL);
  1311.     tty_end();
  1312.   
  1313.     
  1314.     MainWindowThreadCleanup (hMainWnd);
  1315.     return 0;
  1316. }