一个简单的Wince手机应用程序

WM 6.1并没有自带重启或休眠(挂机)的功能,没有这两个功能,确实有点不方便。
于是自写了一个程序实现重启和休眠,模拟器截图如下:
一个简单的Wince手机应用程序 - yyimen - yyimen的博客



Wince程序并没有什么难的地方,只是调用支持Wince的API函数,倒是基于KOL编程有些想法。
(1)KOL-CE的Ini不支持中文。网上虽然有人是或小改KOL-CE的Inc文件即可支持,但我试了一下,还是不支持,尚待观察。支持 string的Ini 函数封装如下:
procedure WriteIniValue(const SectionName,KeyName,Value:string);
var
Ini:PIniFile;
IniFileName:string;
begin
IniFileName := ParamStr(0);
IniFileName:= ChangeFileExt(IniFileName,'.Ini');
try
Ini:= OpenIniFile(IniFileName);
Ini.Mode:= ifmWrite;
Ini.Section:= SectionName;
ini.ValueString(KeyName,Value);
finally
    ini.Free;
end;
end;
function ReadIniValue(const SectionName,KeyName:string):string;
var
Ini:PIniFile;
IniFileName:string;
begin
IniFileName := ParamStr(0);
IniFileName:= ChangeFileExt(IniFileName,'.Ini');
try
     Ini:= OpenIniFile(IniFileName);
     Ini.Mode:= ifmRead;
     Ini.Section:= SectionName;
     Result := ini.ValueString(KeyName,'');
finally
     ini.Free;
end;
end;              
(2)KOL控件有一些小的BUG。比如 TKOLGroupBox不支持设计期显示 Caption。如果将TKOLGroupBox的Align改为TKOLGroupBox,当你放一个TKOLButton在TKOLGroupBox上,在运行时,你会发现按钮不见了,其实TKOLButton的父容器对象还是TForm,而非TKOLGroupBox,要避免这样,请参照delphi的DFM窗口修改Lazarus的LFM窗口,把TKOLButton代码剪切到TKOLGroupBox里去。
(3)Lazarus+KOL,就好像一个长痘痘的灰姑娘,总有那么一点小问题。比如,当你修改TKOLButton的Name属性,编译时候,main_1.inc(单元的扩展文件)文件总是有非法字符出现。
一个简单的Wince手机应用程序 - yyimen - yyimen的博客

原因如下:
{ KOL MCK } // Do not remove this line!
这句代码前面有隐藏的非法字符,我怀疑有Unicode非法字符在行的前面,删除即可。
(4)、WM手机关机并非想象的那么简单,ExitWindowsEx(1,0)或ExitWindowsEx(8,0)不支持关机。WM手机关机要硬件和电源支持才行。网上也有一些API函数,但是绕了几道弯实现真正的关机。对于休眠来说,如果将蜂窝式电话信号关掉,其实也接近于关机,虽然CPU在休眠状态下,但消耗的电源已经很小很小。WM手机不同一般的普通手机,因此,没有真正的关机闹钟和关机自动重启。普通的手机没有CPU,在关机情况下,主板尚能提供电源支持关机定时自动重启。这仅仅是我的个人理解。








        
        



        







        
          
            
            评论这张
          
        


          
            
               一个简单的Wince手机应用程序 - yyimen - yyimen的博客
            
            转发至微博
          
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值