锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区三区中文字幕在线,久久中文精品,亚洲国产综合视频在线观看http://www.shnenglu.com/steven/category/5444.htmlstevenzh-cnWed, 06 Jan 2010 17:02:47 GMTWed, 06 Jan 2010 17:02:47 GMT60FILE 鎸囬拡浼犻掔粰DLL鏃犳硶鎿嶄綔鎶ヨ嚧鍛介敊璇?http://www.shnenglu.com/steven/articles/104829.htmlstevenstevenTue, 05 Jan 2010 07:39:00 GMThttp://www.shnenglu.com/steven/articles/104829.htmlhttp://www.shnenglu.com/steven/comments/104829.htmlhttp://www.shnenglu.com/steven/articles/104829.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/104829.htmlhttp://www.shnenglu.com/steven/services/trackbacks/104829.html涓婄綉鎼滅儲(chǔ),鎵懼埌鐩稿叧鏂囩珷: FILE鎸囬拡浼犻掔粰DLL涓轟綍鏃犳硶姝g‘鎿嶄綔錛嶏紞闅愬紡閲嶅瀹氫箟鐨勯櫡闃?(http://blog.chinaunix.net/u2/79248/showart_1191453.html)

  闂鍘熷洜錛氬嚭鐜頒簡(jiǎn)闅愬紡閲嶅瀹氫箟銆俥xe 鍜孌LL涓噸澶嶅畾涔塤iob
  瑙e喅鍔炴硶錛氱紪璇戝伐紼嬮兘璁劇疆鎴怐EBUG MTD(Multi-threaded Debug DLL (/MDd))錛坲se MFSas static  library )
  鐜錛欴L(VS2005錛?exe (VC6.0,VS2005)

steven 2010-01-05 15:39 鍙戣〃璇勮
]]>
紼嬪簭鎺у埗涓插彛浣滀負(fù)涓涓紑鍏?/title><link>http://www.shnenglu.com/steven/articles/101891.html</link><dc:creator>steven</dc:creator><author>steven</author><pubDate>Wed, 25 Nov 2009 02:40:00 GMT</pubDate><guid>http://www.shnenglu.com/steven/articles/101891.html</guid><wfw:comment>http://www.shnenglu.com/steven/comments/101891.html</wfw:comment><comments>http://www.shnenglu.com/steven/articles/101891.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/steven/comments/commentRss/101891.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/steven/services/trackbacks/101891.html</trackback:ping><description><![CDATA[閫氳繃涓插彛鐨勫紑鍜屽叧,鎴戜滑鍙互寰楀埌涓嶅悓鐨勮緭鍑虹數(shù)鍘?浠庤屽彲浠ュ疄鐜板紑鍏崇殑鍔熻兘.<br><br>涓插彛涓鍏?Pin,騫沖父杈冨父鐢ㄧ殑鏄疪S232,TX 鍜孯X,鍋氬紑鍏充嬌鐢ㄧ殑鏃跺欑敤鍒癉TR 鍜孯TS,涓鑸槸絎洓鍜岀涓働in.<br><br>鍦ㄦ墦寮涓插彛鐨勬椂鍊欏繀欏籈nable DTR鍜孯TS銆?br><br>dcb.fDtrControl = DTR_CONTROL_ENABLE; <br>dcb.fRtsControl= RTS_CONTROL_ENABLE;<br><br>DTR錛孯TS Pin 鍦ㄤ覆鍙e紑鍜屽叧鐨勬椂鍊欑數(shù)鍘嬪垎鍒負(fù)姝h礋11 浼? 濡傛鍙互鍋氫袱涓紑鍏沖疄鐜板洓縐嶇姸鎬併? <img src ="http://www.shnenglu.com/steven/aggbug/101891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/steven/" target="_blank">steven</a> 2009-11-25 10:40 <a href="http://www.shnenglu.com/steven/articles/101891.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CreateFileMapping() get error 6 Invalide handle CEhttp://www.shnenglu.com/steven/articles/87923.htmlstevenstevenWed, 17 Jun 2009 15:41:00 GMThttp://www.shnenglu.com/steven/articles/87923.htmlhttp://www.shnenglu.com/steven/comments/87923.htmlhttp://www.shnenglu.com/steven/articles/87923.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/87923.htmlhttp://www.shnenglu.com/steven/services/trackbacks/87923.html浠婂ぉ灝濊瘯鐢–reateFileMapping() 鏄犲皠鏂囦歡鐨勬柟娉曟潵澶勭悊鏂囦歡錛屾病鎯沖埌鍒氬紑濮嬪氨閬囧埌闂?shù)簡(jiǎn)銆?br>綆鍗曟弿榪幫細(xì)
      HANDLE hFile= CreateFile(L"\\123.txt",, GENERIC_READ | GENERIC_WRITE, 0, NULL, 
                     OPEN_EXISTING FILE_ATTRIBUTE_NORMAL, NULL);
                     ...
      HANDLE hMapFile =CreateFileMapping( hFile, NULL,   PAGE_READWRITE, 0,100, NULL); 
      if (hMapFile == NULL) {
             printf("hMapFile is NULL: last error: %d\n", GetLastError() );
             return (2);
      }
        ....

      CloseHandle(hFile);
      CloseHandle(hMapFile);

      閿欒浠g爜 6錛?#8220;鍙ユ焺鏃犳晥”錛岃皟璇曟鏌File 鍙ユ焺錛岀‘瀹炴湁鏁堛?br>
     鍦≒C涓婂伐浣滄甯哥殑浠g爜錛岀Щ妞嶅埌PDA涓婁細(xì)鍑虹幇榪欎釜闂錛岀浉褰撶殑闅懼彈浜猴紝鍞竴鐨勫湪涓涓狤鏂囩綉绔欑湅鍒頒竴綃囨枃绔犳湁璇村埌錛孋E,鍜孭PC涓婁笉鑳界敤CreateFile()寰楀埌鐨勫彞鏌勪綔涓篊reateFileMapping()鐨勮緭鍏ワ紝璇ユ庝箞瑙e喅鍗存病鏈夌湅鍒頒笅鏂囥?br>

      闂鍏堟斁鍦ㄨ繖浜?jiǎn)锛屽鏋滄湁楂樻墜閬囧埌杩嚲c諱技闂錛岃涓嶅悵鎸囨暀錛岀暀涓嬭剼鍗般?br>

浠旂粏鐪婱SDN錛屽師鏉ユ槸鑷繁鎶婅嚜宸辯粰蹇芥?zhèn)犱簡(jiǎn)锛屼笂闈㈡槑鏄庡啓浜?jiǎn)瑕佺敤CreateFileForMapping()鏉ュ緱鍒板彞鏌勶紝鑷繁涓鐩存病鏈夊皬蹇?jī)鐪?



steven 2009-06-17 23:41 鍙戣〃璇勮
]]>
鍏充簬 hPreInstance 涓嶤reateMutexhttp://www.shnenglu.com/steven/articles/68264.htmlstevenstevenMon, 01 Dec 2008 02:20:00 GMThttp://www.shnenglu.com/steven/articles/68264.htmlhttp://www.shnenglu.com/steven/comments/68264.htmlhttp://www.shnenglu.com/steven/articles/68264.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/68264.htmlhttp://www.shnenglu.com/steven/services/trackbacks/68264.html"鏄惁鏌愪釜紼嬪紡鐨勭涓涓墽琛屽疄浣?鍙互鐢?WinMain 鐨勫弬鏁癶PreInstance鏉ュ垽鏂?"---渚嵎 MFC 鍩虹緙栫▼


In both Release and debug 妯″紡,hPreInstance姣忔閮戒細(xì)寰楀埌0X00000000,騫朵笉鍥犱負(fù)鏈夊彟澶栦竴涓疄浣撶殑瀛樺湪鑰屽緱鍒板埆鐨勮緭鍏?浣嗘槸CreateMutex()鍙互渚︽祴鍒版槸涓嶆槸絎竴涓疄浣?

涓嶇煡閬撴槸鎴戠悊瑙g殑涓嶅榪樻槸榪欑璇存硶鏈夎錛?br>閭d箞錛孋reateMutex() 鍙堟槸鎬庝箞鏉ュ疄鐜扮殑鍛紵

鏈夌偣鏂珷鍙栦箟浜?jiǎn)锛屾枃绔犲悗闈㈡湁璇村垘图?xì)

  "浠ヤ笂鎯呭喌鍦╓indows NT鍜學(xué)indows 95 涓暐鏈夊彉鍖栫敱浜嶹in32 紼嬪紡鐨勬瘡涓墽琛屽疄浣?閮芥湁鑷繁鐨勫湴鍧絀洪棿,鍏辯敤涓涓紿楃被鍒凡緇忎笉鍙兘,hPreInstance 姘歌繙涓洪浂銆?



steven 2008-12-01 10:20 鍙戣〃璇勮
]]>
鍗佽繘鍒舵暟杞寲涓轟簩榪涘埗錛岀湅閲岄潰鏈夊灝戜釜1http://www.shnenglu.com/steven/articles/65996.htmlstevenstevenWed, 05 Nov 2008 01:05:00 GMThttp://www.shnenglu.com/steven/articles/65996.htmlhttp://www.shnenglu.com/steven/comments/65996.htmlhttp://www.shnenglu.com/steven/articles/65996.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/65996.htmlhttp://www.shnenglu.com/steven/services/trackbacks/65996.html#include "stdafx.h"
#include "stdio.h"
#include <stdlib.h>
#include <process.h>


int main(int argc, char* argv[])
{
 int countx = 0,
  x=9991;
 char szBinary[64]={0};
 printf("please input an int data\n",countx);
 scanf("%d",&x);

 itoa(x,szBinary,2);
 printf("x=%d\t%s\n",x,szBinary);
 while(x)
 {
  countx ++;
  x = x&(x-1);
  itoa(x,szBinary,2);
  printf("x=%d\t%s\n",x,szBinary);
 }
 printf("countx=%d\n",countx);
 system("pause");
// printf("press any key to quit\n",countx);
 return 0;
}

綆楁硶鍥虹劧濂?浣嗘槸涓嶅緢鐩磋鍝?br>鍏跺疄鎴戣寰楀彧瑕佽漿鍖栨垚瀛楃涓蹭箣鍚?鐩存帴鎵鵑噷闈?1"瀛楃灝卞彲浠ヤ簡(jiǎn),鍚屾牱鐨勬墿灞曟ф洿濂?鍙互杞寲鎴愰殢鎰忚繘鍒?鎵鵑殢鎰忔暟瀛楃殑涓暟 .



steven 2008-11-05 09:05 鍙戣〃璇勮
]]>
閽╁瓙鍑芥暟http://www.shnenglu.com/steven/articles/63575.htmlstevenstevenThu, 09 Oct 2008 10:15:00 GMThttp://www.shnenglu.com/steven/articles/63575.htmlhttp://www.shnenglu.com/steven/comments/63575.htmlhttp://www.shnenglu.com/steven/articles/63575.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/63575.htmlhttp://www.shnenglu.com/steven/services/trackbacks/63575.html  
1 灞閮ㄩ挬瀛愬湪浣跨敤閽╁瓙鐨勭▼搴忎腑瀹氫箟錛屼嬌鐢紝鍙兘閽╀嬌鐢ㄨ繖涓挬瀛愮殑紼嬪簭鐨勬秷鎭紝鏈変簺閽╁瓙鍙兘鍋氬叏灞閽╁瓙銆傚叿浣撹MSDN銆?br>
Hook Scope
WH_CALLWNDPROC Thread or global
WH_CALLWNDPROCRET Thread or global
WH_CBT Thread or global
WH_DEBUG Thread or global
WH_FOREGROUNDIDLE Thread or global
WH_GETMESSAGE Thread or global
WH_JOURNALPLAYBACK Global only
WH_JOURNALRECORD Global only
WH_KEYBOARD Thread or global
WH_KEYBOARD_LL Global only
WH_MOUSE Thread or global
WH_MOUSE_LL Global only
WH_MSGFILTER Thread or global
WH_SHELL Thread or global
WH_SYSMSGFILTER Global only
浣跨敤閿洏閽╁瓙鍙互瀹屽叏閽╅櫎娑堟伅錛屼嬌寰楃洰鏍囩▼搴忓緱涓嶅埌閿洏娑堟伅錛屽湪瀹夎閽╁瓙鐨勬椂鍊欏鐞嗗畬浜?jiǎn)锛屼笉鎶婂畠浜ぞl欎笅涓涓挬瀛愩?br>    return CallNextHookEx() 鐨勬椂鍊欑洿鎺eturn 1,娉ㄦ剰涓嶈兘榪斿洖0銆?br>鍓╀笅涓涓皬闂錛岄挬瀛愰挬鍒扮殑娑堟伅涓紝鍙互浣跨敤GetKeyNameText(lParam,szText,iLen)寰楀埌閿悕錛屼粩緇嗙湅浜?jiǎn)lParam鐨勮鏄庡拰鍊鹼紝瀹炲湪涓嶆槑鐧芥庝箞澶勭悊鍑烘潵鐨勶紝鍙兘搴曞眰榪樻湁涓搴旇〃涔嬬被鐨勪笢瑗垮惂銆?

steven 2008-10-09 18:15 鍙戣〃璇勮
]]>
API 寰妗岄潰涓婂啓涓滆タ錛屾妸鍥劇墖寰涓婅創(chuàng)http://www.shnenglu.com/steven/articles/62820.htmlstevenstevenFri, 26 Sep 2008 07:44:00 GMThttp://www.shnenglu.com/steven/articles/62820.htmlhttp://www.shnenglu.com/steven/comments/62820.htmlhttp://www.shnenglu.com/steven/articles/62820.html#Feedback3http://www.shnenglu.com/steven/comments/commentRss/62820.htmlhttp://www.shnenglu.com/steven/services/trackbacks/62820.html 鍙槸寰妗岄潰涓婂啓涓嬈?鍒鋒柊灝辨病鏈変簡(jiǎn),濡傛灉闇瑕佷竴鐩存樉紺虹殑璇?灝遍渶瑕佽繛緇殑鍐欏拰鐢諱簡(jiǎn).鍋跺皵鐪嬩簡(jiǎn)涓涓?榪樻湁涓嶅皯浜鴻俯浜?jiǎn)涓婃?鎬庝箞灝變笉鐣欎釜鑴氬嵃鍛?

#include "stdafx.h"
#include "stdio.h"
#include "TCHAR.H"


HWND  hWndDesk;
HDC   hdc,hdcmem;//hdc1,
BITMAP  bm;
HBITMAP  hOldBmp;
HPEN  hPen;

HANDLE  hBitmapImag;

TCHAR  szTemp[MAX_PATH]={0};

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{

 char* cpText   ="鍦ㄦ闈㈣緭鍑轟緥紼?;   //瑕佹樉紺虹殑瀛楃涓?nbsp; 
 hWndDesk=GetDesktopWindow();
 if(hWndDesk==NULL)
  MessageBox(NULL,"GetDesktopWindow() fail",NULL,0);
 hPen=CreatePen(PS_SOLID,20,RGB(255,0,0));
 if(hPen==NULL) MessageBox(NULL,"CreatePen() fail",NULL,0);

 //hdc1=GetDC(hWndDesk);
 hdc=GetWindowDC(hWndDesk);  //hdc1 hdc 鐨勭粨鏋滀笉涓鏍鳳紝鍙ユ焺涓嶄竴鏍鳳紝浣跨敤hdc1鏄劇ず灝嗘病鏈夋晥鏋?鍘熷洜GetDC()寰楀埌鐨勫彧鏄鎴峰尯鐨勫彞鏌?鑰孏etWindowDC()寰楀埌鐨勬槸鍖呮嫭闈炲鎴峰尯鐨勬暣涓獥鍙g殑鍙ユ焺,浣犲彲浠ュ湪鏍囬鏍忔搷浣?br> //GetWindowText(hWndDesk,szTemp,MAX_PATH);

  TextOut(hdc,100,100, cpText, strlen(cpText));  //鍦ㄦ闈笂鏄劇ず瀛楃涓?nbsp;

  hBitmapImag=(HBITMAP)LoadImage(NULL,TEXT("c:\\pic.bmp"),IMAGE_BITMAP,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE);
 if(!hBitmapImag) MessageBox(NULL,TEXT("LoadImage() fail"),NULL,0);
 GetObject( hBitmapImag, sizeof( BITMAP), (LPVOID)&bm);
  
 hdcmem=CreateCompatibleDC(hdc);  

 hOldBmp =(HBITMAP)SelectObject(hdcmem,hBitmapImag);
 BitBlt(hdc,100,100,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY);   
 SelectObject(hdc, hOldBmp);

 DeleteObject(hPen);
 ReleaseDC(hWndDesk,   hdc);

 return 0;
}



steven 2008-09-26 15:44 鍙戣〃璇勮
]]>
EVC 涓嬬粨鏉熻繘紼?/title><link>http://www.shnenglu.com/steven/articles/59187.html</link><dc:creator>steven</dc:creator><author>steven</author><pubDate>Mon, 18 Aug 2008 02:24:00 GMT</pubDate><guid>http://www.shnenglu.com/steven/articles/59187.html</guid><wfw:comment>http://www.shnenglu.com/steven/comments/59187.html</wfw:comment><comments>http://www.shnenglu.com/steven/articles/59187.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/steven/comments/commentRss/59187.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/steven/services/trackbacks/59187.html</trackback:ping><description><![CDATA[<p>緇忓父浣跨敤紼嬪簭緇撴潫榪涚▼錛屾湁鏃跺欎細(xì)閬囧埌緇撴潫榪涚▼澶辮觸鐨勬儏鍐碉紝涓嶇煡閬撹鎬庝箞鍔炰簡(jiǎn)錛熷笇鏈涘摢浣嶉珮鎵嬬湅鍒扮粰涓В鍐崇殑鍔炴硶銆?br>鍦╒C緙栧啓PC绔▼搴?鍙互閫氳繃鑾峰彇綆$悊鏉冮檺鏉ュ彇寰楃粨鏉熻繘紼嬬殑鏉冮檺,PDA涓婁笉鐭ラ亾濡備綍鍋?<br><br>榪欐槸浣跨敤鐨勪唬鐮併?br>BOOL PDATerminateProc(CString ProcToKill)<br>{<br> int cntTerminate=0;<br> HANDLE hSnapshot=INVALID_HANDLE_VALUE;<br> PROCESSENTRY32 procEntry;<br> procEntry.dwSize=sizeof(PROCESSENTRY32);<br> CString szProcName;<br> hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);<br> if (hSnapshot)<br> {<br>  if (Process32First(hSnapshot,&procEntry))<br>  {<br>   szProcName=procEntry.szExeFile;<br>   if (!szProcName.CompareNoCase(ProcToKill))<br>   {<br>    HANDLE hProcess = OpenProcess(<br>     PROCESS_TERMINATE,FALSE,procEntry.th32ProcessID);<br>    if(hProcess)<br>    {<br>       if(!TerminateProcess(hProcess,0))<br>       {<br>       CString strError;<br>       strError.Format(_T("TerminateProcess() fail\n Error:%d"),GetLastError());<br>       MessageBox(NULL,strError,L"error",MB_OK|MB_ICONINFORMATION);<br>       }<br>       cntTerminate++;<br>    }<br>    else<br>    {<br>     CString strError;<br>     strError.Format(_T("OpenProcess() fail\n Error:%d"),GetLastError());<br>     if(GetLastError()==ERROR_ACCESS_DENIED)<br>        strError=_T("error!")+strError;<br>     MessageBox(NULL,strError,L"error",MB_OK|MB_ICONINFORMATION);<br>    }<br>   }<br>  }<br>  while(Process32Next(hSnapshot,&procEntry))<br>  {<br>   szProcName=procEntry.szExeFile;<br>   if (!szProcName.CompareNoCase(ProcToKill))<br>   {<br>    HANDLE hProcess = OpenProcess(<br>     PROCESS_TERMINATE,FALSE,procEntry.th32ProcessID);<br>    if(hProcess)<br>    {<br>       if(!TerminateProcess(hProcess,0))<br>       {<br>       CString strError;<br>       strError.Format(_T("TerminateProcess() fail\n Error:%d"),GetLastError());<br>       MessageBox(NULL,strError,L"error",MB_OK|MB_ICONINFORMATION);<br>       }<br>    }<br>    else<br>    {<br>     CString strError;<br>     strError.Format(_T("OpenProcess() fail\n Error:%d"),GetLastError());<br>     if(GetLastError()==ERROR_ACCESS_DENIED)<br>        strError=_T("Error!")+strError;<br>     MessageBox(NULL,strError,L"error",MB_OK|MB_ICONINFORMATION);<br>    }<br>    if (cntTerminate++>=1)<br>    {<br>     break;<br>    }<br>   }//else MessageBox(NULL,procEntry.szExeFile,L"debug",MB_OK|MB_TOPMOST);<br>  }<br>//  CloseToolhelp32Snapshot(hSnapshot);<br>  CloseHandle(hSnapshot);<br> }<br> return (cntTerminate>0);<br>}<br><br>榪斿洖鐨勯敊璇槸ERROR 5:鎷掔粷璁塊棶.</p> <img src ="http://www.shnenglu.com/steven/aggbug/59187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/steven/" target="_blank">steven</a> 2008-08-18 10:24 <a href="http://www.shnenglu.com/steven/articles/59187.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀹氭椂鍏抽棴鐨勫璇濇紿楀彛http://www.shnenglu.com/steven/articles/52996.htmlstevenstevenThu, 12 Jun 2008 03:41:00 GMThttp://www.shnenglu.com/steven/articles/52996.htmlhttp://www.shnenglu.com/steven/comments/52996.htmlhttp://www.shnenglu.com/steven/articles/52996.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/52996.htmlhttp://www.shnenglu.com/steven/services/trackbacks/52996.html鎯蟲兂涔熸尯綆鍗曠殑.
璇︾粏瑙佷唬鐮?(鍦╒C6.0涓祴璇昈K,WINDOWS XP).
 /***********************************************************************  
              THIS   CODE   AND   INFORMATION   IS   PROVIDED   "AS   IS"   WITHOUT   WARRANTY   OF  
              ANY   KIND,   EITHER   EXPRESSED   OR   IMPLIED,   INCLUDING   BUT   NOT   LIMITED   TO  
              THE   IMPLIED   WARRANTIES   OF   MERCHANTABILITY   AND/OR   FITNESS   FOR   A  
              PARTICULAR   PURPOSE.  
   
              Copyright 1998 Microsoft Corporation. All Rights Reserved.  
        ***********************************************************************/    
   
        /***********************************************************************  
          *  
          *     MsgBox.c  
          *  
          *     Abstract:  
          *  
          *             Sample   program   to   demonstrate   how   a   program   can   display   a  
          *             timed   message   box.  
          *  
          **********************************************************************/    
   
        #define   STRICT  
        #include   <windows.h>  
   
        /**********************************************************************  
          *  
          *             Overview  
          *  
          *             The   key   to   creating   a   timed   message   box   is   exiting   the   dialog  
          *             box   message   loop   internal   to   the   message   box.   Since   the  
          *             message   loop   for   a   message   box   is   part   of   USER,   you   cannot  
          *             modify   it   without   using   hooks   and   other   such   methods.  
   
          *  
          *             However,   all   message   loops   exit   when   they   receive   a  
          *             WM_QUIT   message.   Furthermore,   a   nested   message   loop,   if   it  
          *             receives   a   WM_QUIT   message,   must   break   the   loop   and   then   re-post  
          *             the   quit   message   so   that   the   next   outer   layer   can   process   it.  
          *  
          *             Therefore,   you   can   get   the   nested   message   loop   to   exit   by  
          *             calling   PostQuitMessage().   The   nested   message   loop   will  
          *             clean   up   and   post   a   new   quit   message.   When   the   MessageBox  
          *             returns,   you   peek   to   see   if   there   is   a   quit   message.   If   so,  
          *             then   it   means   that   the   message   loop   was   abnormally   terminated.  
          *             You   also   consume   the   WM_QUIT   message   instead   of   re-posting   it  
          *             so   that   the   application   continues   running.  
          *  
          *             Essentially,   you   have   "tricked"   the   nested   message   loop   into  
          *             thinking   that   the   application   is   terminating.   When   it   returns,  
          *             you   "eat"   the   quit   message,   effectively   canceling   the   fake  
          *             quit   that   you   generated.  
          *  
          **********************************************************************/    
   
        /**********************************************************************  
          *  
          *     MessageBoxTimer  
          *  
          *             The   timer   callback   function   that   posts   the   fake   quit   message,  
          *             which   causes   the   message   box   to   exit   because   it   thinks   that  
          *             the   application   is   exiting.  
          *  
   
          **********************************************************************/    
   
        void  CALLBACK   MessageBoxTimer(HWND   hwnd,   UINT   uiMsg,   UINT   idEvent,   DWORD   dwTime)  
        {  
                PostQuitMessage(0);  
        }  
   
        /***********************************************************************  
          *  
          *     TimedMessageBox  
          *  
          *             The   same   as   the   standard   MessageBox,   except   it   also   accepts  
          *             a   timeout.   If   the   user   does   not   respond   within   the  
          *             specified   timeout,   then   the   value   0   is   returned   instead  
          *             of   one   of   the   ID*   values.  
          *  
          **********************************************************************/    
   
        UINT  TimedMessageBox(HWND   hwndParent, LPCTSTR   ptszMessage,LPCTSTR   ptszTitle,UINT   flags, DWORD   dwTimeout)  
        {  
                UINT   idTimer;  
                UINT   uiResult;  
                MSG   msg;  
   
                /*  
                  *     Set   a   timer   to   dismiss   the   message   box.  
                */    
                idTimer   =   SetTimer(NULL,   0,   dwTimeout,   (TIMERPROC)MessageBoxTimer);  
   
                uiResult   =   MessageBox(hwndParent,   ptszMessage,   ptszTitle,   flags);  
   
                /*  
                  *     Finished   with   the   timer.  
                */    
                KillTimer(NULL,   idTimer);  
   
                /*  
                  *     See   if   there   is   a   WM_QUIT   message   in   the   queue.   If   so,  
                  *     then   you   timed   out.   Eat   the   message   so   you   don't   quit   the  
                  *     entire   application.  
                */    
                if   (PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE))   {  
   
                        /*  
                          *     If   you   timed   out,   then   return   zero.  
                        */    
                        uiResult   =   0;  
                }  
   
                return   uiResult;  
        }  
   
        /***********************************************************************  
          *  
          *     WinMain  
          *  
          *             Program   entry   point.  
          *  
          *             Demonstrate   TimedMessageBox().  
          *  
          **********************************************************************/    
   
        int   WINAPI   WinMain(  HINSTANCE   hinst,  HINSTANCE   hinstPrev, LPSTR   pszCmdLine,  int   nCmdShow)  
        {  
   
                UINT   uiResult;  
   
                /*  
                  *     Ask   the   user   a   question,   and   give   him   or   her   five   seconds   to  
                  *     answer   it.  
                  */    
   
                uiResult   =   TimedMessageBox(NULL,"Does a triangle have three sides?","Quiz", MB_YESNO,5000);   //   NULL   first   parameter   is   important.  
   
   
                switch   (uiResult)   {  
                case   IDYES:  
                        MessageBox(NULL,   "That's   right!",   "Result",   MB_OK);  
                        break;  
   
                case   IDNO:  
                        MessageBox(NULL,   "Believe   it   or   not,   triangles   "  
                                                          "really   do   have   three   sides.",   "Result",  
                                              MB_OK);  
                        break;  
   
                case   0:  
                        MessageBox(NULL,   "I   sensed   some   hesitation   there.     "  
                                                          "The   correct   answer   is   Yes.",   "Result",   MB_OK);  
                        break;  
                }  
   
                return   0;  
        }   


steven 2008-06-12 11:41 鍙戣〃璇勮
]]>
SYSTEMTIME AND LOCALTIMEhttp://www.shnenglu.com/steven/articles/51158.htmlstevenstevenMon, 26 May 2008 09:31:00 GMThttp://www.shnenglu.com/steven/articles/51158.htmlhttp://www.shnenglu.com/steven/comments/51158.htmlhttp://www.shnenglu.com/steven/articles/51158.html#Feedback4http://www.shnenglu.com/steven/comments/commentRss/51158.htmlhttp://www.shnenglu.com/steven/services/trackbacks/51158.html灝忛棶棰樹(shù)竴涓?鍝綅澶ц櫨瑙佸埌浜?jiǎn)璇锋寚鏁?

濡備綍灝哠YSTEMTIME 杞寲鎴怢OCALTIME,娌℃湁瑙佸埌鎴栬呮槸娌℃湁鎵懼埌鍙互鐩存帴浣跨敤鐨勫嚱鏁?

typedef struct _SYSTEMTIME {    
  WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;


鍋囧寰楀埌涓涓椂闂存槸涓牸鏋楀▉娌繪椂闂?濡備綍杞埌鏈湴鏃墮棿?闇瑕佽冭檻鍒版湰鍦扮郴緇熷彲鑳借緗簡(jiǎn)涓嶅悓鐨勬椂鍖轟俊鎭?

濡傛灉鑷繁鏉ュ疄鐜扮殑璇濇湁涓縐嶆兂娉?
   GetSystemTime() 鍜孏etLocalTime()寰楀埌鏃跺尯鐨勫樊鍒?鐒跺悗鍐嶆潵澶勭悊鑷繁鐨勬椂闂?

濡傛灉鐢ㄤ腑闂村鐞嗙殑璇?
   鍙互浣跨敤SystemTimeToFileTime() 鍏堣漿鍖?br>   鐒跺悗浣跨敤
   FileTimeToLocalFileTime(&CreateTime,&LocalFileTime);
   FileTimeToSystemTime(&LocalFileTime,&SystemTime);
鏉ュ緱鍒?


steven 2008-05-26 17:31 鍙戣〃璇勮
]]>
榪涚▼鏉冮檺闂http://www.shnenglu.com/steven/articles/51109.htmlstevenstevenMon, 26 May 2008 03:24:00 GMThttp://www.shnenglu.com/steven/articles/51109.htmlhttp://www.shnenglu.com/steven/comments/51109.htmlhttp://www.shnenglu.com/steven/articles/51109.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/51109.htmlhttp://www.shnenglu.com/steven/services/trackbacks/51109.html      瀛︿範(fàn)浠誨姟綆$悊鍣ㄤ腑榪涚▼綆$悊閮ㄥ垎鍙戠幇闂.
      鍙互浣跨敤榪涚▼鏋氫婦鍑烘墍鏈夎繘紼?浣嗘槸澶勭悊榪涚▼鐨勬椂鍊欐繪槸鍑虹幇闂,鏃犳硶鎿嶄綔榪涚▼,鍖呮嫭璁塊棶,緇撴潫.浠g爜濡備笅:

 HANDLE hProcess=INVALID_HANDLE_VALUE;
 HANDLE hSnapshot=INVALID_HANDLE_VALUE;
 hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 PROCESSENTRY32 pe;
 Process32First(hSnapshot,&pe);
 do
 {
   // do what you want
  hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe.th32ProcessID);
  if(hProcess==NULL) {
   _stprintf(szTemp,"OpenProcess() fail\n %d\n%s",GetLastError(),pe.szExeFile);
   wsprintf(szExePath,_T("%s"),"not get Process handle OpenProcess()");
  }else if(0==GetModuleFileNameEx((HINSTANCE)hProcess,NULL,szExePath,MAX_PATH))
  {
   _stprintf(szTemp,"GetModuleFileName() fail %d\n%s\n%s",GetLastError(),pe.szExeFile,szExePath);
   wsprintf(szExePath,_T("%s"),"not get Process handle GetModuleFileName()");
  }

  }
 while(Process32Next(hSnapshot,&pe));
 CloseHandle(hSnapshot); 

OpenProcess() 閿欒ERROR CODE 5:鎷掔粷璁塊棶.闇瑕佸彇寰楃浉搴旂殑鏉冮檺.
OpenProcessToken鍑芥暟鐨勫姛鑳芥槸鎵撳紑涓涓笌涓榪涚▼鐩歌仈緋葷殑璁塊棶浠ょ墝(access token)錛屽畠鐨勫師鍨嬪涓嬶細(xì)
BOOL OpenProcessToken(
  HANDLE ProcessHandle, 
  DWORD DesiredAccess, 
  PHANDLE TokenHandle
);

濡傚悓MSDN涓婃墍璇達(dá)紝瀵逛簬Windows XP Professional錛屽鏋滀竴鍙拌綆楁満鍔犲叆鍒頒竴涓伐浣滅粍涓紝鑰屼笖"Force network logons using local accounts to authenticate as Guest"鐨勯檺鍒惰嬋媧葷殑璇濓紝姝ゅ嚱鏁頒細(xì)澶辮觸銆?

鍙﹀錛屽鏋滃湪璋冪敤鐨勬椂鍊欎嬌鐢ㄤ簡(jiǎn)TOKEN_ALL_ACCESS璇鋒眰錛屽嚱鏁頒篃鍙兘浼?xì)澶辫触銆傝繖鏄洜涓篢OKEN_ALL_ACCESS鍙兘鍖呭惈浜?jiǎn)TOKEN_ADJUST_SESSIONID錛堝湪Winnt.h涓瀹氫箟錛夈俆OKEN_ADJUST_SESSIONID鏄竴涓柊鐨勮闂甿ask錛屾槸鍦╓indows 2000鍜學(xué)indows XP涓柊澧炵殑銆傚湪Windows NT 4.0涓紝璁塊棶浠ょ墝鐨勮闂帶鍒跺垪琛ㄤ腑鏄病鏈夎繖涓肩殑銆傛墍浠ワ紝濡傛灉涓涓簲鐢ㄧ▼搴忔槸浣跨敤鏂扮殑Platform SDK涓殑Winnt.h浣嗗嵈鍦╓indows NT 4.0涓嬭繍琛岀殑璇濓紝鍦ㄨ皟鐢∣penProcessToken()鎴栬匫penThreadToken鏃舵寚瀹氫簡(jiǎn)TOKEN_ALL_ACCESS鐨勮瘽錛屽嚱鏁頒篃浼?xì)澶辫触锛堜娇鐢℅etLastError()榪斿洖鐨勬槸ERROR_ACCESS_DENIED)銆?/u>

typedef struct _TOKEN_PRIVILEGES {
  DWORD
PrivilegeCount;
  LUID_AND_ATTRIBUTES
PrivilegeCount;
  LUID_AND_ATTRIBUTES
Privileges[]; } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;

BOOL AdjustTokenPrivileges(
  HANDLE
TokenHandle,              // handle to token
  BOOL TokenHandle,              // handle to token
  BOOL DisableAllPrivileges,       // disabling option
  PTOKEN_PRIVILEGES NewState,      // privilege information
  DWORD NewState,      // privilege information
  DWORD BufferLength,              // size of buffer
  PTOKEN_PRIVILEGES PreviousState, // original state buffer
  PDWORD PreviousState, // original state buffer
  PDWORD ReturnLength              // required buffer size
);

鍦ㄦ灇涓炬墍鏈夎繘紼嬩箣鍓嶈幏鍙栨搷浣滄潈闄?灝卞彲浠ラ伩鍏嶅嚭閿欑殑闂,褰撶劧鍙傛暟瑕佽緗負(fù)Enable.

BOOL ProcessPrivilege(BOOL bEnable)
{
 BOOL                   bResult = TRUE;
 HANDLE               hToken=INVALID_HANDLE_VALUE;
 TOKEN_PRIVILEGES     TokenPrivileges;

 if(OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES,&hToken) == 0)
 {
     printf("OpenProcessToken Error: %d\n",GetLastError());
     bResult = FALSE;
 }
 TokenPrivileges.PrivilegeCount           = 1;
 TokenPrivileges.Privileges[0].Attributes = bEnable ? SE_PRIVILEGE_ENABLED : 0;
 LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&TokenPrivileges.Privileges[0].Luid);
 AdjustTokenPrivileges(hToken,FALSE,&TokenPrivileges,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
    if(GetLastError() != ERROR_SUCCESS)
 {
     bResult = FALSE;
 }
 CloseHandle(hToken);
   
 return bResult;
}


THAT'S ALL.

steven 2008-05-26 11:24 鍙戣〃璇勮
]]>
wcstombs 灝忛棶棰?/title><link>http://www.shnenglu.com/steven/articles/44784.html</link><dc:creator>steven</dc:creator><author>steven</author><pubDate>Tue, 18 Mar 2008 09:50:00 GMT</pubDate><guid>http://www.shnenglu.com/steven/articles/44784.html</guid><wfw:comment>http://www.shnenglu.com/steven/comments/44784.html</wfw:comment><comments>http://www.shnenglu.com/steven/articles/44784.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/steven/comments/commentRss/44784.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/steven/services/trackbacks/44784.html</trackback:ping><description><![CDATA[<p>絎簩嬈¢亣鍒拌繖涓棶棰樹(shù)簡(jiǎn)錛屾悶浜?jiǎn)鍑犱釜灏忔椨灱岀湡鏄彲鎭躲?br><br>浠嶶NICODE 鏂囨湰涓鍙栨枃鏈俊鎭紝鎬庝箞鐨勬樉紺洪兘鏄貢鐮侊紝榪炵潃璇曢獙浜?jiǎn)濂藉绉嶈潥勬栆?guī)硶閮戒笉瀵癸紝鏈鍚庡彂鐜拌鍑烘潵鐨勬暟鎹槸姝g‘鐨勶紝鍦ㄨВ鏋愮殑鏃跺欏嚭閿欎簡(jiǎn)銆傛垜浣跨敤浜?jiǎn)wcstombs()榪欎釜鍑芥暟錛屽彲鏄瘡嬈¤漿鎹箣鍚庡畠榪斿洖鐨勫奸兘鏄?1銆?br><br>鍘熷洜鍦ㄤ簬錛屼唬鐮侀〉娌℃湁榪涜璁劇疆銆傞渶瑕佽皟鐢╨ocale.h 涓畾涔夌殑涓涓嚱鏁拌緗粯璁ょ殑浠g爜欏點(diǎn)傝創(chuàng)鐐逛唬鐮佹斁鍦ㄨ繖閲岋紝涓嬫鍒繕?shù)簡(jiǎn)銆?br><br> HANDLE hFile;<br> BYTE   buffer[1024]={0};<br> WCHAR  wchbuffer[1024];<br> char   chbuffer[1024],chmsg[1024];<br> DWORD  dwNeedRead=1024;<br> DWORD  dwRead=0;<br> int    nRet;<br> FILE *fp;<br> hFile=CreateFile("unicode1.txt",GENERIC_READ,NULL,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);<br> if(hFile==INVALID_HANDLE_VALUE){<br>  MessageBox("CreateFile() fail","Error",0);<br>  return;<br> }<br> nRet=ReadFile(hFile,buffer,2,&dwRead,NULL); // Unicode 鏍囧織 0xFFFE<br> if((!nRet)||2!=dwRead){<br>  MessageBox("ReadFile() Read first two byte fail","Error",0);<br>  CloseHandle(hFile);<br>  return;<br> }<br> else  MessageBox("ReadFile() Read first two byte OK","debug ",0);</p> <p> nRet=ReadFile(hFile,buffer,dwNeedRead,&dwRead,NULL);<br> if(!nRet){<br>  MessageBox("ReadFile() fail","Error",0);<br>  CloseHandle(hFile);<br>  return;<br> }</p> <p> memcpy(wchbuffer,buffer,1024);<br> _tsetlocale(LC_ALL,_T(""));//璁劇疆浠g爜欏?br> nRet=wcstombs(chbuffer,wchbuffer,sizeof(wchbuffer));<br> if(nRet==1) {<br>  sprintf(chmsg,"wcstombs changed :%d Error:%d",nRet,GetLastError());<br>  MessageBox(chmsg,"debug",0);<br> }<br><br>瑕佽鎵鏈夊唴瀹圭殑璇濓紝榪橀渶瑕佸鐞嗐?/p> <img src ="http://www.shnenglu.com/steven/aggbug/44784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/steven/" target="_blank">steven</a> 2008-03-18 17:50 <a href="http://www.shnenglu.com/steven/articles/44784.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>WINDOWS.H 璇存槑http://www.shnenglu.com/steven/articles/40220.htmlstevenstevenWed, 02 Jan 2008 03:41:00 GMThttp://www.shnenglu.com/steven/articles/40220.htmlhttp://www.shnenglu.com/steven/comments/40220.htmlhttp://www.shnenglu.com/steven/articles/40220.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/40220.htmlhttp://www.shnenglu.com/steven/services/trackbacks/40220.htmlWindows紼嬪紡鐨勫紑澶撮兘鍙湅鍒幫細(xì)
#include <windows.h>

WINDOWS.H鏄富瑕佺殑鍚叆妗f錛屽畠鍖呭惈浜?jiǎn)鍏朵粬Windows琛ㄥご妗f錛岃繖浜涜〃澶存。妗堢殑鏌愪簺涔熷寘鍚簡(jiǎn)鍏朵粬琛ㄥご妗f銆傝繖浜涜〃澶存。妗堜腑鏈閲嶈鐨勫拰鏈鍩烘湰鐨勬槸錛?br>WINDEF.H 鍩烘湰鍨嬫佸畾涔夈?br>WINNT.H 鏀彺Unicode鐨勫瀷鎬佸畾涔夈?br>WINBASE.H Kernel鍑藉紡銆?br>WINUSER.H 浣跨敤鑰呬粙闈㈠嚱寮忋?br>WINGDI.H 鍥懼艦瑁呯疆浠嬮潰鍑藉紡銆?br>榪欎簺琛ㄥご妗f瀹氫箟浜?jiǎn)Windows鐨勬墍鏈夎祫鏂欏瀷鎬併佸嚱寮忓懠鍙佽祫鏂欑粨鏋勫拰甯告暟璇嗗埆瀛楋紝瀹冧滑鏄疻indows鏂囦歡涓殑涓涓噸瑕侀儴鍒嗐?/font>



steven 2008-01-02 11:41 鍙戣〃璇勮
]]>
cdecl stdcall fastcallhttp://www.shnenglu.com/steven/articles/39685.htmlstevenstevenWed, 26 Dec 2007 08:27:00 GMThttp://www.shnenglu.com/steven/articles/39685.htmlhttp://www.shnenglu.com/steven/comments/39685.htmlhttp://www.shnenglu.com/steven/articles/39685.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/39685.htmlhttp://www.shnenglu.com/steven/services/trackbacks/39685.html
  cdecl   鐢辮皟鐢ㄨ呮竻闄ゅ爢鏍? 
   stdcall   鐢辮璋冪殑鍑芥暟娓呴櫎鍫嗘爤  
   fastcall   鏄妸鍑芥暟鍙傛暟鍒楄〃鐨勫墠涓変釜鍙傛暟鏀懼叆瀵勫瓨鍣╡ax,edx,ecx,鍏朵粬鍙傛暟鍘嬫爤銆?br>

鍑芥暟璋冪敤瑙勫垯鎸囩殑鏄皟鐢ㄨ呭拰琚皟鐢ㄥ嚱鏁伴棿浼犻掑弬鏁板強(qiáng)榪斿洖鍙傛暟鐨勬柟娉曪紝甯哥敤鐨勬湁Pascal錛?stdcall錛宑decl.

__cdecl  C璋冪敤瑙勫垯錛?/p>

錛戯紟鍦ㄥ悗闈㈢殑鍙傛暟鍏堣繘鍏ュ爢鏍堬紱

錛掞紟鍦ㄥ嚱鏁拌繑鍥炲悗錛岃皟鐢ㄨ呰璐熻矗娓呴櫎鍫嗘爤錛庢墍浠ヨ繖縐嶈皟鐢ㄥ父浼?xì)鐢熸垚杈冨ぇ鐨勫彲鎵ц绋嬪簭锛?/p>

__stdcall  鍙堢О涓篧INAPI錛?鍏惰皟鐢ㄨ鍒欙細(xì)

錛戯紟鍦ㄥ悗闈㈢殑鍙傛暟鍏堣繘鍏ュ爢鏍堬紱

錛掞紟琚皟鐢ㄧ殑鍑芥暟鍦ㄨ繑鍥炲墠鑷娓呯悊鍫嗘爤錛屾墍浠ョ敓鎴愮殑浠g爜姣攃decl灝忥紟

Pascal 璋冪敤瑙勫垯錛?/p>

錛癮scal璋冪敤瑙勫垯涓昏鐢ㄥ湪妗堬擠錛╋籍錛戯紪鍑芥暟搴撲腑錛岀幇鍦ㄥ熀鏈笉鐢紟

錛戯紟鍙傛暟鍦ㄥ墠鐨勫厛榪涘叆鍫嗘爤錛?/p>

錛掞紟涓嶆敮鎸佸彲鍙樺弬鏁扮殑鍑芥暟璋冪敤錛?/p>

steven 2007-12-26 16:27 鍙戣〃璇勮
]]>
SelectObject() 瑁呰澆瀛椾綋 VC EVChttp://www.shnenglu.com/steven/articles/39653.htmlstevenstevenWed, 26 Dec 2007 02:17:00 GMThttp://www.shnenglu.com/steven/articles/39653.htmlhttp://www.shnenglu.com/steven/comments/39653.htmlhttp://www.shnenglu.com/steven/articles/39653.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/39653.htmlhttp://www.shnenglu.com/steven/services/trackbacks/39653.html      鐢ˋPI 鍦ㄥ垱寤虹殑紿楀彛涓婂啓瀛楃殑鏃跺欏彂鐜頒竴涓棶棰橈紝FONT  鐨勫彞鏌勫繀欏誨0鏄庝負(fù)鍏ㄥ眬鍙橀噺錛屽惁鍒欏湪閫夊叆瀛椾綋鐨勬椂鍊欎細(xì)榪斿洖澶辮觸銆?br>VC 鍜孍VC鍦ㄥ垱寤哄瓧浣撶殑鏂規(guī)硶鏈夌偣涓嶅ぇ涓鏍楓俈C鐗堝涓嬶細(xì)

LRESULT CALLBACK    WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{ HDC hdc=NULL;
 PAINTSTRUCT ps;
 RECT rt;
 HBRUSH hbrBkgnd;
 static HPEN hpenDot;     // handle of dotted pen
 static HFONT hFont;
 LOGFONT lf;

 switch(message){
 case WM_CREATE:
        hpenDot = CreatePen(PS_DOT, 2, RGB(255, 0, 0)); //鍒涘緩铏氱嚎鐢葷瑪

  hFont=CreateFont(                           // Create Font
    15,                      // nHeight
    0,                         // nWidth
    0,                         // nEscapement
    0,                         // nOrientation
    FW_NORMAL,                 // nWeight
    FALSE,                     // bItalic
    FALSE,                     // bUnderline
    0,                         // cStrikeOut
    ANSI_CHARSET,              // nCharSet
    OUT_DEFAULT_PRECIS,        // nOutPrecision
    CLIP_DEFAULT_PRECIS,       // nClipPrecision
    DEFAULT_QUALITY,           // nQuality
    DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
    _T("Arial"));              // lpszFacename


       break;
 case WM_COMMAND:
      break; // do nothing
 case WM_PAINT:
      SetWindowText(hWnd,"Text test");
      hdc = BeginPaint(hWnd, &ps);
      if(NULL==SelectObject(hdc,hFont))
          MessageBox(NULL,"fail font","debug",0);   
      if(NULL==SelectObject(hdc,hpenDot))
          MessageBox(NULL,"fail pen","debug",0);
      GetClientRect(hWnd, &rt);
      _stprintf(szMsg,"((%d,%d),(%d,%d))",rt.left,rt.top,rt.right,rt.bottom);
      //SetBkColor(hdc,RGB(255,0,0));
     // DrawText(hdc, szMsg, strlen(szMsg), &rt, DT_CENTER);
      TextOut(hdc,10,10,szMsg,strlen(szMsg));
      Rectangle(hdc,100, 100, 550,250); 
      EndPaint(hWnd, &ps);
      UpdateWindow(ghWnd);
      break;
 case WM_CLOSE:
        PostQuitMessage(0);
        break;
 default:
     return DefWindowProc(hWnd,message,wParam,lParam);
 }
 return DefWindowProc(hWnd,message,wParam,lParam);
}


EVC 鐗堬細(xì)

LRESULT CALLBACK DlgProc_Panel(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
 static HDC    hdc;
 static PAINTSTRUCT  ps;
    static RECT    rt;
    static HBRUSH   hBrush;
 static COLORREF   wColor=RGB(0,0,0);
 static int    nDrawTimes=0;
 static HFONT   hFont;
 static LOGFONT          m_logfnt;
 TCHAR  lfFaceName[32]= TEXT("Times New Roman");
 m_logfnt.lfCharSet=DEFAULT_CHARSET;
 m_logfnt.lfClipPrecision=CLIP_DEFAULT_PRECIS;
 m_logfnt.lfEscapement=0;
 m_logfnt.lfHeight=80;
 m_logfnt.lfItalic=false;
 m_logfnt.lfOrientation=0;
 m_logfnt.lfPitchAndFamily=FF_SWISS;
 m_logfnt.lfQuality=DEFAULT_QUALITY;
 m_logfnt.lfStrikeOut=false;
 m_logfnt.lfUnderline=true;
 m_logfnt.lfWeight=800;
 m_logfnt.lfWidth=20;
 m_logfnt.lfOutPrecision=OUT_DEFAULT_PRECIS;

 


 switch (message)
 {
 case WM_INITDIALOG:
  hFont=CreateFontIndirect(&m_logfnt);
  nDrawTimes=0;
  wColor=RGB(255,0,0);
  MoveWindowFullScreen(hDlg);
  break;
 case WM_PAINT:
  hdc = BeginPaint(hDlg, &ps);
  GetClientRect(hDlg, &rt);
  hBrush=CreateSolidBrush(wColor);
  FillRect(hdc,&rt,hBrush);
  //TextOut(hdc, rt.left+10, rt.top+100, "Test", 4);
  SelectObject(hdc,hFont);
  SetTextColor(hdc,RGB(0,0,255));
  rt.top += rt.bottom/2;
  DrawText(hdc,TEXT("Test\n"),-1,&rt,DT_CENTER);
  DeleteObject(hBrush);
  EndPaint(hDlg, &ps);
  break; 
 case WM_LBUTTONDOWN:
 case WM_KEYUP:
  InvalidateRect(hDlg,&rt,TRUE);
  EndDialog(hDlg,TRUE);
  break;
 }
    return FALSE;
}



steven 2007-12-26 10:17 鍙戣〃璇勮
]]>
VC 寰楀埌緋葷粺鐗堟湰http://www.shnenglu.com/steven/articles/38422.htmlstevenstevenThu, 13 Dec 2007 06:25:00 GMThttp://www.shnenglu.com/steven/articles/38422.htmlhttp://www.shnenglu.com/steven/comments/38422.htmlhttp://www.shnenglu.com/steven/articles/38422.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/38422.htmlhttp://www.shnenglu.com/steven/services/trackbacks/38422.htmlGet your OS Version

enum   Win32Type{  
  Win32s,  
  WinNT3,  
  Win95,  
  Win98,  
  WinME,  
  WinNT4,  
  Win2000,  
  WinXP  
  };  
   
  Win32Type   IsShellType()  
  {  
   Win32Type     ShellType;  
   DWORD   winVer;  
   OSVERSIONINFO   *osvi;  
   
   winVer=GetVersion();
  dwMajorVersion=(DWORD)(LOBYTE(LOWORD(winVer)));
  dwMinorVersion=(DWORD)(HIBYTE(LOWORD)(winVer))); 
   if(winVer<0x80000000){/*NT   */  
     ShellType=WinNT3;  
     osvi=   (OSVERSIONINFO   *)malloc(sizeof(OSVERSIONINFO));  
      if   (osvi!=NULL){  
    memset(osvi,0,sizeof(OSVERSIONINFO));  
    osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);  
    GetVersionEx(osvi);  
    if(osvi->dwMajorVersion==4L)ShellType=WinNT4;  
    else   if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType=Win2000; //version 5.0 
    else   if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType=WinXP;   //version 5.1
    free(osvi);  
      }  
         }  
   else if (LOBYTE(LOWORD(winVer))<4)  
    ShellType=Win32s;  
   else{  
    ShellType=Win95;  
    osvi=   (OSVERSIONINFO   *)malloc(sizeof(OSVERSIONINFO));  
    if   (osvi!=NULL){  
     memset(osvi,0,sizeof(OSVERSIONINFO));  
     osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);  
    GetVersionEx(osvi);  
     if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)ShellType=Win98;  
     else   if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)ShellType=WinME;  
     free(osvi);  
    }  
  }  
   return   ShellType;  
  }


VC6.0 Windows XP SP2 榪愯姝e父



steven 2007-12-13 14:25 鍙戣〃璇勮
]]>
PostMessage and SendMessagehttp://www.shnenglu.com/steven/articles/37438.htmlstevenstevenWed, 28 Nov 2007 07:28:00 GMThttp://www.shnenglu.com/steven/articles/37438.htmlhttp://www.shnenglu.com/steven/comments/37438.htmlhttp://www.shnenglu.com/steven/articles/37438.html#Feedback1http://www.shnenglu.com/steven/comments/commentRss/37438.htmlhttp://www.shnenglu.com/steven/services/trackbacks/37438.html
鐢ㄥ驚鐜幓鎵句竴涓枃浠訛紝鎵懼埌鐨勬枃浠跺悕縐版殏瀛樺湪涓涓復(fù)鏃跺彉閲忛噷闈紝鎵懼埌涔嬪悗鎶婅繖涓悕縐頒紶鍒板彟澶栫殑鍑芥暟澶勭悊錛岃皟璇曞彂鐜幫紝澶勭悊鐨勬繪槸鍦ㄦ垜闇瑕佺殑鏂囦歡鍚庨潰鎵懼埌鐨勬枃浠訛紝鍘熷洜鏄湪鎴戜嬌鐢ㄧ殑鏃跺欓偅涓殏瀛樺彉閲忛噷闈㈢殑鍊煎凡緇忓彂鐢熶簡(jiǎn)鍙樺寲錛堝驚鐜凡緇忓鐞嗗埌浜?jiǎn)涓嬩竴姝ヤ簡(jiǎn)錛夛紝

PostMessage 鍜孲endMessage鐨勫尯鍒富瑕佸湪浜庢槸鍚︾瓑寰呭叾浠栫▼搴忔秷鎭鐞嗐侾ostMessage鍙槸鎶婃秷鎭斁鍏ラ槦鍒楋紝涓嶇鍏朵粬紼嬪簭鏄惁澶勭悊閮借繑鍥烇紝鐒跺悗緇х畫鎵ц錛涜孲endMessage蹇呴』絳夊緟鍏朵粬紼嬪簭澶勭悊娑堟伅鍚庢墠榪斿洖錛岀戶緇墽琛屻傝繖涓や釜鍑芥暟鐨勮繑鍥炲間篃涓嶅悓錛孭ostMessage鐨勮繑鍥炲艱〃紺篜ostMessage鍑芥暟鎵ц鏄惁姝g‘錛岃孲endMessage鐨勮繑鍥炲艱〃紺哄叾浠栫▼搴忓鐞嗘秷鎭悗鐨勮繑鍥炲箋?br>
浣跨敤SendMessage()鍙互瑙e喅榪欎釜闂錛屽彧涓嶈繃鍦ㄦ椂闂存晥鐜囦笂浼?xì)鏈夌偣涓嬮檷銆?br>
鍑芥暟鍘熷瀷錛?br>   LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
   BOOL       PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);

LRESULT 榪斿洖娑堟伅琚鐞嗙殑緇撴灉錛屽湪娑堟伅琚鐞嗕箣鍚庢墠浼?xì)杩斿洖銆侭OOL 鍙槸榪斿洖浼犻佺殑緇撴灉錛屾槸涓嶆槸宸茬粡閫佸埌娑堟伅闃熷垪銆?br>
浠庣綉緇滀笂鎵懼埌涓浜涜祫鏂欙細(xì)
   
1      PostMessage 鏄紓姝ョ殑錛孲endMessage 鏄悓姝ョ殑銆?br>         PostMessage 鍙妸娑堟伅鏀懼埌闃熷垪錛屼笉綆℃秷鎭槸涓嶆槸琚鐞嗗氨榪斿洖錛屾秷鎭彲鑳戒笉琚鐞嗭紱
         SendMessage絳夊緟娑堟伅琚鐞嗗畬浜?jiǎn)鎵崢q斿洖錛屽鏋滄秷鎭笉琚鐞嗭紝鍙戦佹秷鎭殑綰跨▼灝嗕竴鐩村浜庨樆濉炵姸鎬侊紝絳夊緟娑堟伅鐨勮繑鍥炪?br>
2         鍚屼竴涓嚎紼嬪唴錛?br>            SendMessage 鍙戦佹秷鎭椂錛岀敱USER32.DLL妯″潡璋冪敤鐩爣紿楀彛鐨勬秷鎭鐞嗙▼搴忥紝騫跺皢緇撴灉榪斿洖錛孲endMessage 鍦ㄥ悓涓涓嚎紼嬮噷闈㈠彂閫佹秷鎭笉榪涘叆綰跨▼娑堟伅闃熷垪錛汸ostMessage 鍙戦佺殑娑堟伅瑕佸厛鏀懼埌娑堟伅闃熷垪錛岀劧鍚庨氳繃娑堟伅寰幆鍒嗘淳鍒扮洰鏍囩獥鍙o紙DispatchMessage錛夈?br>
3         涓嶅悓綰跨▼錛?br>            SendMessage 鍙戦佹秷鎭埌鐩爣紿楀彛鐨勬秷鎭槦鍒楋紝鐒跺悗鍙戦佹秷鎭殑綰跨▼鍦║SER32銆侱LL妯″潡鍐呯洃瑙嗗拰絳夊緟娑堟伅鐨勫鐞嗙粨鏋滐紝鐩村埌鐩爣紿楀彛鐨勬墠澶勭悊榪斿洖錛孲endMessage鍦ㄨ繑鍥炰箣鍓嶈繕闇瑕佸仛璁稿宸ヤ綔錛屽鍝嶅簲鍒殑綰跨▼鍚戝畠鍙戦佺殑SendMessage().PostMessge() 鍒板埆鐨勭嚎紼嬬殑鏃跺欐渶濂戒嬌鐢≒ostThreadMessage  浠f浛銆侾ostMessage()鐨凥WND 鍙傛暟鍙互涓篘ULL錛岀浉褰撲簬PostThreadMessage() + GetCrrentThreadId.

4         緋葷粺澶勭悊娑堟伅銆?br>            緋葷粺鍙鐞嗭紙marshal)緋葷粺娑堟伅錛?--WM_USER)錛屽彂閫佺敤鎴鋒秷鎭紙鐢ㄦ埛鑷繁瀹氫箟錛夋椂闇瑕佺敤鎴瘋嚜宸卞鐞嗐?br>            浣跨敤PostMessage,SendNotifyMessage,SendMessageCallback絳夊紓姝ュ嚱鏁板彂閫佺郴緇熸秷鎭椂錛屽弬鏁頒笉鍙互浣跨敤鎸囬拡錛屽洜涓哄彂閫佽呬笉絳夊緟娑堟伅鐨勫鐞嗗氨榪斿洖錛屾帴鏀惰呰繕娌℃湁澶勭悊錛屾寚閽堝氨鏈夊彲鑳借閲婃斁浜?jiǎn)锛屾垨鍒欏唴瀹瑰彉鍖栦簡(jiǎn)銆?br>
5 鍦╓indows 2000/XP,姣忎釜娑堟伅闃熷垪鏈澶氬彧鑳藉瓨鏀句竴瀹氭暟閲忕殑娑堟伅錛岃秴榪囩殑灝嗕笉浼?xì)琚鐞啚兏㈡帀銆傜郴緇熼粯璁ゆ槸10000錛涳細(xì)[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows] USERPostMessageLimit
鍙互淇敼錛堟垜鐨勭郴緇熶笅娌℃湁鍙戠幇錛夈?br>

鍦ㄦ帶鍒跺埆鐨勫簲鐢ㄧ▼搴忕殑鏃跺欙紝緇忓父闇瑕佺瓑寰呯洿鍒版煇涓姛鑳界粨鏉燂紝渚嬪:
   鎵撳紑涓涓獥鍙?/span>-->絳夊緟鐩村埌紿楀彛緇撴潫 錛?/span>榪欎釜鏃跺欏氨鍙互鐢ㄥ埌SendMessage
   濡傛灉鍦ㄦ墦寮榪欎釜紿楀彛鍚庝粛鐒墮渶瑕佸璇ョ獥鍙g殑鐣岄潰榪涜璁劇疆錛屾瘮濡?/span>Edit鐨?/span>value絳夌瓑,姣斿錛?/span>
      鎵撳紑涓涓獥鍙?/span>-->鎺у埗紿楀彛鐨?/span>control鐨勫睘鎬?/span>
   榪欎釜鏃跺欏氨闇瑕?/span>PostMessage

浣跨敤涓涓挬瀛愮▼搴忔埅鑾鋒秷鎭悗,浣跨敤SendMessage鎶婃秷鎭彂閫佸埌涓誨鐞嗙▼搴忚繘琛屽鐞?/span>,浣嗘槸鍦ㄤ富澶勭悊紼嬪簭榪樻病鏈夊畬鎴愪換鍔$殑鏃跺?/span>,琚緗挬瀛愮殑紼嬪簭榪涘叆浜?jiǎn)鍋滄鐨勭姸鎬?/span>,涓嶅彲浠ュ鐞?WM_PAINT, WM_MOVE, .......絳夌殑鍩烘湰淇℃伅蹇呴』瑕佺瓑SendMessage鍙戦佸嚭鐨勬秷鎭畬鎴愬悗,鎵嶈兘緇х畫榪愯,鏁翠釜鐣岄潰涓鐗囩┖鐧?/span>,鎶婇挬瀛愭秷鎭緗垚PostMessage鐨勫彂閫佹秷鎭艦寮忓悗,闂瑙e喅!

      PostMessage鍙槸鎶婃秷鎭斁鍏ラ槦鍒楋紝涓嶇鍏朵粬紼嬪簭鏄惁澶勭悊閮借繑鍥烇紝鐒跺悗緇х畫鎵ц;
   鑰?/span>SendMessage蹇呴』絳夊緟鍏朵粬紼嬪簭澶勭悊娑堟伅鍚庢墠榪斿洖錛岀戶緇墽琛屻?/span>
      PostMessage
鐨勮繑鍥炲艱〃紺?/span>PostMessage鍑芥暟鎵ц鏄惁姝g‘;
   鑰?/span>SendMessage鐨勮繑鍥炲艱〃紺哄叾浠栫▼搴忓鐞嗘秷鎭悗鐨勮繑鍥炲箋?/span> 
   浣跨敤榪欎袱涓彂閫佹秷鎭嚱鏁扮殑鏈閲嶈鐨勬槸瑕佺湅浣犵殑紼嬪簭鏄惁瑕佸娑堟伅鐨勬粸鍚庢у叧娉ㄥ惁,PostMessage浼?xì)閫犳垚娑堟伅鐨勬粸鍚庢?/span>,鑰?/span>SendMessage鍒欎笉浼?/span>,浣嗗

 


            


steven 2007-11-28 15:28 鍙戣〃璇勮
]]>
vc 鐢誨浘鍘熺悊http://www.shnenglu.com/steven/articles/37134.htmlstevenstevenThu, 22 Nov 2007 07:54:00 GMThttp://www.shnenglu.com/steven/articles/37134.htmlhttp://www.shnenglu.com/steven/comments/37134.htmlhttp://www.shnenglu.com/steven/articles/37134.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/37134.htmlhttp://www.shnenglu.com/steven/services/trackbacks/37134.html
1銆乄indows 緇樺浘鍘熺悊

銆銆鎴戜滑鍦?Windows 鐜涓嬬湅鍒板悇縐嶅厓绱狅紝濡傝彍鍗曘佹寜閽佺獥鍙c佸浘鍍忥紝浠庢牴鏈笂璇達(dá)紝閮芥槸“鐢?#8221;鍑烘潵鐨勩傝繖鏃剁殑灞忓箷錛屽氨鐩稿綋浜庝竴鍧楅粦鏉匡紝鑰?Windows 涓嬬殑鍚勭 GDI 瑕佺礌錛屽鐢葷瑪銆佺敾鍒風(fēng)瓑錛屽氨鐩稿綋浜庡僵鑹茬矇絎斾簡(jiǎn)銆傛垜浠湪榛戞澘涓婃墜宸ョ敾鍥炬椂錛屾槸涓絎斾竴鍒掔殑錛岀數(shù)鑴戜害鐒躲傚彧涓嶈繃鐢?shù)鑴戠殑閫熷害姣旀墜宸ュ揩鐨勫お澶氾紝鎵浠ュ湪鎴戜滑鐪嬭搗鏉ュソ鍍忔墍鏈夌殑鍥懼艦鏂囧瓧閮芥槸鍚屾椂鍑虹幇鐨勩?br>
2銆佹櫘閫氱粯鍥炬柟寮忕殑灞闄?br>
銆銆涓婅堪緇樺浘鏂瑰紡鎴戜滑鏆備笖縐頒箣涓烘櫘閫氱粯鍥炬柟寮忓惂銆傝櫧鐒惰繖縐嶆柟寮忚兘婊¤凍鐩稿綋涓閮ㄥ垎鐨勭粯鍥鵑渶瑕侊紝浣嗘槸褰撹緇樺埗鐨勫璞″お澶嶆潅錛屽挨鍏舵槸鍚湁浣嶅浘鏃訛紝鐢?shù)鑴戜究鍔涗笉浠庡績(jī)浜?jiǎn)銆傝繖鏃剁殑鐢婚潰浼?xì)鏄窘C虹殑寰堟參錛屽浜庤繍鍔ㄧ殑鐢婚潰錛屼細(xì)緇欎漢“鍗?#8221;浣忎簡(jiǎn)鐨勬劅瑙夛紝鎬諱箣涓涓瓧錛氫笉鐖姐?br>
3銆佽В鍐充箣閬擄細(xì)鍙岀紦鍐?br>
銆銆鍙岀紦鍐茬殑鍘熺悊鍙互榪欐牱褰㈣薄鐨勭悊瑙o細(xì)鎶婄數(shù)鑴戝睆騫曠湅浣滀竴鍧楅粦鏉褲傞鍏堟垜浠湪鍐呭瓨鐜涓緩绔嬩竴涓?#8220;铏氭嫙“鐨勯粦鏉匡紝鐒跺悗鍦ㄨ繖鍧楅粦鏉夸笂緇樺埗澶嶆潅鐨勫浘褰紝絳夊浘褰㈠叏閮ㄧ粯鍒跺畬姣曠殑鏃跺欙紝鍐嶄竴嬈℃х殑鎶婂唴瀛樹(shù)腑緇樺埗濂界殑鍥懼艦“鎷瘋礉”鍒板彟涓鍧楅粦鏉匡紙灞忓箷錛変笂銆傞噰鍙栬繖縐嶆柟娉曞彲浠ユ彁楂樼粯鍥鵑熷害錛屾瀬澶х殑鏀瑰杽緇樺浘鏁堟灉銆備笅闈㈡槸鍘熺悊鍥撅細(xì)


鍥句竴 鍙岀紦鍐插師鐞嗙ず鎰忓浘

4銆佺浉鍏崇殑鍑芥暟浠嬬粛

1)銆佷負(fù)灞忓箷 DC 鍒涘緩鍏煎鐨勫唴瀛?DC錛欳reateCompatibleDC()
if(!m_dcMemory.CreateCompatibleDC(NULL)) // CDC m_dcMemory;
{
::PostQuitMessage(0);
} 

2)銆佸垱寤轟綅鍥撅細(xì)CreateCompatibleBitmap()

m_Bmp.CreateCompatibleBitmap(&m_dcMemory, rt.Width(), rt.Height()); // CBitmap m_Bmp;

3)銆佹妸浣嶅浘閫夊叆璁懼鐜錛歋electObject()錛屽彲浠ョ悊瑙d負(fù)閫夋嫨鐢誨竷

::SelectObject(m_dcMemory.GetSafeHdc(), m_Bmp); 

4)銆佹妸緇樺埗濂界殑鍥懼艦“鎷瘋礉“鍒板睆騫曚笂錛欱itBlt()

pdcView->BitBlt(0, 0, rt.Width(), rt.Height(), &m_dcMemory, 0, 0, SRCCOPY);

鍑芥暟鐨勫叿浣撶敤娉曡瑙?MSDN銆傛湁涓鍙ヨ瘽鎴戦噸澶嶄簡(jiǎn)澶氶亶錛屽啀璇翠竴閬嶄篃鏃犲Θ錛歁SDN鏄渶濂界殑鑰佸笀銆?br>



steven 2007-11-22 15:54 鍙戣〃璇勮
]]>
GetSystemMetrics 鐨勫弬鏁幫紙杞級(jí)http://www.shnenglu.com/steven/articles/36955.htmlstevenstevenMon, 19 Nov 2007 09:26:00 GMThttp://www.shnenglu.com/steven/articles/36955.htmlhttp://www.shnenglu.com/steven/comments/36955.htmlhttp://www.shnenglu.com/steven/articles/36955.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/36955.htmlhttp://www.shnenglu.com/steven/services/trackbacks/36955.html1    SM_ARRANGE Flags specifying how the system arranged minimized windows. For more information about minimized windows, see the following Remarks section.錛堣鏄庣郴緇熷浣曞鐞嗙獥鍙f渶灝忓寲)

2    SM_CLEANBOOT 榪斿洖緋葷粺鍚姩鏂瑰紡:

銆銆0  姝e父鍚姩

銆銆1  瀹夊叏妯″紡鍚姩

銆銆2  緗戠粶瀹夊叏妯″紡鍚姩

3    SM_CMONITORS CE緋葷粺鏄劇ず妯″潡鐨勪釜鏁?(CE>=4.0)

4銆SM_CMOUSEBUTTONS 榪斿洖鍊間負(fù)緋葷粺鏀寔鐨勯紶鏍囬敭鏁幫紝榪斿洖0錛屽垯緋葷粺涓病鏈夊畨瑁呴紶鏍囥?/p>

5銆SM_CXBORDER,銆SM_CYBORDER 榪斿洖浠ョ浉绱犲間負(fù)鍗曚綅鐨刉indows紿楀彛杈規(guī)鐨勫搴﹀拰楂樺害錛屽鏋淲indows鐨勪負(fù)3D褰㈡侊紝鍒欑瓑鍚屼簬SM_CXEDGE鍙傛暟

6銆SM_CXCURSOR,SM_CYCURSOR 榪斿洖浠ョ浉绱犲間負(fù)鍗曚綅鐨勬爣鍑嗗厜鏍囩殑瀹藉害鍜岄珮搴?/p>

7銆SM_CXDLGFRAME,SM_CYDLGFRAME 絳夊悓涓嶴M_CXFIXEDFRAME and SM_CYFIXEDFRAME

8銆SM_CXDOUBLECLK,SM_CYDOUBLECLK 浠ョ浉绱犲間負(fù)鍗曚綅鐨勫弻鍑?yán)L湁鏁堢殑鐭╁艦鍖哄煙

9銆SM_CXEDGE,SM_CYEDGE 浠ョ浉绱犲間負(fù)鍗曚綅鐨?D杈規(guī)鐨勫搴﹀拰楂樺害

10  SM_CXFIXEDFRAME,SM_CYFIXEDFRAME 鍥寸粫鍏鋒湁鏍囬?shù)絾鏃犳硶鏀瑰彉灏哄鐨劷H楀彛錛堥氬父鏄竴浜涘璇?br>
妗嗭級(jí)鐨勮竟妗嗙殑鍘氬害

11銆SM_CXFRAME,SM_CYFRAME 絳夊悓浜嶴M_CXSIZEFRAME and SM_CYSIZEFRAME

12銆SM_CXFULLSCREEN,SM_CYFULLSCREEN 鍏ㄥ睆騫曠獥鍙g殑紿楀彛鍖哄煙鐨勫搴﹀拰楂樺害

13銆SM_CXHSCROLL,SM_CYHSCROLL 姘村鉤婊氬姩鏉$殑楂樺害鍜屾按騫蟲粴鍔ㄦ潯涓婄澶寸殑瀹藉害

14銆SM_CXHTHUMB 浠ョ浉绱犱負(fù)鍗曚綅鐨勬按騫蟲粴鍔ㄦ潯涓婄殑婊戝姩鍧楀搴?/p>

15銆SM_CXICON,SM_CYICON 緋葷粺緙虹渷鐨勫浘鏍囩殑楂樺害鍜屽搴︼紙涓鑸負(fù)32*32錛?/p>

16銆SM_CXICONSPACING,SM_CYICONSPACING 浠ュぇ鍥炬爣鏂瑰紡鏌ョ湅Item鏃跺浘鏍囦箣闂寸殑闂磋窛錛岃繖涓窛紱?br>
鎬繪槸澶т簬絳変簬SM_CXICON 鍜孲M_CYICON.

17銆SM_CXMAXIMIZED,SM_CYMAXIMIZED 澶勪簬欏跺眰鐨勬渶澶у寲紿楀彛鐨勭己鐪佸昂瀵?/p>

18銆SM_CXMAXTRACK,SM_CYMAXTRACK 鍏鋒湁鍙敼鍙樺昂瀵歌竟妗嗗拰鏍囬鏍忕殑紿楀彛鐨勭己鐪佹渶澶у昂瀵革紝濡傛灉紿?br>
鍙eぇ浜庤繖涓昂瀵革紝紿楀彛鏄笉鍙Щ鍔ㄧ殑銆?/p>

19銆SM_CXMENUCHECK,SM_CYMENUCHECK 浠ョ浉绱犱負(fù)鍗曚綅璁$畻鐨勮彍鍗曢変腑鏍囪浣嶅浘鐨勫昂瀵?/p>

20銆SM_CXMENUSIZE,SM_CYMENUSIZE 浠ョ浉绱犺綆楃殑鑿滃崟鏍忔寜閽殑灝哄

20銆SM_CXMIN,SM_CYMIN 紿楀彛鎵鑳借揪鍒扮殑鏈灝忓昂瀵?/p>

21銆SM_CXMINIMIZED,SM_CYMINIMIZED 姝e父鐨勬渶灝忓寲紿楀彛鐨勫昂瀵?/p>

22銆SM_CXMINTRACK,SM_CYMINTRACK 鏈灝忚窡韙窛紱伙紝褰撲嬌鐢ㄨ呮嫋鍔ㄧ獥鍙gЩ鍔ㄨ窛紱誨皬浜庤繖涓鹼紝

紿楀彛涓嶄細(xì)縐誨姩銆?/p>

23銆SM_CXSCREEN,SM_CYSCREEN 浠ョ浉绱犱負(fù)鍗曚綅璁$畻鐨勫睆騫曞昂瀵搞?/p>

24銆SM_CXSIZE,SM_CYSIZE 浠ョ浉绱犺綆楃殑鏍囬鏍忔寜閽殑灝哄

25銆SM_CXSIZEFRAME,SM_CYSIZEFRAME 鍥寸粫鍙敼鍙樺ぇ灝忕殑紿楀彛鐨勮竟妗嗙殑鍘氬害

26銆SM_CXSMICON,SM_CYSMICON 浠ョ浉绱犺綆楃殑灝忓浘鏍囩殑灝哄錛屽皬鍥炬爣涓鑸嚭鐜板湪紿楀彛鏍囬鏍忎笂銆?/p>

27銆M_CXVSCROLL,SM_CYVSCROLL 浠ョ浉绱犺綆楃殑鍨傜洿婊氬姩鏉$殑瀹藉害鍜屽瀭鐩存粴鍔ㄦ潯涓婄澶寸殑楂樺害

28銆SM_CYCAPTION 浠ョ浉绱犺綆楃殑鏅氱獥鍙f爣棰樼殑楂樺害

29銆SM_CYMENU 浠ョ浉绱犺綆楃殑鍗曚釜鑿滃崟鏉$殑楂樺害

30銆SM_CYSMCAPTION 浠ョ浉绱犺綆楃殑紿楀彛灝忔爣棰樻爮鐨勯珮搴?/p>

31銆SM_CYVTHUMB 浠ョ浉绱犺綆楃殑鍨傜洿婊氬姩鏉′腑婊氬姩鍧楃殑楂樺害

32銆SM_DBCSENABLED 濡傛灉涓篢RUE鎴栦笉涓?鐨勫艱〃鏄庣郴緇熷畨瑁呬簡(jiǎn)鍙屽瓧鑺傜増鏈殑USER.EXE,涓篎ALSE鎴?

鍒欎笉鏄?/p>

33銆SM_DEBUG 濡傛灉涓篢RUE鎴栦笉涓?鐨勫艱〃鏄庣郴緇熷畨瑁呬簡(jiǎn)debug鐗堟湰鐨刄SER.EXE,涓篎ALSE鎴?鍒欎笉鏄?/p>

34銆SM_MENUDROPALIGNMENT 濡傛灉涓篢RUE鎴栦笉涓?鐨勫間笅鎷夎彍鍗曟槸鍙沖榻愮殑鍚﹀垯鏄乏瀵歸綈鐨勩?/p>

35銆SM_MOUSEPRESENT 濡傛灉涓篢RUE鎴栦笉涓?鐨勫煎垯瀹夎浜?jiǎn)榧犳爣锛屽惁鍒欐病鏈夊畨瑁呫?/p>

36銆SM_MOUSEWHEELPRESENT 濡傛灉涓篢RUE鎴栦笉涓?鐨勫煎垯瀹夎浜?jiǎn)婊氳疆榧犳爣锛屽惁鍒欐病鏈夊畨瑁呫?Windows NT only)

37銆SM_SWAPBUTTON 濡傛灉涓篢RUE鎴栦笉涓?鐨勫煎垯榧犳爣宸﹀彸閿氦鎹紝鍚﹀垯娌℃湁銆?/p>

steven 2007-11-19 17:26 鍙戣〃璇勮
]]>
BUTTON 鎺т歡娣誨姞鍥劇墖http://www.shnenglu.com/steven/articles/36940.htmlstevenstevenMon, 19 Nov 2007 06:08:00 GMThttp://www.shnenglu.com/steven/articles/36940.htmlhttp://www.shnenglu.com/steven/comments/36940.htmlhttp://www.shnenglu.com/steven/articles/36940.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/36940.htmlhttp://www.shnenglu.com/steven/services/trackbacks/36940.html      1 浣跨敤LOADIMAGE() 鍔犺澆鑷繁鐨勫浘鐗?br>      CButton MyButton;
      HBITMAP hBitmap= (HBITMAP)LoadImage(AfxGetInstanceHandle(),"D:\\yourImage.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
      MyButton.Create(_T("MyButton"), WS_CHILD|WS_VISIBLE|BS_BITMAP,CRect(150,150,300,250), AfxGetMainWnd(), 1);
      MyButton.SetBitmap(hBitmapIn);

      dialog BUTTON 鎺т歡璁劇疆灞炴т負(fù)BITMAP,鐒跺悗浣跨敤綾誨嚱鏁頒篃鍙互瀹炵幇.


      2 浣跨敤鐜版垚鐨勭被 CButtonST 鐨勫嚱鏁癝etBitmaps().
      鍏堝緩绔嬫垨鍒欓摼鎺ヤ綘鐨凚UTTON
CButtonST bstMybutton;
...
DDX_Control(pDX,IDB_MYBUTTON,bstMybutton);
...
bstMybutton.SetBitmaps(ID_BITMAP);

steven 2007-11-19 14:08 鍙戣〃璇勮
]]>
C++ 璋冪敤C 鏂囦歡http://www.shnenglu.com/steven/articles/36930.htmlstevenstevenMon, 19 Nov 2007 03:41:00 GMThttp://www.shnenglu.com/steven/articles/36930.htmlhttp://www.shnenglu.com/steven/comments/36930.htmlhttp://www.shnenglu.com/steven/articles/36930.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/36930.htmlhttp://www.shnenglu.com/steven/services/trackbacks/36930.html   1 fatal error C1853: 'ARMV4IRel/Test.pch' is not a precompiled header file created with this compiler
   
   2 fatal error C1010: unexpected end of file while looking for precompiled header directive

   宸ョ▼閲岄潰浣跨敤棰勭紪璇戝ご鏂囦歡錛屼絾鏄疌 鎴栧垯 CPP鏂囦歡閲岄潰娌℃湁璋冪敤澶存枃浠?#8220;StdAfx.h"錛屽彲浠ュ鏁翠釜宸ョ▼涓嶄嬌鐢ㄥご鏂囦歡緙栬瘧錛屾垨鍒欏湪鏌愪釜鍗曠嫭鏂囦歡閲岄潰閫夋嫨涓嶄嬌鐢ㄥご鏂囦歡銆?br>
      A Project->Setting->C/C++->PreCompiled Headers->   閫夋嫨涓嶄嬌鐢ㄦ垨鍒欒嚜鍔ㄦ柟寮忋俈C榛樿浣跨敤澶存枃浠?#8221;StdAfx.h".

      鍗曚釜鏂囦歡鏃訛紝鍏堝湪宸ョ▼閲岄潰閫変腑榪欎釜鏂囦歡錛岀劧鍚庢寜鐓?A姝ラ鎿嶄綔銆?br>

   鍙﹀,璋冪敤C鏂囦歡鐨勬椂鍊欎篃鍙互鐩存帴鎶?.c鏂囦歡鏇村悕涓?.cpp鏂囦歡,鍦ㄦ枃浠跺ご鍔犲叆璋冪敤澶存枃浠剁殑閮ㄥ垎.

(浣跨敤VC6.0)




steven 2007-11-19 11:41 鍙戣〃璇勮
]]>
娉ㄥ唽琛ㄧ紪杈?/title><link>http://www.shnenglu.com/steven/articles/36139.html</link><dc:creator>steven</dc:creator><author>steven</author><pubDate>Thu, 08 Nov 2007 07:31:00 GMT</pubDate><guid>http://www.shnenglu.com/steven/articles/36139.html</guid><wfw:comment>http://www.shnenglu.com/steven/comments/36139.html</wfw:comment><comments>http://www.shnenglu.com/steven/articles/36139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/steven/comments/commentRss/36139.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/steven/services/trackbacks/36139.html</trackback:ping><description><![CDATA[ HKEY hKey;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    RegOpenKeyEx(HKEY_LOCAL_MACHINE,<span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\\ODBC\\ODBC.INI</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,KEY_READ,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">hKey);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    DWORD dwSubKeyCount,dwMaxSubKeyNameLength;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    RegQueryInfoKey(hKey,NULL,NULL,NULL,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwSubKeyCount,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwMaxSubKeyNameLength,NULL,NULL,NULL,NULL,NULL,NULL);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> index </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> szSubKeyName </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">[dwMaxSubKeyNameLength</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    DWORD dwSubKeyName;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (index</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;index</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">)dwSubKeyCount;index</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_396_474_Open_Image style="DISPLAY: inline" onclick="this.style.display='none'; Codehighlighter1_396_474_Open_Text.style.display='none'; Codehighlighter1_396_474_Closed_Image.style.display='inline'; Codehighlighter1_396_474_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_396_474_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_396_474_Closed_Text.style.display='none'; Codehighlighter1_396_474_Open_Image.style.display='inline'; Codehighlighter1_396_474_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>    </span><span id=Codehighlighter1_396_474_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_396_474_Open_Text style="DISPLAY: inline"><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>        RegEnumKeyEx(hKey,index,szSubKeyName,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwSubKeyName,NULL,NULL,NULL,NULL);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    RegCloseKey(hKey);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    RegOpenKeyEx(HKEY_LOCAL_MACHINE,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,KEY_READ,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">hKey);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    DWORD dwValueCount,dwMaxValueNameLength;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    RegQueryInfoKey(hKey,NULL,NULL,NULL,NULL,NULL,NULL,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwValueCount,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwMaxValueNameLength,NULL,NULL,NULL);    <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> szValueName </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">[dwMaxValueNameLength</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    DWORD dwValueName;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (index</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;index</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">)dwValueCount;index</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_878_954_Open_Image style="DISPLAY: inline" onclick="this.style.display='none'; Codehighlighter1_878_954_Open_Text.style.display='none'; Codehighlighter1_878_954_Closed_Image.style.display='inline'; Codehighlighter1_878_954_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_878_954_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_878_954_Closed_Text.style.display='none'; Codehighlighter1_878_954_Open_Image.style.display='inline'; Codehighlighter1_878_954_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>    </span><span id=Codehighlighter1_878_954_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_878_954_Open_Text style="DISPLAY: inline"><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>        RegEnumValue(hKey,index,szValueName,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwValueName,NULL,NULL,NULL,NULL);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    RegCloseKey(hKey);</span><br><br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">    hKey <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    褰撳墠鎵撳紑閿殑鍙ユ焺鎴栦笅鍒楅瀹氫箟淇濈暀鐨勫彞鏌勫? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY_CLASSES_ROOT<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY_CURRENT_CONFIG<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY_CURRENT_USER<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY_LOCAL_MACHINE<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY_USERS<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    samDesired <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍒跺畾涓涓闂爣璁頒互鎻忚堪璁塊棶鏂伴敭鐨勫畨鍏ㄦ?br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    姝ゅ弬鏁板彲浠ユ槸涓嬪垪鍊肩殑涓涓仈鍚?nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_ALL_ACCESS<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, 鍜?nbsp;KEY_SET_VALUE 璁塊棶鐨勮仈鍚? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_CREATE_LINK<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽鍒涘緩涓ユ牸絎﹀彿鐨勯摼鎺? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_CREATE_SUB_KEY<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽鍒涘緩瀛愰敭. <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_ENUMERATE_SUB_KEYS<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽鏋氫婦瀛愰敭. <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_EXECUTE<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽璇昏闂? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_NOTIFY<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽鏀瑰彉閫氱煡. <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_QUERY_VALUE<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽鏌ヨ瀛愰敭鐨勬暟鎹? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_READ<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, 鍜?nbsp;KEY_NOTIFY 璁塊棶鐨勮仈鍚? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_SET_VALUE<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    鍏佽璁劇疆瀛愰敭鐨勬暟鎹? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_WRITE<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    KEY_SET_VALUE 鍜?nbsp;KEY_CREATE_SUB_KEY 璁塊棶鐨勮仈鍚? <br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    LONG RegOpenKeyEx(<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY hKey,                        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 寰呮墦寮鐨勯敭鐨勫彞鏌?/span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPCTSTR lpSubKey,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 寰呮墦寮鐨勫瓙閿悕縐扮殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    DWORD ulOptions,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 淇濈暀鐨?蹇呴』涓?. </span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    REGSAM samDesired,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 瀹夊叏璁塊棶鏍囪</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    PHKEY phkResult                    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 寰呮墦寮鐨勯敭鐨勫彞鏌勭殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    );<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    LONG RegQueryInfoKey(<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY hKey,                        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 寰呮煡璇㈢殑閿殑鍙ユ焺</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPTSTR lpClass,                    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 綾誨瓧絎︿覆緙撳啿鍣ㄥ湴鍧</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbClass,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 綾誨瓧絎︿覆緙撳啿鍣ㄥぇ灝忕殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpReserved,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 淇濈暀鐨?蹇呴』涓?nbsp;NULL.</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcSubKeys,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 瀛愰敭鏁扮洰緙撳啿鍣ㄧ殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbMaxSubKeyLen,        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鏈闀跨殑瀛愰敭鍚嶇О闀垮害緙撳啿鍣ㄧ殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbMaxClassLen,        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鏈闀跨殑綾誨瓧絎︿覆闀垮害緙撳啿鍣ㄧ殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcValues,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鍊奸」鏁扮洰緙撳啿鍣ㄧ殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbMaxValueNameLen,    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鏈闀跨殑鍊煎悕縐伴暱搴︾紦鍐插櫒鐨勫湴鍧</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbMaxValueLen,        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鏈闀跨殑鍊兼暟鎹暱搴︾紦鍐插櫒鐨勫湴鍧</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbSecurityDescriptor,    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 瀹夊叏鎻忚堪絎﹂暱搴︾紦鍐插櫒鐨勫湴鍧</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    PFILETIME lpftLastWriteTime        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鏈榪戝啓鍏ユ椂闂寸紦鍐插櫒鐨勫湴鍧</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    );<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    LONG RegEnumKeyEx(<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>    HKEY hKey,                        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 寰呮灇涓劇殑閿殑鍙ユ焺</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    DWORD dwIndex,                    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 寰呮灇涓劇殑瀛愰敭鐨勭儲(chǔ)寮?/span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPTSTR lpName,                    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 瀛愰敭鍚嶇О緙撳啿鍣ㄧ殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbName,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 瀛愰敭緙撳啿鍣ㄥぇ灝忕殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpReserved,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 淇濈暀鐨?蹇呴』涓?nbsp;NULL.</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPTSTR lpClass,                    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 綾誨瓧絎︿覆緙撳啿鍣ㄧ殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    LPDWORD lpcbClass,                </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 綾葷紦鍐插櫒澶у皬鐨勫湴鍧</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    PFILETIME lpftLastWriteTime        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 閿殑鏈榪戝啓鍏ユ椂闂寸殑鍦板潃</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    );</span></div> <img src ="http://www.shnenglu.com/steven/aggbug/36139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/steven/" target="_blank">steven</a> 2007-11-08 15:31 <a href="http://www.shnenglu.com/steven/articles/36139.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SetFont() vc SendMessage(WM_FONT...)http://www.shnenglu.com/steven/articles/35886.htmlstevenstevenMon, 05 Nov 2007 02:53:00 GMThttp://www.shnenglu.com/steven/articles/35886.htmlhttp://www.shnenglu.com/steven/comments/35886.htmlhttp://www.shnenglu.com/steven/articles/35886.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/35886.htmlhttp://www.shnenglu.com/steven/services/trackbacks/35886.html浣跨敤SendMessage() 鏂規(guī)硶鏃跺欏彂鐜扮▼搴忓瓧浣撴繪槸涓嶈兘杈懼埌鎯寵鐨勬晥鏋滐紝灝濊瘯鏈塖etfont() 鍘誨畬鎴愭椂鍊欏嵈鍙互瀹炵幇錛?br>// global define 
CFont ResultFont;

    ResultFont.CreateFont(
   50,
   0,
   0,
   0,
   FW_NORMAL,
   FALSE,
   FALSE,
   0,
   ANSI_CHARSET,
   OUT_DEFAULT_PRECIS,
   CLIP_DEFAULT_PRECIS,
   DEFAULT_QUALITY,
   DEFAULT_PITCH | FF_SWISS,
   _T("Arial") ); 

(CStatic*)this->GetDlgItem(IDC_STATIC_FONT)->SetFont(&ResultFont,TRUE); //姝e父宸ヤ綔

  //::SendMessage(::GetDlgItem(this->m_hWnd,IDC_STATIC_FONT),WM_SETFONT,(WPARAM)(&ResultFont),MAKELPARAM(TRUE,0)); 涓嶆甯?br>
SendDlgItemMessage(IDC_STATIC_FONT,WM_SETFONT,(WPARAM)(&ResultFont)->GetSafeHandle(),MAKELPARAM(TRUE,0));  姝e父


SendMessage(
(HWND) hWnd,              // handle to destination window
WM_SETFONT,               // message to send
(WPARAM) wParam,          // handle to font
(LPARAM) lParam           // redraw option
);
MSDN 閲岄潰SendMessage() 閲岄潰浣跨敤WM_SETFONT鍙傛暟 wParam 蹇呴』浣跨敤鑷繁瀹氫箟鐨凢ONT鐨勫彞鏌勶紝鑰屼笉鏄嬌鐢?FONT 瀹氫箟鐨勫唴瀹廣傛墍浠ラ敊璇彂鐢熷湪錛?br>(WPARAM)(&ResultFont) 鑰屽簲璇ヤ嬌鐢?(WPARAM)(&ResultFont)->GetSafeHandle()銆?br>

steven 2007-11-05 10:53 鍙戣〃璇勮
]]>
WM_SHOWWINDOW VS ShowWindowhttp://www.shnenglu.com/steven/articles/35619.htmlstevenstevenWed, 31 Oct 2007 10:04:00 GMThttp://www.shnenglu.com/steven/articles/35619.htmlhttp://www.shnenglu.com/steven/comments/35619.htmlhttp://www.shnenglu.com/steven/articles/35619.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/35619.htmlhttp://www.shnenglu.com/steven/services/trackbacks/35619.html浠婂ぉ鍦ㄩ亶涓涓▼搴忕殑鏃跺欏彂鐜拌繖涓皬闂錛?br>   浣跨敤SendDlgItemMessage(hWnd,WM_SHOWWINDOW,(WPARAM)(TRUE),(LPARAM)(0));騫朵笉鑳戒嬌紿楀彛鐨勬帶浠朵粠涓嶅彲瑙佸埌鍙鏄劇ず銆?br>   鑰屼嬌鐢⊿howWindow(hWnd,SW_SHOW);鍒欒兘姝e父鏄劇ず銆?br>
浜嬪疄搴旇鏄皟鐢⊿howWindow() 涔嬪悗浼?xì)鍙戦乄M_SHOWWINDOW鐨勬秷鎭粰緋葷粺銆備竴涓槸娑堟伅錛屼竴涓槸搴旂敤銆?/p>

steven 2007-10-31 18:04 鍙戣〃璇勮
]]>
fopen() 涓?CreateFile() 鎿嶄綔鏂囦歡http://www.shnenglu.com/steven/articles/35043.htmlstevenstevenWed, 24 Oct 2007 01:43:00 GMThttp://www.shnenglu.com/steven/articles/35043.htmlhttp://www.shnenglu.com/steven/comments/35043.htmlhttp://www.shnenglu.com/steven/articles/35043.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/35043.htmlhttp://www.shnenglu.com/steven/services/trackbacks/35043.html 
      鎴戜及璁open()鐨勫簳灞傚疄鐜板氨鏄氳繃CreateFile(),鐩鎬技鐨?CFile 涓殑open() 鎴愬憳鍑芥暟涔熸槸涓鏍烽氳繃 CreateFile瀹炵幇.涓嬮潰鏄棶涓撳鐨勫洖絳?

      闂: 鐢╢open()鍑芥暟鐢熸垚涓涓枃浠跺拰鐢–reateFile()鍑芥暟鐢熸垚涓涓枃浠?榪欎袱涓枃浠舵湁浠涔堜笉鍚?c/c++涓殑鏍囧噯搴撳嚱鏁板fread() fwrite fseek() fslose()鑳藉惁鍙敤?鏄惁鏈夊姛鑳界被浼糀PI鐨勫嚱鏁頒篃鍙敤?璇蜂笓瀹惰祼鏁欓潪甯告劅璋?!! 

       絳旀: 浣跨敤API鍜屾爣鍑嗗簱鍑芥暟閮藉彲浠ョ敓鎴愭枃鏈枃浠跺拰浜岃繘鍒舵枃浠訛紝鍦ㄨ繖鐐逛笂娌℃湁鍖哄埆銆傚悓fread()瀵瑰簲鐨勬槸ReadFile錛屽悓fwrite()瀵瑰簲鐨勬槸WriteFile錛屽悓fseek()瀵瑰簲鐨勬槸SetFilePointer錛屽悓fclose瀵瑰簲鐨勬槸CloseHandle銆備袱濂楀嚱鏁伴兘鍙互浣跨敤錛屼綘鐔熸?zhèn)夊摢涓敤鍝釜銆備笉榪嘇PI鍑芥暟鍙互璇誨啓Windows鐨勮澶囨枃浠訛紝鍔熻兘鏇村涓浜涖?br>
鎵撳紑鏂囦歡鐨勫嚑縐嶆柟寮忕殑姣旇緝:

1     fopen(TEXT("test.txt"),TEXT("r"));     //char 
      _tfopen(TEXT("test.txt"),TEXT("r"));   //TCHAR (unsigned long)
      CFile.open(TEXT("test.txt"),CFile::modeCreate , &ex ) //CFile::modeCreate | CFile::modeWrite ,CFileException ex;
      CreateFile(TEXT("test.txt"),GENERIC_READ,0,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

2     fopen(TEXT("test.txt"),TEXT("w"));     //char 
      _tfopen(TEXT("test.txt"),TEXT("w"));   //TCHAR (unsigned long)
      CFile.open(TEXT("test.txt"),CFile::modeCreate | CFile::modeWrite|CFile::modeCreate, &ex ) 
      CreateFile(TEXT("test.txt"),GENERIC_READ,0,NULL,
                       OPEN_EXISTING|,FILE_ATTRIBUTE_NORMAL,NULL);

      濡傛灉鏂囦歡鎵撳紑鎴愬姛鍒欒繑鍥炴枃浠跺彞鏌勶紝鍚﹀垯榪斿洖INVALID_HANDLE_VALUE銆傞氳繃GetLastError鏉ヨ幏鍙栭敊璇俊鎭?鏂囦歡鐨勫叧闂緢綆鍗曪紝鍙渶瑕佺敤CloseHandle灝卞彲浠ュ叧闂枃浠訛紝褰撴枃浠惰鍏抽棴鏃舵墍鏈夌紦瀛樺唴鏁版嵁閮戒細(xì)琚啓鍏ュ埌紓佺洏銆?br>

steven 2007-10-24 09:43 鍙戣〃璇勮
]]>
#pragma 鎸囦護(hù) http://www.shnenglu.com/steven/articles/34928.htmlstevenstevenTue, 23 Oct 2007 08:39:00 GMThttp://www.shnenglu.com/steven/articles/34928.htmlhttp://www.shnenglu.com/steven/comments/34928.htmlhttp://www.shnenglu.com/steven/articles/34928.html#Feedback0http://www.shnenglu.com/steven/comments/commentRss/34928.htmlhttp://www.shnenglu.com/steven/services/trackbacks/34928.html#pragma 鎸囦護(hù)瀛︿範(fàn)

鍦ㄦ墍鏈夐澶勭悊鍛戒護(hù)褰撲腑錛?pragma 鎸囦護(hù)鍙兘鏄渶澶嶆潅鐨勪簡(jiǎn)錛屽畠鐨勪綔鐢ㄦ槸璁懼畾緙栬瘧鍣ㄧ殑鐘舵佹垨鍒欐寚紺虹紪璇?br>鍣ㄥ畬鎴愪竴浜涚壒瀹氱殑鍔ㄤ綔錛?pragma 鎸囦護(hù)瀵規(guī)瘡涓紪璇戝櫒緇欏嚭浜?jiǎn)涓涓柟娉曪紝鍦ㄤ繚鎸佷笌C 鍜孋++璇█瀹屽叏鍏煎鐨?br>鎯呭喌涓嬶紝緇欏嚭涓繪満鎴栨搷浣滅郴緇熶笓鏈夌殑鐗瑰緛錛屼緷鎹畾涔夛紝緙栬瘧鎸囩ず鏄満鍣ㄦ垨鍒欐搷浣滅郴緇熶笓鏈夌殑錛屼笖瀵規(guī)瘡涓?br>緙栬瘧鍣ㄩ兘鏄笉鍚岀殑銆?/p>

鍏舵牸寮忎竴鑸槸錛?#pragma paramenter 
鍏朵腑錛?paramenter 鏄弬鏁?/p>

錛?錛?message 鍙傛暟錛?瀹冭兘澶熷湪緙栬瘧淇℃伅杈撳嚭紿楀彛涓緭鍑虹浉搴旂殑淇℃伅錛?br>榪欏浜庢簮浠g爜淇℃伅鐨勬帶鍒舵槸闈炲父閲嶈鐨勶紝浣跨敤鏂規(guī)硶鏄細(xì)

#pragma message("娑堟伅鏂囨湰")
褰撶紪璇戝櫒閬囧埌榪欐潯鎸囦護(hù)鐨勬椂鍊欏氨鍦ㄧ紪璇戜俊鎭緭鍑虹獥鍙h緭鍑虹浉搴旂殑淇℃伅,鎶婃秷鎭枃鏈墦鍗板嚭鏉?
褰撴垜浠湪紼嬪簭涓畾涔変簡(jiǎn)璁稿瀹忔潵鎺у埗婧愪唬鐮佺増鏈殑鏃跺?鎴戜滑鑷繁鏈夊彲鑳介兘浼?xì)蹇樿鏈夋病鏈夋纭畡〗畼q欎簺瀹?
姝ゆ椂鎴戜滑鍙互鐢ㄨ繖鏉℃寚浠ゅ湪緙栬瘧鐨勬椂鍊欏氨榪涜媯(gè)鏌?鍋囪鎴戜滑甯屾湜鍒ゆ柇鑷繁鏈夋病鏈夊湪婧愪唬鐮佺殑浠涔堝湴鏂瑰畾涔変簡(jiǎn) _X86榪欎釜
瀹忓彲浠ヤ嬌鐢ㄤ笅闈㈢殑鏂規(guī)硶:
#ifdef _X86
#pragma message("_X86 macro activited")
#endif

濡傛灉鎴戜滑瀹氫箟浜?jiǎn)_X86榪欎釜瀹?搴旂敤紼嬪簭鍦ㄧ紪璇戞槸灝變細(xì)鍦ㄧ紪璇戣緭鍑烘鏄劇ず:"_X86 macro activited",鎴戜滑
灝變笉浼?xì)鍥犱给檱纷兏嶈寰楁槸鍚﹀畾涔夎岃嫤鎭間簡(jiǎn).

(2) 鍙﹀涓涓嬌鐢ㄥ緱姣旇緝澶氱殑pragma  鍙傛暟鏄痗ode_seg 鏍煎紡濡?
#pragma code_seg ([[{push|pop},][identifier,]]["section-name"["sectin class"]])
瀹冭兘澶熻緗▼搴忎腑鍑芥暟浠g爜瀛樻斁鐨勪唬鐮佹(浣嶇疆).(鍙︽敞:璇ュ弬鏁板彲浠ョ敤鏉ユ寚瀹氬湪*.obj 鏂囦歡涓瓨鏀劇殑鑺?
瑙傚療 *.obj鍙互浣跨敤VC鑷甫鐨刣umpbin鍛戒護(hù)琛岀▼搴?鍑芥暟鍦?.obj鏂囦歡涓粯璁ょ殑瀛樻斁瀛楄妭鏄?.text鑺?
濡傛灉code_seg 娌℃湁甯﹀弬鏁扮殑璇?鍒欏嚱鏁板瓨鏀懼湪 .text鑺?br>push [鍙夊弬鏁癩 灝嗕竴涓褰曟斁鍒板唴閮ㄧ紪璇戝櫒鐨勫爢鏍堜腑,鍙夊弬鏁?identifier鍙互鏄竴涓爣璇嗙鎴栬呰妭鍚?
pop [鍙夊弬鏁癩 灝嗕竴涓褰曚粠鍫嗘爤鐨勯《绔脊鍑?鍙夊弬鏁?identifier 鍙互涓轟竴涓爣璇嗙鎴栬呰妭鍚?
鍙夊弬鏁?identifier,褰撲嬌鐢≒USH鎸囦護(hù)鏃跺?涓哄帇鍏ュ爢鏍堢殑璁板綍鎸囨淳涓涓爣璇嗙,褰撹鏍囪瘑絎﹁鍒犻櫎鐨勬椂鍊欏拰
鍏剁浉鍏崇殑鍫嗘爤涓殑璁板綍灝嗚寮瑰嚭鍫嗘爤.
"segment-name" [鍙夊弬鏁癩 琛ㄧず鍑芥暟瀛樻斁鐨勮妭鍚?
渚嬪:
榛樿鎯呭喌涓?鍑芥暟琚瓨鏀懼湪.text涓?
void func1(){   //stored in .text
}

灝嗗嚱鏁板瓨鏀懼埌鑺?.my data涓?br>#pragma code_seg(".my data1")
void func2()[ stored in my data
}

//r1涓烘爣蹇楃,灝嗗嚱鏁版斁鍏?my data2鑺備腑
#pragma code_seg (push,r1,".my data2")
void func3(){ //stored in my data2
}

(3) #pragma once 榪欐槸涓涓瘮杈冨父鐢ㄧ殑鎸囦護(hù),鍙鍦ㄥご鏂囦歡鐨勬渶寮濮嬪姞鍏ヨ繖鏉℃寚浠ゅ氨鑳藉淇濊瘉澶存枃浠惰緙栬瘧涓嬈?
榪欐潯鎸囦護(hù)鍦╒C6閲岄潰灝辨湁,瑕佽冭檻鍒板吋瀹規(guī)?

(4) #pragma hdrstop 琛ㄧず棰勭紪璇戝埌嬈′負(fù)姝?瀵瑰悗闈㈢殑澶存枃浠朵笉鍦ㄨ繘琛岄緙栬瘧.
BCB鍙互棰勭紪璇戝ご鏂囦歡鍔犲揩閾炬帴鐨勯熷害,浣嗘槸濡傛灉鎵鏈夊ご鏂囦歡閮借繘琛岄緙栬瘧鍙兘鍗犳湁澶紓佺洏絀洪棿,鎵浠ヤ嬌鐢?br>榪欎釜閫夐」鎺掗櫎涓浜涘ご鏂囦歡.
鏈夋椂鍊欏崟鍏冧箣闂存湁渚濊禆鍏崇郴,姣斿鍗曞厓A渚濊禆鍗曞厓B,鎵浠ュ崟鍏傿瑕佸厛浜庡崟鍏傾緙栬瘧. 鍙互鐢?pragma startup 鎸囧畾緙栬瘧浼樺厛綰?
濡傛灉浣跨敤浜?pragma package(smart_init),BCB灝變細(xì)鏍規(guī)嵁浼樺厛綰х殑澶у皬鍏堝悗緙栬瘧.

(5) #pragma warning 鎸囦護(hù)
璇ユ寚浠ゅ厑璁告湁閫夋嫨鎬х殑淇敼緙栬瘧鍣ㄧ殑璀﹀憡淇℃伅琛屼負(fù).
鎸囦護(hù)鏍煎紡:
#pragma warning(warning)specifier;warning-number-list[;warning-specifier;warning-number-list..]
#pragma warning(push[n])
#pragma warning(pop)

涓昏鐢ㄥ埌鐨勮鍛婅〃紺烘湁濡備笅鍑犱釜:
once:鍙樉紺轟竴嬈?璀﹀憡/閿欒絳?娑堟伅
default:閲嶇疆緙栬瘧鍣ㄧ殑璀﹀憡琛屼負(fù)鍒伴粯璁ょ姸鎬?
1,2,3,4:鍥涗釜璀﹀憡綰у埆
disable:紱佹鎸囧畾鐨勮鍛婁俊鎭?
error:灝嗘寚瀹氱殑璀﹀憡淇℃伅璁や負(fù)鏄敊璇?

#pragma warning(disable:4507 34;once: 4385;error:164) 絳変環(huán)浜?
#pragma warning(disable:4507 34) //涓嶆樉紺?507 34 鍙瘋鍛婁俊鎭?
#pragma warning(once:4385)       //4385鍙蜂俊鎭彧鏄劇ず涓嬈?
#pragma warning(error:164)  // 鎶?64鍙鋒秷鎭綔涓轟竴涓敊璇?
鍚屾椂榪欎釜pragma warning涔熸敮鎸佸涓嬫牸寮?br>#pragma warning (push[,n])
#pragma warning (pop)
#pragma warning (push)  //淇濆瓨鎵鏈夎鍛婃秷鎭殑鐜版湁璀﹀憡鐘舵?br>#pragma warning (push,N) //淇濆瓨鎵鏈夎鍛婃秷鎭殑鐜版湁璀﹀憡鐘舵?騫朵笖鎶婂叏灞璀﹀憡絳夌駭璁懼畾涓簄;
#pragma warning (pop)    //鍚戞爤涓脊鍑烘渶鍚庝竴涓鍛婃秷鎭?鍦ㄥ叆鏍堝拰鍑烘爤涔嬮棿鍋氱殑涓鍒囨敼鍔ㄥ彇娑?
#pragma warning( push ) 
#pragma warning( disable : 4705 ) 
#pragma warning( disable : 4706 ) 
#pragma warning( disable : 4707 ) 
#pragma warning( pop )
鍦ㄨ繖孌典唬鐮佺殑鏈鍚庯紝閲嶆柊淇濆瓨鎵鏈夌殑璀﹀憡淇℃伅(鍖呮嫭4705錛?706鍜?707)
鍦ㄤ嬌鐢ㄦ爣鍑咰++榪涜緙栫▼鐨勬椂鍊欑粡甯鎬細(xì)寰楀埌寰堝鐨勮鍛婁俊鎭?鑰岃繖浜涜鍛婁俊鎭兘鏄笉蹇呰鐨勬彁紺?
鎵浠ユ垜浠彲浠ヤ嬌鐢?pragma warning(disable:4786)鏉ョ姝㈣綾誨瀷鐨勮鍛?br>鍦╲c涓嬌鐢ˋDO鐨勬椂鍊欎篃浼?xì)寰楀堫C笉蹇呰鐨勮鍛婁俊鎭?榪欎釜鏃跺欐垜浠彲浠ラ氳繃
#pragma warning(disable:4146)鏉ユ秷闄よ綾誨瀷鐨勮鍛婁俊鎭?/p>


(6)#pragma comment(...)
#pragma comment("comment-type"[,commentstring])
璇ユ寚浠ゅ皢涓涓敞閲婅褰曟斁鍏ヤ竴涓璞℃枃浠舵垨鍙墽琛屾枃浠朵腑 comment-type 綾誨瀷 one of the five
compiler:灝嗙紪璇戝櫒鐨勭増鏈彿鍜屽悕縐版斁鍏ョ洰鏍囨枃浠朵腑錛屾湰鏉℃敞閲婅褰曞皢琚紪璇戝櫒蹇界暐錛屽鏋滀綘涓鴻璁板綍綾誨瀷
鎻愪緵浜?jiǎn)commentstring 鍙傛暟錛岀紪璇戝櫒灝嗕駭鐢熶竴涓鍛婏紝
EX錛?#pragma comment (compiler)

exestr:灝哻ommentstring 鍙傛暟鏀懼叆鐩爣鏂囦歡涓紝鍦ㄩ摼鎺ョ殑鏃跺欒繖涓瓧絎︿覆灝嗚鏀懼叆鍒板彲鎵ц鏂囦歡涓紝褰撴搷
浣滅郴緇熷姞杞藉彲鎵ц鏂囦歡鏃訛紝璇ュ弬鏁板瓧絎︿覆涓嶄細(xì)琚姞杞藉埌鍐呭瓨?shù)腑锛屼絾鏄Q岃鍙傛暟瀛楃涓插彲浠ヨdumpbin涔嬬被鐨勭殑
紼嬪簭鏌ユ壘騫舵墦鍗板嚭鏉ワ紝浣犲彲浠ョ敤榪欎釜鏍囧織絎﹀彿灝嗙増鏈箣綾葷殑淇℃伅娼滃叆鍒板彲鎵ц鏂囦歡涓?/p>

lib:榪欐槸涓涓潪甯稿父鐢ㄧ殑鍏抽敭瀛楋紝鍙互甯垜浠繛鍏ヤ竴涓簱鏂囦歡鍒扮洰鏍囨枃浠躲?br>ex:
 #pragma comment(lib,"userlib.lib")

linker:
灝嗕竴涓摼鎺ラ夐」鏀懼叆鐩爣鏂囦歡涓紝浣犲彲浠ヤ嬌鐢ㄨ繖涓寚浠ゆ潵浠f浛鍛戒護(hù)琛屼紶鍏ョ殑鎴栧垯鍦ㄥ紑鍙戠幆澧冧腑璁劇疆鐨勯摼鎺?br>閫夐」錛屼綘鍙互鎸囧畾/include 閫夐」鏉ュ己鍒跺寘鍚煇涓璞?br>ex:
  #pragma comment(linker,"/include:_mySymbol")
浣犲彲浠ュ湪紼嬪簭涓緗笅鍒楅摼鎺ラ夐」錛?br> /DEFAULTLIB
 /EXPORT
 /INCLUDE
 /MERGE
 /SECTION
璇︽儏璇峰弬鑰僲sdn

user: 灝嗕竴鑸殑娉ㄩ噴淇℃伅鏀懼叆鐩爣鏂囦歡涓紝commentstring 鍙傛暟鍖呭惈娉ㄩ噴鐨勬枃鏈俊鎭紝榪欎釜娉ㄩ噴璁板綍灝嗚
閾炬帴鍣ㄥ拷鐣ャ?br>ex:
 #pragma comment(user,"compiled on " _DATE" at "_TIMER_")

 

浣跨敤#pragma 瀵煎嚭 DLL 鍑芥暟
浼犵粺鐨勫鍑篋LL鍑芥暟鐨勬柟娉曟槸浣跨敤妯″潡瀹氫箟鏂囦歡(.def),Visual C++ 鎻愪緵浜?jiǎn)鏇唇巰媧佹柟渚跨殑鏂規(guī)硶,閭e氨
鏄?_declspec()" 鍏抽敭瀛楀悗闈㈣窡"dllexport",鍛婅瘔閾炬帴鍘誨鍑?guó)櫩欎釜鍑芥?
渚嬪 :
 _declspec(dllexport) int _stdcall MyExportFunction(int iTest);
鎶?__declspec(dllexport)"鏀懼湪鏈鍓嶉潰澹版槑,榪炴帴鐢熸垚鐨凞LL 灝變細(xì)瀵煎嚭鍑芥暟"_MyExportFunction@4".
涓婇潰瀵煎嚭鐨勫嚱鏁板悕縐頒篃璁鎬笉鏄垜浠笇鏈涚殑,鎴戜滑甯屾湜瀵煎嚭鍘熺増"鐨?MyExportFunction".  鍙互鎸囧畾鐢╒C
鎻愪緵鐨?#pragma"鎸囦護(hù)鏉ユ寚瀹氶摼鎺ラ夐」.
ex:
 #pragma comment(linker,"/EXPORT:MyExportFunction=_MyExportFunction@4")

鍘熷艦:  /EXPORT:entryname[,@ordinal[,NONAME]][,DATA]
 @ordinal 鎸囧畾欏哄簭;NONAME 鎸囧畾鍙皢鍑芥暟瀵煎嚭涓哄簭鍙?DATA鍏抽敭瀛楁寚瀹氬鍑洪」涓烘暟鎹」.



steven 2007-10-23 16:39 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              尤物精品在线| 99精品国产在热久久| 亚洲国产精品ⅴa在线观看| 国产综合香蕉五月婷在线| 欧美黄色一级视频| 雨宫琴音一区二区在线| 欧美大秀在线观看| 一区二区高清在线| 欧美一区二区三区免费观看 | 欧美色中文字幕| 亚洲欧洲在线免费| 99视频日韩| 国产一区二区激情| 欧美fxxxxxx另类| 亚洲欧美日韩成人| 欧美国产精品劲爆| 亚洲综合激情| 亚洲激情校园春色| 国产精品www994| 久久偷看各类wc女厕嘘嘘偷窃| 日韩午夜av在线| 免播放器亚洲一区| 欧美一级一区| 这里只有精品在线播放| 国内久久婷婷综合| 国产精品免费小视频| 嫩模写真一区二区三区三州| 亚洲午夜电影网| 在线看国产一区| 国产欧美日韩视频一区二区| 欧美国产精品中文字幕| 久久久精品网| 欧美在线免费视频| 午夜视频在线观看一区| 一区二区日韩免费看| 91久久亚洲| 亚洲激情av在线| 欧美成人午夜影院| 久热精品在线视频| 美女视频网站黄色亚洲| 久久乐国产精品| 久久婷婷丁香| 美国十次成人| 欧美v日韩v国产v| 欧美aⅴ99久久黑人专区| 久久亚洲欧美| 欧美成人a∨高清免费观看| 久久在线91| 欧美激情一区二区三区四区| 欧美激情欧美狂野欧美精品| 欧美成人69av| 亚洲肉体裸体xxxx137| 亚洲欧洲日本专区| 宅男精品视频| 久久av一区| 女人天堂亚洲aⅴ在线观看| 欧美激情亚洲综合一区| 欧美日韩国产成人在线观看| 国产精品视频免费| 国内精品久久久久影院薰衣草 | 亚洲性感美女99在线| 午夜精品福利一区二区蜜股av| 欧美伊人久久久久久午夜久久久久| 欧美在线免费视屏| 牛夜精品久久久久久久99黑人 | 欧美精品七区| 国产精品视频免费| 在线成人h网| 一级成人国产| 免播放器亚洲一区| 99精品国产99久久久久久福利| 午夜亚洲影视| 欧美精品观看| 在线观看成人av电影| 亚洲一区二区三区免费在线观看| 欧美在线首页| 夜夜嗨av一区二区三区中文字幕 | 亚洲成色www久久网站| 亚洲欧美日韩国产综合在线| 亚洲国产日韩一区| 久久国产精品99久久久久久老狼| 欧美日本一区二区三区| 在线看欧美日韩| 久久丁香综合五月国产三级网站| 亚洲人成网站精品片在线观看| 西西裸体人体做爰大胆久久久| 欧美成人精品三级在线观看| 国产日韩欧美91| 亚洲在线播放电影| 亚洲欧洲日本一区二区三区| 久久综合九色综合欧美就去吻| 国产精品卡一卡二卡三| 艳女tv在线观看国产一区| 亚洲第一页在线| 欧美jizzhd精品欧美巨大免费| 国内精品写真在线观看| 久久av资源网站| 欧美一区二区三区四区视频| 国产精品天美传媒入口| 新67194成人永久网站| 亚洲自拍都市欧美小说| 国产精品九九| 久久精品人人做人人综合| 小黄鸭视频精品导航| 国内精品久久久久影院色| 欧美中文字幕精品| 久久国产成人| 亚洲国产高清高潮精品美女| 亚洲第一中文字幕| 欧美伦理一区二区| 亚洲综合日韩在线| 小嫩嫩精品导航| 在线免费观看日本一区| 欧美激情1区2区3区| 欧美日韩国产一级| 欧美一级二级三级蜜桃| 久久婷婷人人澡人人喊人人爽| 亚洲国产成人av| 亚洲精品欧美日韩专区| 欧美网站在线| 久久人人97超碰精品888| 另类av一区二区| 亚洲欧美日韩在线播放| 久久久久国内| 亚洲欧美日韩中文在线制服| 久久久久久亚洲精品中文字幕| 一区二区三区欧美日韩| 久久久久久夜| 亚欧美中日韩视频| 欧美精品一区二区精品网| 久久大逼视频| 欧美日韩在线直播| 蜜臀av国产精品久久久久| 国产精品免费观看视频| 亚洲激情视频在线| 影音欧美亚洲| 午夜视频一区| 欧美亚洲一区二区在线| 欧美人成在线视频| 欧美激情亚洲| 在线观看欧美成人| 欧美一级久久久| 欧美一区二区三区成人| 欧美精品久久久久a| 免费日韩成人| 国产精品嫩草99a| 一区二区国产日产| 亚洲激情网站| 欧美成人国产va精品日本一级| 久久黄色小说| 国产精品自在欧美一区| 亚洲精品视频一区| av成人免费观看| 欧美成年人视频网站| 免费av成人在线| 亚洲二区在线观看| 久久久久se| 久色成人在线| 国产精品免费在线| 午夜国产精品视频免费体验区| 中文亚洲欧美| 欧美色123| 欧美一级片久久久久久久| 欧美一级片一区| 国产精品最新自拍| 亚洲一区二区三区高清| 久久精品国产精品| 国内精品国产成人| 久久亚洲免费| 一区二区91| 欧美一区2区三区4区公司二百| 欧美性片在线观看| 一区二区三区四区国产精品| 欧美资源在线| 亚洲第一精品福利| 欧美久久影院| 欧美一区二区在线免费观看| 免播放器亚洲一区| 一区二区欧美亚洲| 国内视频精品| 欧美精品二区三区四区免费看视频| 亚洲乱码国产乱码精品精可以看 | 亚洲激情专区| 亚洲一线二线三线久久久| 国产午夜精品一区二区三区视频 | 在线观看视频一区二区| 欧美精品久久久久久| 亚洲欧美日产图| 亚洲三级免费电影| 久久精品伊人| 一区二区三区四区五区视频| 国产拍揄自揄精品视频麻豆| 女主播福利一区| 亚洲欧美视频在线观看视频| 亚洲高清在线视频| 久久综合九色综合欧美狠狠| 亚洲午夜久久久久久久久电影院 | 夜夜嗨av一区二区三区中文字幕| 麻豆精品视频在线观看| 久久高清国产|