zoukankan      html  css  js  c++  java
  • 番外篇 之 Win32Api

           C# 调用系统API.

           从自己的软件,来操作别人写好的软件.

           SendMessage

           句柄  标识当前进程/控件的一个标识;

           本课程所用到的常量信息:

            private const uint LB_FINDSTRING = 0x18F;//查询项目在listbox中

            private const uint LB_ADDSTRING = 0x180;//增加字符串在listbox中

            private const uint LB_SETCURSEL = 0x186;  //用于多选ListBox

            private const uint LB_SETTOPINDEX = 0x197;//改变序号在ListBox

            private const uint CB_FINDSTRING = 0x014C;//搜索字符串在下拉菜单中

            private const uint CB_SETCURSEL = 0x014E;//设置下拉菜单的选中项

            private const uint CB_SHOWDROPDOWN = 0x014F;//展开下拉菜单

            private const uint BM_CLICK = 0x00F5;//按钮点击

      引用其他非托管语言编写的DLL时.必须要加上此标志

      关键字     方法所在的DLL  方法名称

      [DllImport("user32.dll", EntryPoint = "FindWindow")]

             权限修饰符   静态标志  修饰符   返回值类型  方法名(与调用方法相同)

               private   static   extern   IntPtr FindWindow(string IpClassName, string IpWindowName);

     

     

     

    如何编写一个win32api的程序.

    一、获取句柄

    a)   从窗体标题中获取句柄/从进程中(pid)获取句柄

    b)   IntPtr.Zero   判断句柄是否为0

    二、找到实现函数

    a)   SendMessage

    三、函数的原型(搜索引擎,MSDN,玄机宝盒)

    a)   可以使用宝盒的api速查

    四、如何调用

    a)         EasyWin32Apis

    找出窗体上所需要操控控件句柄,在进行消息传递.

     一些常用的API消息

    WM_NULL                  0x0000
    WM_CREATE                0x0001
    WM_DESTROY               0x0002
    WM_MOVE                  0x0003
    WM_SIZEWAIT              0x0004
    WM_SIZE                  0x0005
    WM_ACTIVATE              0x0006
    WM_SETFOCUS              0x0007
    WM_KILLFOCUS             0x0008
    WM_SETVISIBLE            0x0009
    WM_ENABLE                0x000A
    WM_SETREDRAW             0x000B
    WM_SETTEXT               0x000C
    WM_GETTEXT               0x000D
    WM_GETTEXTLENGTH         0x000E
    WM_PAINT                 0x000F
    
    WM_CLOSE                 0x0010
    WM_QUERYENDSESSION       0x0011
    WM_QUIT                  0x0012
    WM_QUERYOPEN             0x0013
    WM_ERASEBKGND            0x0014
    WM_SYSCOLORCHANGE        0x0015
    WM_ENDSESSION            0x0016
    WM_SYSTEMERROR           0x0017
    WM_SHOWWINDOW            0x0018
    WM_CTLCOLOR              0x0019
    WM_WININICHANGE          0x001A
    WM_DEVMODECHANGE         0x001B
    WM_ACTIVATEAPP           0x001C
    WM_FONTCHANGE            0x001D
    WM_TIMECHANGE            0x001E
    WM_CANCELMODE            0x001F
    
    WM_SETCURSOR             0x0020
    WM_MOUSEACTIVATE         0x0021
    WM_CHILDACTIVATE         0x0022
    WM_QUEUESYNC             0x0023
    WM_GETMINMAXINFO         0x0024
    empty                    0x0025
    WM_PAINTICON             0x0026
    WM_ICONERASEBKGND        0x0027
    WM_NEXTDLGCTL            0x0028
    WM_ALTTABACTIVE          0x0029
    WM_SPOOLERSTATUS         0x002A
    WM_DRAWITEM              0x002B
    WM_MEASUREITEM           0x002C
    WM_DELETEITEM            0x002D
    WM_VKEYTOITEM            0x002E
    WM_CHARTOITEM            0x002F
    
    WM_SETFONT               0x0030
    WM_GETFONT               0x0031
    WM_SETHOTKEY             0x0032
    WM_GETHOTKEY             0x0033
    WM_FILESYSCHANGE         0x0034
    WM_ISACTIVEICON          0x0035
    WM_QUERYPARKICON         0x0036
    WM_QUERYDRAGICON         0x0037
    WM_WINHELP               0x0038
    WM_COMPAREITEM           0x0039
    WM_FULLSCREEN            0x003A
    WM_CLIENTSHUTDOWN        0x003B
    WM_DDEMLEVENT            0x003C
    empty                    0x003D
    empty                    0x003E
    MM_CALCSCROLL            0x003F
    
    WM_TESTING               0x0040
    WM_COMPACTING            0x0041
    
    WM_OTHERWINDOWCREATED    0x0042
    WM_OTHERWINDOWDESTROYED  0x0043
    WM_COMMNOTIFY            0x0044
    WM_MEDIASTATUSCHANGE     0x0045
    WM_WINDOWPOSCHANGING     0x0046
    WM_WINDOWPOSCHANGED      0x0047
    
    WM_POWER                 0x0048
    WM_COPYGLOBALDATA        0x0049
    WM_COPYDATA              0x004A
    WM_CANCELJOURNAL         0x004B
    WM_LOGONNOTIFY           0x004C
    WM_KEYF1                 0x004D
    WM_NOTIFY                0x004E
    WM_ACCESS_WINDOW         0x004f
    
    WM_INPUTLANGCHANGEREQUEST 0x0050
    WM_INPUTLANGCHANGE       0x0051
    WM_TCARD                 0x0052
    WM_HELP                  0x0053 WINHELP4
    WM_USERCHANGED           0x0054
    WM_NOTIFYFORMAT          0x0055
    
    0x0059-0x005F
    
    0x0060-0x0067
    
    0x0068-0x006F
    
    WM_FINALDESTROY          0x0070
    
    WM_TASKACTIVATED         0x0072
    WM_TASKDEACTIVATED       0x0073
    WM_TASKCREATED           0x0074
    WM_TASKDESTROYED         0x0075
    WM_TASKUICHANGED         0x0076
    WM_TASKVISIBLE           0x0077
    WM_TASKNOTVISIBLE        0x0078
    WM_SETCURSORINFO         0x0079
                             0x007A
    WM_CONTEXTMENU           0x007B
    WM_STYLECHANGING         0x007C
    WM_STYLECHANGED          0x007D
                             0x007E
    WM_GETICON               0x007f
    
    WM_SETICON               0x0080
    WM_NCCREATE              0x0081
    WM_NCDESTROY             0x0082
    WM_NCCALCSIZE            0x0083
    
    WM_NCHITTEST             0x0084
    WM_NCPAINT               0x0085
    WM_NCACTIVATE            0x0086
    WM_GETDLGCODE            0x0087
    
    WM_SYNCPAINT             0x0088
    WM_SYNCTASK              0x0089
    
    
    WM_KLUDGEMINRECT         0x008B
    WM_LPKDRAWSWITCHWND      0x008C
    0x008D-0x008F
    
    
    0x0090-0x0097
    
    
    0x0098-0x009F
    
    
    WM_NCMOUSEMOVE           0x00A0
    WM_NCLBUTTONDOWN         0x00A1
    WM_NCLBUTTONUP           0x00A2
    WM_NCLBUTTONDBLCLK       0x00A3
    WM_NCRBUTTONDOWN         0x00A4
    WM_NCRBUTTONUP           0x00A5
    WM_NCRBUTTONDBLCLK       0x00A6
    WM_NCMBUTTONDOWN         0x00A7
    WM_NCMBUTTONUP           0x00A8
    WM_NCMBUTTONDBLCLK       0x00A9
    
    0x00AA-0x00AF
    
    
    EM_GETSEL                0x00B0
    EM_SETSEL                0x00B1
    EM_GETRECT               0x00B2
    EM_SETRECT               0x00B3
    EM_SETRECTNP             0x00B4
    EM_SCROLL                0x00B5
    EM_LINESCROLL            0x00B6
    empty                    0x00B7
    EM_GETMODIFY             0x00B8
    EM_SETMODIFY             0x00B9
    EM_GETLINECOUNT          0x00BA
    EM_LINEINDEX             0x00BB
    EM_SETHANDLE             0x00BC
    EM_GETHANDLE             0x00BD
    EM_GETTHUMB              0x00BE
    empty                    0x00BF
    
    empty                    0x00C0
    EM_LINELENGTH            0x00C1
    EM_REPLACESEL            0x00C2
    EM_SETFONT               0x00C3
    EM_GETLINE               0x00C4
    EM_LIMITTEXT             0x00C5
    EM_CANUNDO               0x00C6
    EM_UNDO                  0x00C7
    EM_FMTLINES              0x00C8
    EM_LINEFROMCHAR          0x00C9
    EM_SETWORDBREAK          0x00CA
    EM_SETTABSTOPS           0x00CB
    EM_SETPASSWORDCHAR       0x00CC
    EM_EMPTYUNDOBUFFER       0x00CD
    EM_GETFIRSTVISIBLELINE   0x00CE
    EM_SETREADONLY           0x00CF
    
    EM_SETWORDBREAKPROC      0x00D0
    EM_GETWORDBREAKPROC      0x00D1
    EM_GETPASSWORDCHAR       0x00D2
    EM_SETMARGINS            0x00D3
    EM_GETMARGINS            0x00D4
    EM_GETLIMITTEXT          0x00D5
    EM_POSFROMCHAR           0x00D6
    EM_CHARFROMPOS           0x00D7
    EM_SETIMESTATUS          0x00D8
    
    EM_GETIMESTATUS          0x00D9
    EM_MSGMAX                0x00DA
    0x00DB-0x00DF
    
    
    SBM_SETPOS               0x00E0
    SBM_GETPOS               0x00E1
    SBM_SETRANGE             0x00E2
    // SBM_GETRANGE          0x00E3
    SBM_ENABLE_ARROWS        0x00E4
    
    SBM_SETRANGEREDRAW       0x00E6
    
    
    SBM_SETSCROLLINFO        0x00E9
    SBM_GETSCROLLINFO        0x00EA
    
    
    BM_GETCHECK              0x00F0
    BM_SETCHECK              0x00F1
    BM_GETSTATE              0x00F2
    BM_SETSTATE              0x00F3
    BM_SETSTYLE              0x00F4
    BM_CLICK                 0x00F5
    BM_GETIMAGE              0x00F6
    BM_SETIMAGE              0x00F7
    WM_KEYDOWN               0x0100
    WM_KEYUP                 0x0101
    WM_CHAR                  0x0102
    WM_DEADCHAR              0x0103
    WM_SYSKEYDOWN            0x0104
    WM_SYSKEYUP              0x0105
    WM_SYSCHAR               0x0106
    WM_SYSDEADCHAR           0x0107
    WM_YOMICHAR              0x0108
    empty                    0x0109
    WM_CONVERTREQUEST        0x010A
    WM_CONVERTRESULT         0x010B
    empty                    0x010C
    empty                    0x010D
    empty                    0x010E
    WM_IME_COMPOSITION       0x010F
    
    WM_INITDIALOG            0x0110
    WM_COMMAND               0x0111
    WM_SYSCOMMAND            0x0112
    WM_TIMER                 0x0113
    WM_HSCROLL               0x0114
    WM_VSCROLL               0x0115
    WM_INITMENU              0x0116
    WM_INITMENUPOPUP         0x0117
    WM_SYSTIMER              0x0118
    empty                    0x0119
    empty                    0x011A
    empty                    0x011B
    empty                    0x011C
    empty                    0x011D
    empty                    0x011E
    WM_MENUSELECT            0x011F
    
    WM_MENUCHAR              0x0120
    WM_ENTERIDLE             0x0121
    WM_MENURBUTTONUP         0x0122
    WM_MENUDRAG              0x0123
    WM_MENUGETOBJECT         0x0124
    WM_UNINITMENUPOPUP       0x0125
    WM_MENUCOMMAND           0x0126
    WM_CHANGEUISTATE         0x0127
    WM_UPDATEUISTATE         0x0128
    WM_QUERYUISTATE          0x0129
    
    0x012A-0x012F
    
    
    empty                    0x0130
    WM_LBTRACKPOINT          0x0131
    WM_CTLCOLORMSGBOX        0x0132
    WM_CTLCOLOREDIT          0x0133
    WM_CTLCOLORLISTBOX       0x0134
    WM_CTLCOLORBTN           0x0135
    WM_CTLCOLORDLG           0x0136
    WM_CTLCOLORSCROLLBAR     0x0137
    WM_CTLCOLORSTATIC        0x0138
                             0x0139
    
    0x013A-0x013F
    
    
    CB_GETEDITSEL            0x0140
    CB_LIMITTEXT             0x0141
    CB_SETEDITSEL            0x0142
    CB_ADDSTRING             0x0143
    CB_DELETESTRING          0x0144
    CB_DIR                   0x0145
    CB_GETCOUNT              0x0146
    CB_GETCURSEL             0x0147
    CB_GETLBTEXT             0x0148
    CB_GETLBTEXTLEN          0x0149
    CB_INSERTSTRING          0x014A
    CB_RESETCONTENT          0x014B
    CB_FINDSTRING            0x014C
    CB_SELECTSTRING          0x014D
    CB_SETCURSEL             0x014E
    CB_SHOWDROPDOWN          0x014F
    
    CB_GETITEMDATA           0x0150
    CB_SETITEMDATA           0x0151
    CB_GETDROPPEDCONTROLRECT 0x0152
    CB_SETITEMHEIGHT         0x0153
    CB_GETITEMHEIGHT         0x0154
    CB_SETEXTENDEDUI         0x0155
    CB_GETEXTENDEDUI         0x0156
    CB_GETDROPPEDSTATE       0x0157
    CB_FINDSTRINGEXACT       0x0158
    CB_SETLOCALE             0x0159
    CB_GETLOCALE             0x015A
    CB_GETTOPINDEX           0x015b
    
    CB_SETTOPINDEX           0x015c
    CB_GETHORIZONTALEXTENT   0x015d
    CB_SETHORIZONTALEXTENT   0x015e
    CB_GETDROPPEDWIDTH       0x015F
    
    CB_SETDROPPEDWIDTH       0x0160
    CB_INITSTORAGE           0x0161
    CB_MSGMAX                0x0162
    0x0163-0x0167
    
    
    
    0x0168-0x016F
    
    
    STM_SETICON              0x0170
    STM_GETICON              0x0171
    STM_SETIMAGE             0x0172
    STM_GETIMAGE             0x0173
    STM_MSGMAX               0x0174
    0x0175-0x0177
    
    
    0x0178-0x017F
    
    LB_ADDSTRING             0x0180
    LB_INSERTSTRING          0x0181
    LB_DELETESTRING          0x0182
    empty                    0x0183
    LB_RESETCONTENT          0x0184
    LB_SETSEL                0x0185
    LB_SETCURSEL             0x0186
    LB_GETSEL                0x0187
    LB_GETCURSEL             0x0188
    LB_GETTEXT               0x0189
    LB_GETTEXTLEN            0x018A
    LB_GETCOUNT              0x018B
    LB_SELECTSTRING          0x018C
    LB_DIR                   0x018D
    LB_GETTOPINDEX           0x018E
    LB_FINDSTRING            0x018F
    
    LB_GETSELCOUNT           0x0190
    LB_GETSELITEMS           0x0191
    LB_SETTABSTOPS           0x0192
    LB_GETHORIZONTALEXTENT   0x0193
    LB_SETHORIZONTALEXTENT   0x0194
    LB_SETCOLUMNWIDTH        0x0195
    LB_ADDFILE               0x0196
    LB_SETTOPINDEX           0x0197
    LB_GETITEMRECT           0x0198
    LB_GETITEMDATA           0x0199
    LB_SETITEMDATA           0x019A
    LB_SELITEMRANGE          0x019B
    LB_SETANCHORINDEX        0x019C
    LB_GETANCHORINDEX        0x019D
    LB_SETCARETINDEX         0x019E
    LB_GETCARETINDEX         0x019F
    
    LB_SETITEMHEIGHT         0x01A0
    LB_GETITEMHEIGHT         0x01A1
    LB_FINDSTRINGEXACT       0x01A2
    LBCB_CARETON             0x01A3
    LBCB_CARETOFF            0x01A4
    LB_SETLOCALE             0x01A5
    LB_GETLOCALE             0x01A6
    LB_SETCOUNT              0x01A7
    
    LB_INITSTORAGE           0x01A8
    
    LB_ITEMFROMPOINT         0x01A9
    LB_INSERTSTRINGUPPER     0x01AA
    LB_INSERTSTRINGLOWER     0x01AB
    LB_ADDSTRINGUPPER        0x01AC
    LB_ADDSTRINGLOWER        0x01AD
    LBCB_STARTTRACK          0x01AE
    LBCB_ENDTRACK            0x01AF
    
    LB_MSGMAX                0x01B0
    0x01B1-0x01B7
    
    0x01B8-0x01BF
    
    0x01C0-0x01C7
    
    0x01C8-0x01CF
    
    0x01D0-0x01D7
    
    0x01D8-0x01DF
    
    MN_SETHMENU              0x01E0
    MN_GETHMENU              0x01E1
    MN_SIZEWINDOW            0x01E2
    MN_OPENHIERARCHY         0x01E3
    MN_CLOSEHIERARCHY        0x01E4
    MN_SELECTITEM            0x01E5
    MN_CANCELMENUS           0x01E6
    MN_SELECTFIRSTVALIDITEM  0x01E7
    
    0x1E8 - 0x1E9
    
    MN_GETPPOPUPMENU(obsolete) 0x01EA
    MN_FINDMENUWINDOWFROMPOINT 0x01EB
    MN_SHOWPOPUPWINDOW         0x01EC
    MN_BUTTONDOWN              0x01ED
    MN_MOUSEMOVE               0x01EE
    MN_BUTTONUP                0x01EF
    MN_SETTIMERTOOPENHIERARCHY 0x01F0
    
    MN_DBLCLK                  0x01F1
    MN_ENDMENU                 0x01F2
    MN_DODRAGDROP              0x01F3
    MN_ENDMENU                 0x01F4
    WM_MOUSEMOVE             0x0200
    WM_LBUTTONDOWN           0x0201
    WM_LBUTTONUP             0x0202
    WM_LBUTTONDBLCLK         0x0203
    WM_RBUTTONDOWN           0x0204
    WM_RBUTTONUP             0x0205
    WM_RBUTTONDBLCLK         0x0206
    WM_MBUTTONDOWN           0x0207
    WM_MBUTTONUP             0x0208
    WM_MBUTTONDBLCLK         0x0209
    WM_MOUSEWHEEL            0x020A
    WM_XBUTTONDOWN           0x020B
    WM_XBUTTONUP             0x020C
    WM_XBUTTONDBLCLK         0x020D
    empty                    0x020E
    empty                    0x020F
    
    WM_PARENTNOTIFY          0x0210
    WM_ENTERMENULOOP         0x0211
    WM_EXITMENULOOP          0x0212
    WM_NEXTMENU              0x0213
    
    WM_SIZING                0x0214
    WM_CAPTURECHANGED        0x0215
    WM_MOVING                0x0216
    
    
    WM_POWERBROADCAST        0x0218
    WM_DEVICECHANGE          0x0219
    0x021A-0x021F
    
    WM_MDICREATE             0x0220
    WM_MDIDESTROY            0x0221
    WM_MDIACTIVATE           0x0222
    WM_MDIRESTORE            0x0223
    WM_MDINEXT               0x0224
    WM_MDIMAXIMIZE           0x0225
    WM_MDITILE               0x0226
    WM_MDICASCADE            0x0227
    WM_MDIICONARRANGE        0x0228
    // WM_MDIGETACTIVE       0x0229
    WM_DROPOBJECT            0x022A
    WM_QUERYDROPOBJECT       0x022B
    WM_BEGINDRAG             0x022C
    WM_DRAGLOOP              0x022D
    WM_DRAGSELECT            0x022E
    WM_DRAGMOVE              0x022F
    
    WM_MDISETMENU            0x0230
    WM_ENTERSIZEMOVE         0x0231
    WM_EXITSIZEMOVE          0x0232
    
    WM_DROPFILES             0x0233
    WM_MDIREFRESHMENU        0x0234
    0x0235-0x0237
    
    0x0238-0x023F
    
    0x0240-0x0247
    
    0x0248-0x024F
    
    0x0250-0x0257
    
    0x0258-0x025F
    
    0x0260-0x0267
    
    0x0268-0x026F
    
    0x0270-0x0277
    
    0x0278-0x027F
    
    WM_IME_REPORT            0x0280
    WM_IME_SETCONTEXT        0x0281
    WM_IME_NOTIFY            0x0282
    WM_IME_CONTROL           0x0283
    WM_IME_COMPOSITIONFULL   0x0284
    WM_IME_SELECT            0x0285
    WM_IME_CHAR              0x0286
    
    
    0x0288
    
    0x0290
    
    0x0298
    
    WM_KANJILAST             0x029F
    
    WM_NCMOUSEHOVER          0x02Ao
    WM_MOUSEHOVER            0x02A1
    WM_NCMOUSELEAVE          0x02A2
    WM_MOUSELEAVE            0x02A3
    
    0x02A4-0x02A7
    
    0x02A8-0x02AF
    
    
    0x02B0-0x02B7
    
    0x02B8-0x02BF
    
    0x02C0-0x02C7
    
    0x02C8-0x02CF
    
    0x02D0-0x02D7
    
    0x02D8-0x02DF
    
    0x02E0-0x02E7
    
    0x02E8-0x02EF
    
    0x02F0-0x02F7
    
    0x02F8-0x02FF
    
    WM_CUT                   0x0300
    WM_COPY                  0x0301
    WM_PASTE                 0x0302
    WM_CLEAR                 0x0303
    WM_UNDO                  0x0304
    WM_RENDERFORMAT          0x0305
    WM_RENDERALLFORMATS      0x0306
    WM_DESTROYCLIPBOARD      0x0307
    WM_DRAWCLIPBOARD         0x0308
    WM_PAINTCLIPBOARD        0x0309
    WM_VSCROLLCLIPBOARD      0x030A
    WM_SIZECLIPBOARD         0x030B
    WM_ASKCBFORMATNAME       0x030C
    WM_CHANGECBCHAIN         0x030D
    WM_HSCROLLCLIPBOARD      0x030E
    WM_QUERYNEWPALETTE       0x030F
    
    WM_PALETTEISCHANGING     0x0310
    WM_PALETTECHANGED        0x0311
    WM_HOTKEY                0x0312
    
    0x0313-0x0316
    WM_HOOKMSG               0x0314
    WM_EXITPROCESS           0x0315
    WM_WAKETHREAD            0x0316
    WM_PRINT                 0x0317
    
    WM_PRINTCLIENT           0x0318
    WM_APPCOMMAND            0x0319
    
    0x0320-0x0327
    
    0x0328-0x032F
    
    0x0330-0x0337
    
    0x0338-0x033F
    
    0x0340-0x0347
    
    0x0348-0x034F
    
    0x0350-0x0357
    
    reserved pen windows      0x0358-0x035F
    
    0x0360-0x0367
    
    0x0368-0x036F
    
    0x0370-0x0377
    
    0x0378-0x037F
    
    0x0380-0x0387
    
    0x0388-0x038F
    
    0x0390-0x0397
    
    0x0398-0x039F
    
    WM_MM_RESERVED_FIRST      0x03A0
    
    0x03A8
    
    0x03B0
    
    0x03B7
    
    0x03C0
    
    0x03C7
    
    0x03D0
    
    0x03D7
    
    WM_MM_RESERVED_LAST      0x03DF
    
    WM_DDE_INITIATE          0x03E0
    WM_DDE_TERMINATE         0x03E1
    WM_DDE_ADVISE            0x03E2
    WM_DDE_UNADVISE          0x03E3
    WM_DDE_ACK               0x03E4
    WM_DDE_DATA              0x03E5
    WM_DDE_REQUEST           0x03E6
    WM_DDE_POKE              0x03E7
    WM_DDE_EXECUTE           0x03E8
    
    0x03E9-0x03EF
    
    WM_CBT_RESERVED_FIRST     0x03F0
    
    0x03F8
    
    WM_CBT_RESERVED_LAST      0x03FF
    View Code

    视频教程出自:http://www.xuanjics.com/thread-106-1-1.html

                        玄机论坛的地址:www.xuanjics.com  原创作者:君临

                        QQ交流群:16885911  
  • 相关阅读:
    Yocto开发笔记之《驱动调试-华为3G模块》(QQ交流群:519230208)
    Yocto开发笔记之《应用程序架构》(QQ交流群:519230208)
    Yocto开发笔记之《串口驱动调试》(QQ交流群:519230208)
    Yocto开发笔记之《快速入门,环境搭建 & 编译》(QQ交流群:519230208)
    Linux Canbus调试笔记
    ubuntu默认防火墙
    Linux安全之——Ubuntu的iptable命令使用
    嵌入式Linux系统开发环境搭建
    在Android上实现使用Facebook登录(基于Facebook SDK 3.5)
    Android应用内语言切换实现(转)
  • 原文地址:https://www.cnblogs.com/Time_1990/p/4080238.html
Copyright © 2011-2022 走看看