锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
涓縐嶆柟寮忔槸瀹夎.net platform sdk,閲岄潰灝變細鍖呭惈GDI+鐨勭浉鍏沖簱鏂囦歡鍜屽ご鏂囦歡
鑻ユ槸涓嶆兂涓轟簡GDI+灝卞畨瑁?NET PLATFORM SDK,閭e氨鍙互涓嬭澆鍗曠嫭鐨勫簱鏂囦歡鍜屽ご鏂囦歡,
涓嬭澆鍦板潃:http://www.codersource.net/samples/mfcgdiplus.zip涓嬭澆鍚?灝嗘枃浠惰В
鍘嬬緝鍒版煇涓洰褰?鐒跺悗灝哣C鐨刬nclude鍜宭ib鐩綍鍒嗗埆鎸囧悜鍒氭墠鐨勭洰褰曚腑鐨刲ib鍜宨nclude
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_ALLOCATE_BUFFER,
NULL,lVal,NULL,(LPTSTR)&hLocal,0,NULL);
絎竴涓弬鏁版槸鏍囧織,鍛婅瘔榪欎釜FormatMessage鍑芥暟,鎴戞兂瑕佺殑鐗圭偣.
絎笁涓弬鏁版槸DWORD(unsigned long)綾誨瀷
絎簲涓弬鏁版槸LPTSTR(榪欎釜綾誨瀷鍗沖彲鐢ㄤ笌ANSI,涔熷厠鐢ㄤ笌Unicode).鐢ㄦ潵鎺ユ敹涓嶮essageID 瀵瑰簲鐨凞escription.
娉ㄦ剰:hLocal鏄疕LOCAL綾誨瀷涔熷氨鏄疕ANDLE綾誨瀷,闇瑕佸皢浠栬漿鎹㈠埌LPTSTR.
絎叚涓弬鏁版槸榪欎釜buffer鐨勫ぇ灝?鐢變簬璁劇疆浜咶ORMAT_MESSAGE_ALLOCATE_BUFFER閭d箞浠栧氨鍙互緗?浜?
渚嬪錛?
char szError[256];
DWORD dwError = GetLastError();
FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
0,
0,
szError,
sizeof(szError),
NULL);
AfxMessageBox(szError);
=======================================================================================
FormatMessage鍔熻兘灝辨槸灝咷etLastError寰楀埌鐨勯敊璇俊鎭紙榪欎釜閿欒淇℃伅鏄暟瀛椾唬鍙鳳級杞寲鎴愬瓧絎︿覆淇℃伅鐨勫嚱鏁?br>FormatMessage()
鍑芥暟FormatMessage澹版槑濡備笅錛?br>WINBASEAPI
DWORD
WINAPI
FormatMessageA(
DWORD dwFlags,//閿欒淇℃伅綾誨瀷鏍囧織
LPCVOID lpSource,//鎸囧畾鏈湴淇℃伅瀹氫箟 鍏朵緷璧栦簬絎竴涓弬鏁扮殑璁劇疆
DWORD dwMessageId,//鎸囧畾琚姹傜殑娑堟伅鏍囩ず,濡傛灉dwFlags璁劇疆涓篎ORMAT_MESSAGE_FROM_STRING 榪欎釜鍙傛暟灝嗚蹇界暐
DWORD dwLanguageId,//鎸囧畾琚姹傜殑娑堟伅鐨勮璦鏍囩ず
LPSTR lpBuffer,//鐢ㄦ潵淇濆瓨鏍煎紡璇濆悗鐨勬秷鎭瓧絎︿覆鐨勫湴鍧
DWORD nSize,//濡傛灉絎竴涓弬鏁頒負鎸囧畾FORMAT_MESSAGE_ALLOCATE_BUFFER 榪欎釜鍙傛暟灝辨槸瀛楃涓茬殑鏈澶ч暱搴?br> va_list *Arguments
);
WINBASEAPI
DWORD
WINAPI
FormatMessageW(
DWORD dwFlags,
LPCVOID lpSource,
DWORD dwMessageId,
DWORD dwLanguageId,
LPWSTR lpBuffer,
DWORD nSize,
va_list *Arguments
);
#ifdef UNICODE
#define FormatMessage FormatMessageW
#else
#define FormatMessage FormatMessageA
#endif // !UNICODE
璋冪敤鍑芥暟鐨勪緥瀛愬涓嬶細
#001 //緋葷粺閿欒淇℃伅鎻愮ず銆?br>#002 //钄″啗鐢?2007/11/28 QQ:9073204 娣卞湷
#003 void TestErrorInfo(void)
#004 {
#005 //榪涜鍑洪敊銆?br>#006 if (!CreateDirectory(_T("c:\\"),0))
#007 {
#008 TCHAR szBuf[128];
#009 LPVOID lpMsgBuf;
#010 DWORD dw = GetLastError();
#011
#012 FormatMessage(
#013 FORMAT_MESSAGE_ALLOCATE_BUFFER |
#014 FORMAT_MESSAGE_FROM_SYSTEM,
#015 NULL,
#016 dw,
#017 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
#018 (LPTSTR) &lpMsgBuf,
#019 0, NULL );
#020
#021 wsprintf(szBuf,
#022 _T("%s 鍑洪敊淇℃伅 (鍑洪敊鐮侊紳%d): %s"),
#023 _T("CreateDirectory"), dw, lpMsgBuf);
#024
#025 LocalFree(lpMsgBuf);
#026
#027 //杈撳嚭鎻愮ず銆?br>#028 OutputDebugString(szBuf);
#029 }
#030
#031 }
璋冪敤鍚庤緭鍑轟笅闈㈢殑鎻愮ず淇℃伅錛?br>CreateDirectory 鍑洪敊淇℃伅 (鍑洪敊鐮侊紳5): 鎷掔粷璁塊棶銆?/p>
涓銆佷嬌鐢╒isual Studio.NET璋冪敤WebService
銆銆寰堝嬈$湅鍒扮綉鍙嬭璁篤C涓皟鐢╓ebService鐨勯棶棰橈紝鍏跺疄鍦╒isual Studio.Net錛堜笅縐癡S.NET錛夊強鍏朵互鍚庣殑鐗堟湰涓皟鐢╓ebService宸茬粡鍙樺緱鐩稿綋綆鍗曘備綘鎵瑕佸仛鐨勫彧鏄滄壘鍒?WebService鐨勫彂甯冨湴鍧鈥濓紝鐒跺悗灝嗗叾寮曠敤娣誨姞鍒癡C欏圭洰涓嵆鍙傛帴涓嬫潵VS.NET甯綘鐢熸垚鐨勪唬鐞嗙被錛屼細甯綘鎼炲畾涓澶у爢鐨勯夯鐑︿簨錛屽寘鎷細緗戠粶璋冪敤銆佹暟鎹紶閫掔瓑絳夛紱浠涔圫OAP鍟娿佺綉緇滃晩錛屼綘閮藉彲浠ヤ笉綆°?
浜屻佹墭綆¤繕鏄潪鎵樼錛?
銆銆瀵逛簬VS.NET鐢熸垚鐨凜++浠g悊綾伙紝寰堝浜洪兘璁や負蹇呴』浣跨敤鎵樼浠g爜錛屽叾瀹炰簨瀹炲茍闈炶繖鏍楓俈S.NET鍙互鐢熸垚鎵樼鍜岄潪鎵樼涓や釜鐗堟湰鐨勪唬鐞嗙被錛岃嚦浜庤涓嶈浣跨敤鎵樼錛岄偅鏄綘鑷繁鐨勯夋嫨銆?br>銆銆鍏蜂綋鍦拌錛屽浜庝嬌鐢ㄦ墭綆$殑紼嬪簭錛孷S.NET浼氱敓鎴愬熀浜庢墭綆$被搴撶殑浠g悊綾伙紱浣犲彲浠ュ湪鐢熸垚鐨勪唬鐮佷腑鎵懼埌綾葷殑琛岋細public System::Web::Services::Protocols::SoapHttpClientProtocol銆傚浜庝笉浣跨敤鎵樼鐨勭▼搴忥紝VS.NET浼氱敓鎴愬熀浜嶢TL鐨勪唬鐮侊紱浣犲彲浠ュ湪鐢熸垚鐨勪唬鐮佷腑鎵懼埌綾諱技鐨勮錛歵emplate <typename TClient = CSoapSocketClientT<> >銆?br>鎴戞兂錛屽鏋滀笉鏄‘瀹為渶瑕佺殑璇濓紝澶ч儴浠戒漢浼氶夋嫨闈炴墭綆$殑鏂瑰紡錛屽洜涓鴻繖璧風爜鍙互璁╂垜浠殑紼嬪簭鑴辯.Net Framework榪愯銆?
涓夈佸姩鎬佽緗甒ebService璋冪敤鍦板潃
銆銆榪欎篃鏄綉涓婅璁哄緱姣旇緝澶氱殑涓涓棶棰橈紝鍥犱負WebSercie鐨勫湴鍧涓嶅彲鑳戒竴鎴愪笉鍙橈紝鐗瑰埆鏄湪寮鍙戣皟璇曠殑鏃跺欍傚垢榪愮殑鏄紝鍦ㄤ袱縐嶇増鏈殑浠g悊綾諱腑錛岄兘鍙互闈炲父鏂逛究鍦板湪榪愯鏃惰緗甒ebService鐨勫湴鍧銆傦紙鍏蜂綋鍋氭硶鍙傝瀹炰緥錛?
鍥涖佺▼搴忕ず渚嬶紙闈炴墭綆★級
TerminateThread(m_pDeadLockCheckThread->m_hThread, 0);
鑰屼笉鏄?/p>
TerminateThread(m_pDeadLockCheckThread, 0);
2銆佹墍鏈塛M_TIMER鐨勬墽琛岋紝閮芥槸鐢ㄧ晫闈㈢嚎紼嬪湪瀹屾垚鐨勩?/p>
void CTransferAgentAccountDlg::OnRclickListAgentAc(NMHDR* pNMHDR, LRESULT* pResult)
{
POSITION pos;
CMenu popmenu, *psubMenu = NULL;
CPoint oPoint;
pos = m_ListAgent.GetFirstSelectedItemPosition();
if(!pos)
{
return;
}
GetCursorPos( &oPoint);
popmenu.LoadMenu(IDR_MENU_AGENT);
psubMenu = popmenu.GetSubMenu(0);
psubMenu->TrackPopupMenu(TPM_LEFTALIGN, oPoint.x, oPoint.y, this);
*pResult = 0;
}
delete menu
psubMenu->DeleteMenu(ID_MEMU_FIFO_IB_ADD, MF_GRAYED);
psubMenu->DeleteMenu(ID_MEMU_FIFO_IB_DELETE, MF_GRAYED);
psubMenu->DeleteMenu(ID_MEMU_FIFO_IB_EDIT, MF_GRAYED);
enable menu
psubMenu->EnableMenuItem(ID_MEMU_FIFO_IB_VIEW, MF_GRAYED);