Windows Mobile SP/PPC 中 Menu Bar 使用完美方案
[
2009/04/25 11:15 | by Yonsm ]
2009/04/25 11:15 | by Yonsm ]
在SP/PPC写过MenuBar代码的人可能都知道,AygShell 中 Menu Bar 的设计真是无话说,各种系统(SP、PPC、2003、5.0)功能差异不一致,导致编程特别不方便。比如 SP2003 中不能使用 SHCMBF_HMENU 标记,PPC 5.0/6.0 终不能使用 SHCMBM_GETMENU,SP/PPC 2003中不能使用 TBIF_BYINDEX 来操作按钮,等等。
在别扭与愤懑中,用着MenuBar都过了4年了。终于整理出了一套相对比较完美的方案。先做一些假定:
在别扭与愤懑中,用着MenuBar都过了4年了。终于整理出了一套相对比较完美的方案。先做一些假定:
PPC 中打开通话记录
[
2009/04/02 21:41 | by Yonsm ]
2009/04/02 21:41 | by Yonsm ]
SP 中有一个exe用来打开通话记录,万恶的WM竟然弄得PPC上不一样。经分析找到一个简洁的方法,可以在PPC中打开通话记录界面,代码如下:
if (HWND hWnd = FindWindow(TEXT("MSCProg"), NULL))
{
PostMessage(hWnd, 0x801A, 0, 0);
}
if (HWND hWnd = FindWindow(TEXT("MSCProg"), NULL))
{
PostMessage(hWnd, 0x801A, 0, 0);
}
换用杭州联通宽带快一个月了
[
2009/04/01 21:58 | by Yonsm ]
2009/04/01 21:58 | by Yonsm ]
以前用电信ADSL将近7年了,一直听说“网通”没电信的ADSL好。今年过了年来了之后,本想继续包2年ADSL,到要确认的时候竟然又出霸王条款,无语的细节就不说了
PPC 中向其它进程中插入DLL的方法及通用代码
[
2009/03/23 19:43 | by Yonsm ]
2009/03/23 19:43 | by Yonsm ]
大家都知道 PC 中写破解补丁的其中一个方法是 Loader,通常的做法是CreateProcess后用CreateRemoteThread来Load我们的DLL。但这个方法在WM中显然不可行(压根没这个API)。
WM中要在指定的进程中执行我们的代码,可以用一个未公开的 PerformCallBack4 API。利用这个API,可以在目标进程中执行我们的代码。
WM中要在指定的进程中执行我们的代码,可以用一个未公开的 PerformCallBack4 API。利用这个API,可以在目标进程中执行我们的代码。
好久没写过日志或做点东西了,最近忙了很多事情,按下不表……
今天为了尝试一下VPN,在服务器上尝试装了好几个VPN软件,气壮SoftEther配置Internet共享的时候,服务器竟然挂掉了。晕死!
赶紧找Yicho恢复,辗转N久,终于恢复正常了。谨慎作风忘了,大胆胡乱操作,该S!
宕机日志,仅以此文以记之……
其实……Windows 本身的 VPN 就很好用。也可以改端口。
今天为了尝试一下VPN,在服务器上尝试装了好几个VPN软件,气壮SoftEther配置Internet共享的时候,服务器竟然挂掉了。晕死!
赶紧找Yicho恢复,辗转N久,终于恢复正常了。谨慎作风忘了,大胆胡乱操作,该S!
宕机日志,仅以此文以记之……
其实……Windows 本身的 VPN 就很好用。也可以改端口。
[转帖]Google/WM双系统! HKC Pearl 独家评测
[
2009/02/01 09:27 | by Yonsm ]
2009/02/01 09:27 | by Yonsm ]
HKC Pearl,竟然是 WM6.1 和 Andriod 双系统!价格 2400 RMB 左右,值得关注。
原文地址:http://www.pcpop.com/doc/0/359/359292.shtml
原文地址:http://www.pcpop.com/doc/0/359/359292.shtml
M8 SDK 初步印象 + CeleCmd 2.0 M8 版
[
2009/01/13 10:41 | by Yonsm ]
2009/01/13 10:41 | by Yonsm ]
QuickPad - WM 中最实用的“记事本”
[
2009/01/11 22:23 | by Yonsm ]
2009/01/11 22:23 | by Yonsm ]
nanling 兄的记事本,最近刚更新,“抢鲜”公布一下地址:
http://alensw.com/store/QuickPad.zip
QUickPad 是Windows Mobile 中最实用的文本编辑器,支持 ANSI、UNICODE、UTF-8,支持 WM5/6/6.1 SP/PPC。
……
更多细节,自己尝试一下吧。集成到 ROM 中作为基础的文本编辑器,非常合适。
http://alensw.com/store/QuickPad.zip
QUickPad 是Windows Mobile 中最实用的文本编辑器,支持 ANSI、UNICODE、UTF-8,支持 WM5/6/6.1 SP/PPC。
……
更多细节,自己尝试一下吧。集成到 ROM 中作为基础的文本编辑器,非常合适。
调用 UnRAR.dll 解压缩RAR文件
[
2008/12/28 00:35 | by Yonsm ]
2008/12/28 00:35 | by Yonsm ]
CeleCmd 中把 TGZ 的解压缩功能用 RAR 解压缩替换了,发现RAR解压缩的代码非常简单。
测试在 Windows Live Writter 中写日志
[
2008/12/22 06:33 | by Yonsm ]
2008/12/22 06:33 | by Yonsm ]
Windows Live 9.0 发布了,貌似 .NET 上的东西速度永远是那么的缓缓而动,速度永远是那么的让人锻炼耐心……
测试一下 Writter,东西做的不错,就是速度慢点。
MSVC 中的几个非标准特殊关键字
[
2008/12/17 15:43 | by Yonsm ]
2008/12/17 15:43 | by Yonsm ]
MSVC 中的有些非标准的关键字,有些时候特别有用。
1. __if_exist() 和 __if_not_exist()
用途:判断一个变量是否存在,(在编译期)以便选择相应的代码。
举例:以下代码,无论 g_hInst 是否声明,都不会编译出错。
__if_exist (g_hInst)
{
LoadString(g_hInst, ...)
}
__if_not_exist (g_hInst)
{
LoadString(NULL ...)
}
2.__declspec(selectany)
用途:指明变量或函数实体在连接是只选择其中一个实体拷贝。
1. __if_exist() 和 __if_not_exist()
用途:判断一个变量是否存在,(在编译期)以便选择相应的代码。
举例:以下代码,无论 g_hInst 是否声明,都不会编译出错。
__if_exist (g_hInst)
{
LoadString(g_hInst, ...)
}
__if_not_exist (g_hInst)
{
LoadString(NULL ...)
}
2.__declspec(selectany)
用途:指明变量或函数实体在连接是只选择其中一个实体拷贝。
梅花输入法 V6.1.0008 ROM 专用版
[
2008/12/14 13:56 | by Yonsm ]
2008/12/14 13:56 | by Yonsm ]
为整合到 ROM 之便,把梅花输入法的所有的文件改到了 Windows 目录下,并改变了其中的文件、文件夹名都以 Plum 开头。
其中要注意:
1. 皮肤目录Plum/PlumK/PlumW需要在硬启后部署到 Windows 目录中。
2. PlumCh1 PlumCh2 必须可写,所以必须在硬启后释放到 Windows 目录中。
其中要注意:
1. 皮肤目录Plum/PlumK/PlumW需要在硬启后部署到 Windows 目录中。
2. PlumCh1 PlumCh2 必须可写,所以必须在硬启后释放到 Windows 目录中。









