WINCE中的一些常用代码-创新互联

一、窗口全屏显示,去掉任务栏

成都创新互联是一家集网站建设,乌海企业网站建设,乌海品牌网站建设,网站定制,乌海网站建设报价,网络营销,网络优化,乌海网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
//全屏显示
//隐藏HHTaskBar窗口代码如下:       
HWND hTaskBar = ::FindWindow(TEXT("HHTaskBar"), NULL);        
if (hTaskBar != NULL)       
{       
     ::EnableWindow(hTaskBar, FALSE);       
     ::ShowWindow(hTaskBar, SW_HIDE);       
}       

int iFullWidth  = GetSystemMetrics(SM_CXSCREEN);
int iFullHeight = GetSystemMetrics(SM_CYSCREEN);
::SetWindowPos(this->m_hWnd, HWND_TOPMOST, 0, 0, iFullWidth, iFullHeight,
	SWP_NOOWNERZORDER|SWP_SHOWWINDOW);

二、获取当前程序路径


CString CscaleweightDlg::GetAppllicationPath()
{
	WCHAR  buff[255]={0};
	::GetModuleFileName(0,buff,255);

	CString strAppFullName;
	strAppFullName.Format(_T("%s"),buff);

	CString strAppPath = _T("");
	strAppPath = strAppFullName.Left(strAppFullName.ReverseFind('\\')+1);
	return strAppPath;
}

三、加载字库


//加载字体
	CString strFontPath = GetAppllicationPath()+_T("msyh.ttf");
	if (NULL != AddFontResource(strFontPath))
	{
		::SendMessage( HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
	}
	else
	{
		AfxMessageBox(L"字体加载失败");
	}

程序退出时,卸载字库


	CString strFontPath = GetApplicationPath()+_T("msyh.ttf");
	if(RemoveFontResource(strFontPath))
	{
		::SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
	}
	else
		AfxMessageBox(L"Failed to UNLOAD font!");

四、加载位图用LoadImage无效


HBITMAP   hBitmap = (HBITMAP)::SHLoadDIBitmap(szBitmapFile);

五、要以共享MFC的DLL库的方式发布程序,须将如下目录中DLL全部复制到目标机器上。


C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\Dll\armv4i

六、wchar_t*转char*
如,sCaption为 LPCTSTR类型字符串,要转成char *字符串,如下:

	int num = WideCharToMultiByte(CP_OEMCP, NULL, sCaption, -1, NULL, 0, NULL, FALSE);
	char *pChar = new char[num];
	WideCharToMultiByte(CP_OEMCP, NULL, sCaption, -1, pChar, num, NULL, FALSE);

七、字体平滑,需要修改注册表


HKEY_LOCAL_MACHINE\\System\\GDI\\ClearType 
Default=2

八、不关闭屏幕,常期显示工作界面


	//电源参数请求更新
	HANDLE hevReloadActivityTimeouts =  OpenEvent(EVENT_ALL_ACCESS, FALSE,
	                                      _T("PowerManager/ReloadActivityTimeouts"));
	if (hevReloadActivityTimeouts) 
	{
		SetEvent(hevReloadActivityTimeouts);
		CloseHandle(hevReloadActivityTimeouts);
	}

同时,在注册表中也要修改超时设置。

九、Sqlite数据库读写


void CSimpleModeData::TempTableWrite(CString CarNo,CString strWeight,CString GoodsName, 
CString Time)
{
    CString str ;
	str.Format(_T("insert into SimpleModeTempTable(CarNo,GoodsName,Weight,Time)\
				  values('%s','%s','%s','%s')"),CarNo,strWeight,GoodsName,
				  Time);
	TRACE(str);
	m_sqliteDB.execQuery(str);
}

BOOL CSimpleModeData::TempTableRead(CString strCarNo)
{
	CString str ;
	str.Format(_T("select * from SimpleModeTempTable where CarNo = '%s'"));
	TRACE(str);

	CppSQLite3Query  query = m_sqliteDB.execQuery(str);
    if(!query.eof())
	{
		wcscpy_s(CGlobal::g_TempTable.CarNo,20,query.fieldValue(1));
        wcscpy_s(CGlobal::g_TempTable.GoodsName,20 ,query.fieldValue(2));
        wcscpy_s(CGlobal::g_TempTable.Weight,20,query.fieldValue(3));

		return TRUE;
	}
	query.finalize();

    return FALSE;
}

十、软件重启


#include "windows.h"
#include "winioctl.h"

#define POWER_STATE_RESET       (DWORD)(0x00800000)
#define POWER_FORCE             (DWORD)(0x00001000)

extern  "C"   __declspec(dllimport)  DWORD SetSystemPowerState(LPCWSTR pwsSystemState,
DWORD   StateFlags,DWORD   Options);

void CtestDlg::OnBnClickedButton2()
{
	SetSystemPowerState(NULL, POWER_STATE_RESET, POWER_FORCE);
}

十一、字符串转浮点数
_tstof在WinCE中未实现,需要自己实现。如果转成double型可以如下:


double StringToDouble(LPCTSTR lpszSrc)
{
	TCHAR * endptr;
	return _tcstod(lpszSrc, &endptr);
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网站题目:WINCE中的一些常用代码-创新互联
当前URL:https://www.cdcxhl.com/article12/cehcdc.html

成都网站建设公司_创新互联,为您提供网站策划云服务器面包屑导航手机网站建设商城网站标签优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计