目前我自己只知道三種方法
一、LoadBitmap
功能:
可從一個(gè)執(zhí)行模塊中載入指定的位圖。
原型:
HBITMAP LoadBitmap(
__in HINSTANCE hInstance,
__in LPCTSTR lpBitmapName
);
參數(shù):
hInstance [in]
包含位圖的模塊句柄
lpBitmapName [in]
以’\0’結(jié)尾的字符串,包含將要載入位圖資源名字。可使用MAKEINTRESOURCE將資源ID號(hào)轉(zhuǎn)換。
返回值:
如果成功,返回位圖句柄,否則返回NULL。
備注:
如果文件名不存在或內(nèi)存不足,函數(shù)執(zhí)行失敗。
當(dāng)不再使用LoadBitmap對(duì)象時(shí),調(diào)用DeleteObject刪除該對(duì)象。
示例:
HBITMAP hBitmap = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BMP));
二、SHLoadImageResource
功能:
將視圖文件轉(zhuǎn)換成位圖文件。視圖資源文件必須在資源文件中包含。
原型:
HBITMAP SHLoadImageResource (
HINSTANCE hinst,
UINT uIdImageFile
);
參數(shù):
hinst
【in】資源句柄
uIdImageFile
【in】視圖文件標(biāo)號(hào)
返回值:
如果成功,返回位圖句柄,否則返回NULL。
備注:
轉(zhuǎn)換文件的類型包括GIF、PNG、JPG、ICO、BMP
當(dāng)不再使用SHLoadImageResource對(duì)象時(shí),調(diào)用DeleteObject刪除該對(duì)象。
示例:
HBITMAP hBitmap = SHLoadImageResource(g_hInstance, IDR_IMAGE);
三、SHLoadImageFile
功能:
讀取視圖文件,解壓并返回位圖句柄。
原型:
HBITMAP SHLoadImageFile (
LPCTSTR pszFileName
);
參數(shù):
pszFileName
[in] 將要載入的視圖文件名
返回值:
如果成功,返回位圖句柄,否則返回NULL。
備注:
轉(zhuǎn)換文件的類型包括GIF、PNG、JPG、ICO、BMP
當(dāng)不再使用SHLoadImageResource對(duì)象時(shí),調(diào)用DeleteObject刪除該對(duì)象。
示例:
HBITMAP hBmp = SHLoadImageFile(
(TEXT("\\My Documents\\My Pictures\\Waterfall.jpg")));
摘要: SHELLEXECUTEINFO 和 ShellExecuteEx的簡(jiǎn)單使用
閱讀全文
posted @
2009-04-22 14:02 Sandy 閱讀(35469) |
評(píng)論 (0) |
編輯 收藏
轉(zhuǎn): http://tech.ddvip.com/2008-09/122062103760957.html
程序中如果要
使用http或socket連接服務(wù)器,需要先連接網(wǎng)絡(luò)。ConnMgrEstablishConnectionSync函數(shù)中的CONNMGR_CONNECTIONINFO參數(shù),不論采用IID_DestNetWAP還是IID_DestNetInternet,似乎都要依賴于
手機(jī)上的接入點(diǎn)設(shè)置。都怪中國(guó)移動(dòng)非要搞什么CMNET、CMWAP,中國(guó)特色的通信公司。
可以自行創(chuàng)建一接入點(diǎn)。以下代碼創(chuàng)建一個(gè)CMWAP接入點(diǎn):
CString strFavoriteXml =
L"<wap-provisioningdoc>"
L"<characteristic type="CM_Networks">"
L"<characteristic type="Test_GPRS">"
L"<parm name="DestId" value="{D1D06580-C364-55ec-9421-6ACF34129C58}" />"
L"</characteristic>"
L"</characteristic>"
L"<characteristic type="CM_GPRSEntries">"
L"<characteristic type="Test_GPRS">"
L"<parm name="DestId" value="{D1D06580-C364-55ec-9421-6ACF34129C58}" />"
L"<characteristic type="DevSpecificCellular">"
L"<parm name="BearerInfoValid" value="1" />"
L"<parm name="GPRSInfoValid" value="1" />"
L"<parm name="GPRSInfoProtocolType" value="2" />"
L"<parm name="GPRSInfoL2ProtocolType" value="PPP" />"
L"<parm name="GPRSInfoAccessPointName" value="cmwap" />"
L"<parm name="GPRSInfoAddress" value="" />"
L"<parm name="GPRSInfoDataCompression" value="1" />"
L"<parm name="GPRSInfoHeaderCompression" value="1" />"
L"<parm name="GPRSInfoParameters" value="" />"
L"</characteristic>"
L"</characteristic>"
L"</characteristic>"
L"<characteristic type="CM_ProxyEntries">"
L"<characteristic type="WAP">"
L"<parm name="SrcId" value="{D1D06580-C364-55ec-9421-6ACF34129C58}" />"
L"<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" />"
L"<parm name="Proxy" value="10.0.0.172:80" />"
L"<parm name="Enable" value="1" />"
L"<parm name="Type" value="1" />"
L"</characteristic>"
L"</characteristic>"
L"</wap-provisioningdoc>";
LPWSTR pszwXMLout = NULL;
HRESULT hr = DMProcessConfigXML(strFavoriteXml, CFGFLAG_PROCESS, &pszwXMLout);
if ( pszwXMLout )
{
delete [] pszwXMLout;
pszwXMLout = NULL;
}
在
http://radovi.javaeye.com/blog/322096這篇博客里談到計(jì)算機(jī)計(jì)算浮點(diǎn)數(shù)時(shí)的舍入誤差,我也在VS2005下進(jìn)行了相應(yīng)的實(shí)驗(yàn),如下代碼:
#include <iostream>

using namespace std;

int main()


{
double f = 4.35;

int a = int(f*100);

cout << a << endl;

system("pause");
}
的確打印出來(lái)的結(jié)果是434.
老男孩給出的解釋是這樣的:
這個(gè)問(wèn)題和二進(jìn)制的表示有很大關(guān)系
簡(jiǎn)單地說(shuō)
計(jì)算機(jī)不能準(zhǔn)確表示諸如1/10等一類分?jǐn)?shù)
我查到了一篇文章:
http://support.microsoft.com/kb/214118/zh-cn,如下,
IEEE 754 標(biāo)準(zhǔn)是一種方法很容易操作的壓縮方式存儲(chǔ)浮點(diǎn)數(shù)。 Intel coprocessors 和實(shí)現(xiàn)浮點(diǎn)數(shù)學(xué)的大多數(shù)基于 PC 的程序使用此標(biāo)準(zhǔn)。
IEEE 754 指定編號(hào),以減少存儲(chǔ)要求,并允許該內(nèi)置二進(jìn)制算法指令來(lái)處理數(shù)據(jù)以相對(duì)較快速的方式的所有微處理器上可用的二進(jìn)制格式存儲(chǔ)。 但是,是簡(jiǎn)單的、 非重復(fù)的十進(jìn)制數(shù)字的某些數(shù)字轉(zhuǎn)換為重復(fù)不能存儲(chǔ)的完美的準(zhǔn)確性的二進(jìn)制數(shù)字。
例如數(shù) 1 / 10 可以表示簡(jiǎn)單小數(shù)的十進(jìn)制數(shù)字系統(tǒng)中:
.1
但是,二進(jìn)制格式中的數(shù)目將十進(jìn)制重復(fù)的二進(jìn)制文件:
0001100011000111000111 (和這樣上)
此數(shù)字無(wú)法表示按有限數(shù)量的空間。 因此,此數(shù)字向下舍入的大約-2.78E-17 存儲(chǔ)。
如果獲取給定的結(jié)果執(zhí)行多個(gè)的算術(shù)運(yùn)算,這些舍入誤差可能具有累積性。
看來(lái)是和二進(jìn)制的表示有很大關(guān)系。
很長(zhǎng)時(shí)間沒(méi)有用Cellular Emulator ,使用上都有一些遺忘. 所以千萬(wàn)別相信自己什么都能記住啊.
摘自:
http://www.cnblogs.com/upto/archive/2007/02/14/649769.html 黎波老師的博客
昨天一直在調(diào)一段代碼,流程是這樣的:我在某個(gè)界面程序里先放置了一個(gè)對(duì)話框A,用戶選擇是或否。選擇是后,會(huì)再?gòu)棾鲆粋€(gè)對(duì)話框B,并觸發(fā)一個(gè)事件,然后再啟動(dòng)一個(gè)對(duì)話框C。這些對(duì)話框是模態(tài)的。
邏輯感覺(jué)很對(duì),沒(méi)有問(wèn)題。但是界面的異常讓我是頭疼。A對(duì)話框選擇是后,B對(duì)話框顯示不完全,在C對(duì)戶框顯示的時(shí)候,文字顯示又有異常。檢查了一下,原來(lái)EndDialog沒(méi)有執(zhí)行成功。使用GetLastError獲取的錯(cuò)誤值也是正確的。
惆悵了……,后來(lái)利用線程,去執(zhí)行那個(gè)事件,界面也正常了。
這是為什么呢?
我個(gè)人覺(jué)得是事件的執(zhí)行影響到了界面的刷新,因?yàn)槲业氖录窃诮缑娴某绦蚶锩鎴?zhí)行的。它對(duì)界面消息進(jìn)行了阻塞,導(dǎo)致界面不能刷新。
這個(gè)問(wèn)題,不是我第一次遇到,以前也遇到過(guò)這樣的問(wèn)題,沒(méi)有總結(jié)。總結(jié)一下,不要再犯了。
Windows Mobile上聯(lián)系人的信息可分別存儲(chǔ)在手機(jī)和SIM卡中。我嘗試過(guò)從手機(jī),即所謂的Outlook聯(lián)系人中讀取聯(lián)系人的信息,但是還沒(méi)有嘗試過(guò)從sim卡中讀取聯(lián)系人的信息,心里也一直默認(rèn)為難吧。今天查了一下,發(fā)現(xiàn)竟然這么簡(jiǎn)單,相比outlook的讀取方式來(lái)說(shuō),簡(jiǎn)單很多。
我們先來(lái)定義個(gè)結(jié)構(gòu)
typedef struct {
TCHAR szName[32];
TCHAR szTelNum[32];
}CONTACTSTRUCT;
要使用SIM的相關(guān)文件,需要包含頭文件 simmgr.h
首先要初始化一下
HSIM lphSim;
HRESULT hr = SimInitialize(0, NULL, 0, &lphSim);
if(FAILED(hr))
{
return;
}
其次獲取總共使用的多少條記錄與總共可以容納的記錄條數(shù)
DWORD dwUsed,dwTotal;
hr = SimGetPhonebookStatus(lphSim, SIM_PBSTORAGE_SIM, &dwUsed, &dwTotal);
然后我們讀取聯(lián)系人的信息
定義一個(gè)
std::vector<CONTACTSTRUCT> vContact;
for(int i=0; i<dwTotal; i++)
{
//對(duì)結(jié)構(gòu)初始話以下
SIMPHONEBOOKENTRY phoneent;
memset(&phoneent,0,sizeof(phoneent));
phoneent.cbSize = sizeof(phoneent);
if (SUCCEEDED(SimReadPhonebookEntry(lphSim, SIM_PBSTORAGE_SIM, i+1, &phoneent)))
{
CONTACTSTRUCT tempContact = {0};
wcsncpy(tempContact.szName, phoneent.lpszText, 31); // 姓名
wcsncpy(tempContact.szTelNum, phoneent.lpszAddress, 31); // 電話
vContact.push_back(tempContact );
}
}
//最后別忘了清理
SimDeinitialize(lphSim);
lphSim = NULL;
這里讀取的時(shí)候用了dwTotal,是因?yàn)槁?tīng)有經(jīng)驗(yàn)的人說(shuō),sim卡的存儲(chǔ)可能不連續(xù),如果用dwUsed的話,可能會(huì)有問(wèn)題。
積累一下,有時(shí)間再好好看一下outlook聯(lián)系人的。
參考文章:
Pocket 中獲取SIM卡中聯(lián)系人信息
http://blog.csdn.net/xulg1984/archive/2008/05/30/2497712.aspx
摘要: 意氣風(fēng)發(fā)、躊躇滿志,不覺(jué)感嘆萬(wàn)千……本文是自己工作6年的經(jīng)歷沉淀或者經(jīng)驗(yàn)提煉,希望對(duì)所有的軟件工程師們有所幫助,早日實(shí)現(xiàn)自己的人生目標(biāo)。本文主要是關(guān)于軟件開(kāi)發(fā)人員如何提高自己的軟件專業(yè)技術(shù)方面的具體建議,前面幾點(diǎn)旨在確定大的方向,算是廢話吧。 1、分享第一條經(jīng)驗(yàn):“學(xué)歷代表過(guò)去、能力代表現(xiàn)在、學(xué)習(xí)力代表未來(lái)。”其實(shí)這是一個(gè)來(lái)自國(guó)外教育領(lǐng)域...
閱讀全文
轉(zhuǎn)自: http://www.cnblogs.com/dotnetearthworm/archive/2009/02/02/1382488.html
.sln:解決方案文件,為解決方案資源管理器提供顯示管理文件的圖形接口所需的信息。
.csproj:項(xiàng)目文件,創(chuàng)建應(yīng)用程序所需的引用、數(shù)據(jù)連接、文件夾和文件的信息。
.aspx:Web 窗體頁(yè)由兩部分組成:視覺(jué)元素(HTML、服務(wù)器控件和靜態(tài)文本)和該頁(yè)的編程邏輯。Visual Studio 將這兩個(gè)組成部分分別存儲(chǔ)在一個(gè)單獨(dú)的文件中。視覺(jué)元素在.aspx 文件中創(chuàng)建。
.ascx:ASP.NET的用戶控件(也叫做“pagelets”),是作為一種封裝了特定功能和行為(這兩者要被用在Web應(yīng)用程序的各種頁(yè)面上)的Web頁(yè)面被開(kāi)發(fā)的。一個(gè)用戶控件包含了HTML、代碼和其他Web或者用戶控件的組合,并在Web服務(wù)器上以自己的文件格式保存,其擴(kuò)展名是*.ascx。ASP.NET里的缺省配置并不允許Web客戶端通過(guò)URL來(lái)訪問(wèn)這些文件,但是這個(gè)網(wǎng)站的其他頁(yè)面可以集成這些文件里所包含的功能。
.aspx.cs:Web 窗體頁(yè)的編程邏輯位于一個(gè)單獨(dú)的類文件中,該文件稱作代碼隱藏類文件(.aspx.cs)。
.cs: 類模塊代碼文件。業(yè)務(wù)邏輯處理層的代碼。
.asax:Global.asax 文件(也叫做 ASP.NET 應(yīng)用程序文件)是一個(gè)可選的文件,該文件包含響應(yīng) ASP.NET 或 HTTP 模塊引發(fā)的應(yīng)用程序級(jí)別事件的代碼。
.config:Web.config 文件向它們所在的目錄和所有子目錄提供配置信息。
.aspx.resx/.resx:資源文件,資源是在邏輯上由應(yīng)用程序部署的任何非可執(zhí)行數(shù)據(jù)。通過(guò)在資源文件中存儲(chǔ)數(shù)據(jù),無(wú)需重新編譯整個(gè)應(yīng)用程序即可更改數(shù)據(jù)。 51aspx.com
.XSD:XML schema的一種.從DTD,XDR發(fā)展到XSD
.pdb:PDB(程序數(shù)據(jù)庫(kù))文件保持著調(diào)試和項(xiàng)目狀態(tài)信息,從而可以對(duì)程序的調(diào)試配置進(jìn)行增量鏈接。
.suo:解決方案用戶選項(xiàng),記錄所有將與解決方案建立關(guān)聯(lián)的選項(xiàng),以便在每次打開(kāi)時(shí),它都包含您所做的自定義設(shè)置。
.asmx:.asmx文件包含 WebService 處理指令,并用作 XML Web services 的可尋址入口點(diǎn) 51aspx。
.vsdisco(項(xiàng)目發(fā)現(xiàn))文件 基于 XML 的文件,它包含為 Web 服務(wù)提供發(fā)現(xiàn)信息的資源的鏈接 (URL-51aspx )。
.htc:一個(gè)HTML文件,包含腳本和定義組件的一系列HTC特定元素.htc提供在腳本中implement組件的機(jī)制
來(lái)源: .Net中文社區(qū)(http://www.aspxcs.net/)
上面是我看到的一些介紹,這里再補(bǔ)充一些:
.clw 支持ClassWizard
.ncb 支持ClassView
.opt 保存工作空間的配置
.aps 支持ResourceView
.bsc 瀏覽器信息文件
.dsp 項(xiàng)目文件
.dsw 工作空間文件
.mak 外部的創(chuàng)建文件
.plg 建立日志文件
對(duì)于warning C4005: 'WINVER' : macro redefinition的處理
在Windows.h中有如下定義:
#ifndef WINVER
#define WINVER 0x0400
#endif
如果你把#define WINVER 0x500置于#include <windows.h>之前,就不會(huì)出現(xiàn)警告.
摘自:http://topic.csdn.net/t/20020103/15/456195.html