1、Android_linux_API预先定义的函数(完整版) (文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载) ********************************** * 系统函数 * ********************************** ---------------------------------- 名称 GetScreenMode 原型 int GetScreenMode (void) 描述 得到当前屏幕的显示方式 GP1288支持3种显示方式:单色、四灰阶
2、十六灰阶 返回值:1 单色 2 四灰阶 4 十六灰阶 出错返回:-1 参见 SetScreenMode ----------------------------------- 名称 SetScreenMode 原型 int SetScreenMode (int bpp) 描述 设置屏幕显示方式 GP1288支持3种显示方式:单色、四灰阶、十六灰阶 bpp=1 单色 bpp=2 四灰阶 bpp=4 十六灰阶 返回值:0 成功 出错返回:-1 参见 GetScreenMode
3、 ----------------------------------- 名称 ResetScreen 原型 void ResetScreen (void) 描述 初始化Microwindow的显示引擎,并重绘屏幕 参见 ----------------------------------- 名称 SetDefaultMenuWindow 原型 void SetDefaultMenuWindow (HWND hwnd) 描述 设置缺省的菜单控制窗口。这是MW的特殊函数。 当有多个窗口控件时,最好设定此函数,以使软键盘上的“菜单”键被按下时,显示正
4、确的菜单内容。 菜单消息是WM系统内部产生的,AP无需处理。 如果 hwnd 设为NULL时,默认为系统缺省的最上层窗口。 要注意的是,当设置后,AP退出时,要再将其恢复为NULL。 参见 SetDefaultSearchWindow,SetDefaultSwitchWindow,SetDefaultKeyWindow ----------------------------------- 名称 SetDefaultSearchWindow 原型 void SetDefaultSearchWindow (HWND hwnd) 描述 设
5、置缺省的查询控制窗口。这是MW的特殊函数。 参见 SetDefaultMenuWindow,SetDefaultSwitchWindow,SetDefaultKeyWindow ----------------------------------- 名称 SetDefaultSwitchWindow 原型 void SetDefaultSwitchWindow (HWND hwnd) 描述 设置缺省的切换控制窗口。这是MW的特殊函数。 WM_SWITCH_OUT 消息在任务切换出时产生 WM_SWITCH_IN 消息在任务切换回来时产生 参见
6、 SetDefaultMenuWindow,SetDefaultMenuWindow,SetDefaultKeyWindow ----------------------------------- 名称 SetDefaultKeyWindow 原型 void SetDefaultKeyWindow (HWND hwnd) 描述 设置缺省的按键响应控制窗口。这是MW的特殊函数。 参见 SetDefaultMenuWindow,SetDefaultSearchWindow,SetDefaultSwitchWindow ------------------------------
7、----- 名称 GetDefaultMenuWindow GetDefaultSearchWindow GetDefaultSwitchWindow GetDefaultKeyWindow 原型 HWND GetDefaultMenuWindow (void) HWND GetDefaultSearchWindow (void) HWND GetDefaultSwitchWindow (void) HWND GetDefaultKeyWindow (void) 描述
8、 得到当前的处理菜单(查询、任务切换、按键响应)的主控窗口,返回句柄号 参见 SetDefaultMenuWindow ----------------------------------- 名称 OpenClipboard 原型 BOOL OpenClipboard (HWND hOwner) 描述 打开剪贴板。系统只有一个剪贴板。 hOwner 欲打开剪贴板的窗口句柄 返回值:成功返回TRUE,失败返回FALSE 参见 CloseClipboard ----------------------------------- 名称 Clo
9、seClipboard 原型 BOOL CloseClipboard (VOID) 描述 关闭剪贴板。打开剪贴板后必需关闭。 返回值:成功返回TRUE,失败返回FALSE 参见 OpenClipboard ----------------------------------- 名称 ReadClipboard 原型 BOOL ReadClipboard (char *buf, int buf_size) 描述 读出剪贴板的内容 buf 读出的内容 buf_size 读出长度 如果读出长度小于剪贴板中的数据长度,
10、则读出buf_size-1长的字串,并以'{post.content}'为结束 返回值:成功返回TRUE,失败返回FALSE 参见 WriteClipboard ----------------------------------- 名称 WriteClipboard 原型 BOOL WriteClipboard (char *buf) 描述 向剪贴板写入内容 buf 欲写入的字串,以'{post.content}'为结束 返回值:成功返回TRUE,失败返回FALSE 参见 ReadClipboard -------------
11、---------------------- 名称 GetClipboardSize 原型 long GetClipboardSize (void) 描述 得到当前剪贴板中的数据长度 返回值:数据长度 参见 ----------------------------------- 名称 IsClipboardEmpty 原型 BOOL IsClipboardEmpty (void) 描述 检测剪贴板是否为空 返回值:空为TRUE,非空为FALSE 参见 ----------------------------------- 名
12、称 EmptyClipboard 原型 BOOL EmptyClipboard (void) 描述 清空剪贴板内容 返回值:成功返回TRUE,失败返回FALSE 参见 ----------------------------------- 名称 IsClipboardFormatAvailable 原型 BOOL IsClipboardFormatAvailable (UINT uFormat) 描述 检测剪贴板内数据的类型 返回值:成功返回TRUE,失败返回FALSE 现支持类型 : CF_TEXT,即目前只支持文本(
13、其它类型以后再提供) 参见 ----------------------------------- 名称 SetClipboardData 原型 HANDLE SetClipboardData (UINT uFormat, HANDLE hMem) 描述 按照数据的类型向剪贴板写入内容 uFormat 数据的类型 hMem 数据的地址 返回值:成功返回TRUE,失败返回FALSE 现支持类型 : CF_TEXT 参见 GetClipboardDat --------------------------------
14、--- 名称 GetClipboardData 原型 HANDLE GetClipboardData (UINT uFormat) 描述 按照数据的类型取得剪贴板数据地址 返回值:成功返回地址,失败返回NULL uFormat 现只支持 CF_TEXT 参见 SetClipboardData ----------------------------------- 名称 SelectClipRgn 原型 int WINAPI SelectClipRgn(HDC hdc, HRGN hrgn) 描述 设置图形设备的客户显示区域,直接拷贝方式
15、 hdc: 图形设备的句柄 hrgn: 区域数据指针 返回值:成功返回区域类型,失败返回 NULLREGION(0xffffffff) 参见 ExtSelectClipRgn ----------------------------------- 名称 ExtSelectClipRgn 原型 int WINAPI ExtSelectClipRgn(HDC hdc, HRGN hrgn, int fnMode) 描述 设置图形设备的客户显示区域 hdc : 图形设备的句柄 hrgn : 区域数据
16、指针 fnMode : 设置方式: RGN_COPY 直接拷贝 RGN_AND 取hdc旧区域和hrgn的公共部分 RGN_OR hdc旧区域和hrgn 叠加 RGN_XOR hdc旧区域和hrgn 的不同部分 RGN_DIFF hdc旧区域和hrgn 相减 返回值:成功返回区域类型,失败返回 NULLREGION(0xffffffff) 参见 SelectClipRgn --------------------------
17、--------- 名称 SwitchTo 原型 void SwitchTo (char *fullpath, char *args) 描述 切换到另一个任务 fullpath 另一任务的完整路径名称 args 参数,如有多个参数中间用空格分隔 我们推荐用SwitchTo和下面提到的QuitTo来切换MicroWindow的AP,因为MW的AP不在通常的任务 管理中管理。如果切换的不是MW的AP,还是用系统的 exec,fork。 参见 QuitTo -----------------------------------
18、 名称 QuitTo 原型 void QuitTo (char *fullpath, char *args) 描述 退出当前的MW程序并切换到另一任务 参见 SwitchTo ----------------------------------- 名称 InputBox 原型 char *InputBox (char *buf, int buf_len, const char *text1, const char *text2, BOOL pwd_mask) 描述 用来获得用户输入文本的简单方法 buf 保存用户输入文本的缓冲区 buf
19、len 缓冲区长度 text1 字符串1 text2 字符串2 pwd_mask 当输入是密码时,显示的是"*"来加以保护。 TRUE 密码输入 FALSE 非 返回值:如取消输入返回NULL,否则返回字串长度 注意:缓冲区可以为空,也可有预设值。如果你希望这个输入框上有预设的内容时,可以将其填到 buf上。buf的长度最大为255。 参见 ----------------------------------- 名称 Ena
20、bleBuzzer 原型 void EnableBuzzer (BOOL on) 描述 在系统的蜂鸣器开启时,使能当前AP的蜂鸣器 on TRUE 使能 FALSE 关闭 注意:此函数的使用不会影响到系统的蜂鸣器状态 参见 IsBuzzerOn ----------------------------------- 名称 IsBuzzerOn 原型 BOOL IsBuzzerOn (void) 描述 检测当前的蜂鸣器是否开启 返回值:TRUE 开启 FALSE 关闭 参见 EnableBuzzer --------
21、--------------------------- 名称 ControlBuzzer 原型 void ControlBuzzer (int freq, int duration) 描述 控制蜂鸣器以特定的频率和时间发音 freq 发音频率 duration 持续时间 参见 Beep ----------------------------------- 名称 Beep 原型 void Beep (void) 描述 蜂鸣器发出“吡”的一声。这相当于用4K的频率,100的duration调用ControlBuzzer 参见 C
22、ontrolBuzzer ----------------------------------- 名称 ControlRedLED 原型 void ControlRedLED (BOOL on) 描述 控制GP1288的红色LED灯 on TRUE 开启 FALSE 关闭 同样的,这也不会影响到系统对LED的设定 参见 ControlGreenLED ----------------------------------- 名称 ControlGreenLED 原型 void ControlGreenLED (BOOL on) 描述
23、 控制GP1288的绿色LED灯 on TRUE 开启 FALSE 关闭 参见 ControlRedLED ----------------------------------- 名称 ControlMotor 原型 void ControlMotor (BOOL on) 描述 控制GP1288的震动马达 on TRUE 开启 FALSE 关闭 参见 ----------------------------------- 名称 ControlButton 原型 void ControlButton (int spee
24、d) 描述 在本任务内,控制键盘连续按键的响应速度 speed 速度值,范围在-10到50之间由慢变快 切换到其他任务后,响应速度恢复变为默认值 参见 ----------------------------------- 名称 SetLocalLanguage 原型 void SetLocalLanguage (int lang) 描述 在本任务内设置语言选项 lang 0:大陆,GB码 1:台湾,Big5码 2:香港,Big5码 3:英文 -1:禁止切换 当使用此函数设置语言后后,一般需要更新屏幕,通知控
25、件他们的显示。 实际上,这只是设置显示文字的方式,就是说,是用GB码还是Big5码的格式读取和显示汉字。 参见 GetLanguage ----------------------------------- 名称 GetLanguage 原型 int GetLanguage (void) 描述 得到语言设置的返回值 返回值:lang 0:北京,GB码 1:台湾,Big5码 2:香港,Big5码 3:英文 -1:禁止切换 参见 SetLocalLanguage ----------------------------------- 名称
26、 GetRegionCode 原型 int GetRegionCode (void) 描述 得到GP1288的区域号 返回值:0:北京 1:台湾 2:香港 3:英文 -1:出错 参见 ----------------------------------- 名称 GetProductName 原型 int GetProductName (char *buf) 描述 得到产品名称 buf 读出的产品名称 返回值:如果buf==NULL 返回实际需要的长度 否则,成功返回0;失败返回-1
27、 参见 GetSerialNumber ----------------------------------- 名称 GetSerialNumber 原型 int GetSerialNumber (char *buf) 描述 得到GP1288的S/N(串号) buf 读出的S/N 返回值:如果buf==NULL 返回实际需要的长度 否则,成功返回0;失败返回-1 参见 GetProductName ----------------------------------- 名称 GetPanelKeys 原型
28、BOOL GetPanelKeys (BOOL bEnable) 描述 系统是否产生(UP,DOWN,LEFT,RIGHT,HOME,END)6个按键消息 在GP1288上,我们将按键分组,这6个按键(就是方向键和边上两个键)归于PanelKeys组,可以 通过程序设定是否起作用,即按下后是否发送按键消息,能被系统接收。其虚拟键值为: VK_UP 方向键上 VK_DOWN 方向键下 VK_LEFT 方向键左 VK_RIGHT 方向键右 VK_HOME HOME键,默认也是Ho
29、link键 VK_END END键,默认是邮件键 bEnable TRUE ,产生按键消息;FALSE 不产生按键消息 参见 GetSoftKeys ----------------------------------- 名称 GetSoftKeys 原型 BOOL GetSoftKeys (BOOL bEnable); 描述 系统是否产生目录、菜单、查找、计算、字典、切换、红外、录音的按键消息 在GP1288上,我们将按键分组,这8个按键归于SoftKeys组,可以通过程序设定是否起作用,即按 下后是否发送按键
30、消息,能被系统接收。其虚拟键值为: VK_F1 软键盘上的目录键 VK_F2 软键盘上的菜单键 VK_F3 软键盘上的查找键 VK_F4 软键盘上的计算键 VK_F5 软键盘上的字典键 VK_F6 软键盘上的切换键 VK_LBUTTON 红外键 VK_RBUTTON 录音键 bEnable TRUE ,产生按键消息;FALSE 不产生按键消息 参见 GetPanelKeys ---------------
31、-------------------- 名称 IsGetPanelKeys 原型 BOOL IsGetPanelKeys (void) 描述 系统是否允许PanelKeys起作用 返回值:TRUE 起作用 FALSE 不起作用 参见 GetPanelKeys ----------------------------------- 名称 IsGetSoftKeys 原型 BOOL IsGetSoftKeys (void) 描述 系统是否允许目录、菜单、查找、计算、字典、切换、红外、录音键起作用 返回值:TRUE 起作用 FALSE
32、不起作用
参见 GetSoftKeys
-----------------------------------
名称 InitXime
原型 #include
33、 XIME_NONE 最小化 XIME_ASCII ASCII字符输入 XIME_SYMBOL 符号输入 XIME_PHONE 符号输入 XIME_CJ 繁体仓颉输入法 XIME_BOSHIAMY 繁体注音 XIME_HANDWRITE 手写输入 XIME_SPCODE 大写符号 XIME_PINYIN 全拼输入 XIME_WUBI 五笔输入
34、 XIME_DEFAULT 系统默认输入法 XIME_USER 自定义输入法 输入法变化后会自动发出信息 WM_XIME_MINIMIZE 输入法最小化 WM_XIME_RESTORE 从最小化恢复 WM_XIME_CHANGED 输入方式变化 注意:调用初试化输入法的时间应在Winmain()中的CreatWindow或对话框建立后,并且 InitXime只能被调用一次,除非你已经销毁过他。 参见 InitXimeEx -----------
35、------------------------ 名称 InitXimeEx 原型 HWND InitXimeEx (HWND owner, InputMethod ime, int sub, int visible) 描述 用附加属性修饰的初试化输入法 owner 欲开启输入法的窗口句柄 ime 输入法代表字 sub 0:默认符号 1:半角符号 2:全角符号 参见 InitXime ----------------------------------- 名称 SelectXime 原型 void SelectXime (
36、InputMethod ime) 描述 在使用中改变输入法 参见 InitXime ----------------------------------- 名称 SelectXimeEx 原型 void SelectXimeEx(InputMethod ime, int sub) 描述 在使用中改变输入法,并有附加属性修饰 参见 SelectXime,InitXime,InitXimeEx ----------------------------------- 名称 SetXimeOwner 原型 HWND SetXimeOwner(HWND owner)
37、 描述 在其他对话框中使用输入法时,要调用此函数设定。 输入法作为一个控件,只能被一个窗体所使用。如果你想在另外一个窗口控件(比如对话框)中使 用,必需为它设定新的属主。 不过千万要记得,在销毁新属主前要将 owner 设回来。 owner 新属主的句柄 返回值:前次属主的句柄 参见 ----------------------------------- 名称 DestroyXime 原型 void DestroyXime(void) 描述 手工销毁输入法控件 参见 InitXime -----
38、------------------------------ 名称 ReInitXime 原型 int ReInitXime (void) 描述 手工重新刷新输入法控件。 这并没有破坏原有的句柄,只是重新刷新。 当切换语言时需要这样手工刷新。 参见 InitXime ----------------------------------- 名称 GetSelectedIME 原型 InputMethod GetSelectedIME (void) 描述 返回当前的输入法输入类型 参见 InitXime ---------------
39、-------------------- 名称 GetXimeSubStyle 原型 int GetXimeSubStyle (void) 描述 返回当前输入法的附加修饰类型 参见 InitXime ----------------------------------- 名称 GetXimeHandler 原型 HWND GetXimeHandler (void) 描述 返回输入法控件的句柄 必需在InitXime之后才能调用。 还要注意的是,如果是自定义的输入法,请不要调用此函数。 参见 -------------------
40、---------------- 名称 PopupXimeMenu 原型 void PopupXimeMenu (int x, int y) 描述 输入法的弹出菜单(就是那个有各种输入法选项的菜单)的位置 x 横坐标位置 y 纵坐标位置 参见 EnableXimeMinimize ----------------------------------- 名称 EnableXimeMinimize 原型 int EnableXimeMinimize (BOOL bEnable); 描述 在输入法弹出菜单上激活(取消)最小化选项 缺省状态
41、下,输入法控件弹出菜单是没有最小化选项的, 调用此函数可以使其出现 bEnable TRUE 显示最小化选项 FALSE 隐藏最小化选项 返回值:0 成功 -1 失败 参见 PopupXimeMenu ----------------------------------- 名称 DefXimeProc 原型 LRESULT CALLBACK DefXimeProc (HWND, UINT, WPARAM, LPARAM) 描述 缺省的输入法处理部件。 如果您写了外挂的自定义输入法,就应该使用DefXimeProc()
42、作为缺省的消息处理部件,在 UserXimeProc()中替代DefWindowProc() 参见 DefWindowProc ----------------------------------- ********************************** * 用户界面函数 * ********************************** ----------------------------------- 名称 WinMain 原型 int WINAPI WinMain(HINSTAN
43、CE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) 描述 此函数被系统呼叫,作为MicroWindow程序的初试化入口点,相当于C程序中的main() hInstance 该程序的实例句柄 hPrevInstance 其他实例的句柄,但实际上其总为NULL szCmdLine 用于运行程序的命令行,某些AP使用这个参数以在程序启动时将文件加载到内存 iCmdShow 程序最初显示的方式 实际上,我们不需要在WinMain时考虑这些参数,这
44、些参数实际上是被MicroWindow传递并使用的 返回值:WinMain带来的消息循环在接收到WM_QUIT时退出,同时返回退出代码 如果在消息循环之前即退出,返回0 参见 CreateWindow,RegisterClass,ShowWindow,UpdateWindow ----------------------------------- 名称 RegisterClass 原型 ATOM WINAPI RegisterClass(CONST WNDCLASS *lpWndClass) 描述 注册窗口类 窗口总是在
45、窗口类的基础上创建的,窗口类用以标识处理窗口消息的窗口过程 在为程序创建窗口之前,必需先调用RegisterClass注册一个窗口类 lpWndClass 一个指向类型为WNDCLASS 的指针结构 我们要在调用此函数前,先声明一个WNDCLASS 的结构,并为其相关域覆值,例如 WNDCLASS wndclass; WNDCLASS 在winuser.h中定义,结构如下: typedef struct tagWNDCLASSA { MWLIST link;
46、 // UINT style; //类风格 WNDPROC lpfnWndProc; //基于这个类所创建窗口所使用的窗口过程的地址 int cbClsExtra; // int cbWndExtra; // HINSTANCE hInstance; //实例句柄 HICON hIcon; //图标
47、 HCURSOR hCursor; //光标 HBRUSH hbrBackground; //背景 LPCSTR lpszMenuName; //窗口类菜单名称 LPCSTR lpszClassName; //窗口类的名称 CHAR szClassName[40];// } WNDCLASS 类风格中,每一种风格为一位,可以由位“或”来进行组合: CS_VREDR
48、AW 窗口纵向变化后重绘 CS_HREDRAW 窗口横向变化后重绘 CS_DBLCLKS 发送双击鼠标消息 CS_OWNDC 给该类中的每个窗口分配一个唯一的设备描述表,只需要初始化设备描述 表一次,DC将一直存在,直到窗口被删除 CS_CLASSDC 给该类中的窗口只分配一个共享的设备描述表号 CS_PARENTDC
49、 使子窗口剪贴板区域与父窗口重合 CS_NOCLOSE 窗口菜单上不出现“关闭”选项 CS_SAVEBITS 在窗口重绘时,不发WM_PAINT消息,而是用保存的窗口位图刷新 CS_BYTEALIGNCLIENT CS_BYTEALIGNWINDOW CS_GLOBALCLASS 该窗口类具有全局属性 实际上,目前版本的MicroWindow只是模仿Windows的特性,这些风格中,目前只有CS_OWNDC
50、 是真正需要设置的。 (因为窗体尺寸不会变化,也没有双击,剪贴板也只有一个... 参见 CreateWindow, CreateWindowEx, ShowWidow ----------------------------------- 名称 CreateWindow 原型 HWND WINAPI CreateWindow(LPCSTR lpClassName, LPCSTR lpWindowName,DWORD dwStyle, int x, int y, int nWidth, int nHeight,HWND hwndParent, HMENU hMenu






