小编viv*_*dos的帖子

在WinMobile手机中访问GPS功能

假设您有一台也配有GPS接收器的Windows Mobile 6.0手机.WinMobile SDK是否支持访问GPS功能?

如果没有,使用GPS进行编程的选项(API)是什么,即编写将使用GPS功能的应用程序.我主要对Windows Mobile 6.x感兴趣,但也请包括通用回复.

我一定会投票给出最有帮助的答案.

提前致谢.

gps windows-mobile

4
推荐指数
2
解决办法
3892
查看次数

如何以编程方式打开控制面板?

如何以编程方式打开自定义控制面板,例如custom.cpl?具体来说,如何在作为32位应用程序运行时打开64位cpl?

winapi controlpanel

4
推荐指数
3
解决办法
8536
查看次数

为什么我的所有者绘制的组合框显示为空?

我正在继承一个WTL组合框,我是所有者 - 绘制组合框的项目.控件具有属性CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_OWNERDRAWVARIABLE,我使用混合类COwnerDraw来实现DrawItem()和MeasureItem().当下拉列表关闭时,项目将正确绘制.但是,当下拉列表启动时,组合框控件为空,并且不绘制项目.我究竟做错了什么?

WTL类看起来像这样:

class CMyComboBox :
   public CWindowImpl<CMyComboBox, CComboBox>,
   public COwnerDraw<CMyComboBox>
{
public:
   BEGIN_MSG_MAP_EX(CMyComboBox)
      CHAIN_MSG_MAP(COwnerDraw<CMyComboBox>)
      CHAIN_MSG_MAP_ALT(COwnerDraw<CMyComboBox>, 1)
   END_MSG_MAP()

   void DrawItem(LPDRAWITEMSTRUCT lpDIS)
   {
      CDCHandle dc = lpDIS->hDC;
      dc.FillSolidRect(&lpDIS->rcItem, lpDIS->itemID == 0 ?
         RGB(255,0,0) : RGB(0,255,0));
   }

   void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
   {
      lpMeasureItemStruct->itemWidth = 12;
      lpMeasureItemStruct->itemHeight = 12;
   }
};
Run Code Online (Sandbox Code Playgroud)

该类用于对话框,并且是这样的子类:

   m_cbMy.SubclassWindow(GetDlgItem(IDC_COMBO1));
   m_cbMy.AddString(_T("Item 1"));
   m_cbMy.AddString(_T("Item 2"));
Run Code Online (Sandbox Code Playgroud)

将控件属性更改为CBS_OWNERDRAWFIXED不会更改任何内容.


编辑:感谢najmeddine的帮助,我发现我必须处理WM_PAINT以绘制实际的组合框,而不仅仅是下拉列表中的项目.不幸的是现在我还必须自己绘制组合框控件.有没有办法让GDI绘制边框并放箭头,这样我只需要绘制控件的"内部"?

user-interface winapi combobox wtl ownerdrawn

4
推荐指数
1
解决办法
3127
查看次数

为什么我的服务在Vista上的DebugBreak()崩溃?

我正在用C++编写Win32服务.我有一个自定义Assert宏调用DebugBreak()(以及其他东西).当我在Vista下运行我的服务时,服务在到达DebugBreak()调用(int 3汇编程序操作码)时崩溃,显示vista崩溃对话框.错误代码是80000003(硬编码断点).

通常我希望我的服务运行在DebugBreak()调用上,而不会在没有附加调试器的情况下执行任何操作.为什么会崩溃?是否有可能进行更改以使其继续运行?

crash service winapi breakpoints windows-vista

3
推荐指数
1
解决办法
1636
查看次数

如何在卸载时应用Msi转换?

我正在尝试修复已发布的基于Windows Installer的设置.该修复程序用于卸载程序包时发生的错误.为此,我想提供在卸载之前应用的.mst转换文件.产品安装后是否可以使用转换?或者,可以在卸载开始之前将转换应用于已安装的.msi文件?我使用的命令行是这样的:

msiexec.exe /x {Product-Code} TRANSFORMS={Path-To}\bugfix.mst
Run Code Online (Sandbox Code Playgroud)

windows-installer transform

3
推荐指数
1
解决办法
5093
查看次数

是否有命名SOAP接口方法和变量的最佳实践?

在.NET中,Microsoft在开发类库时具有命名类,成员等的指南.其他语言也可能具有如何命名类,如何/如何使用某些符号的最佳实践.

现在,SOAP是一种可用于跨语言边界通信的协议.是否有最佳实践如何命名函数,变量名等?或者我应该使用我的语言(如果有的话)使用?或者当我通过工具(例如WCF服务合同)生成SOAP接口时,我应该使用该工具生成的任何内容吗?

soap naming web-services naming-conventions

2
推荐指数
1
解决办法
5078
查看次数