日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【备忘录】技术笔记整理。

發(fā)布時(shí)間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【备忘录】技术笔记整理。 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

    【原創(chuàng)性聲明】基本上是我平時(shí)編碼時(shí),通過(guò)MSDN,網(wǎng)絡(luò)搜索等記錄的一些技術(shù)性筆記。這些內(nèi)容本質(zhì)上沒(méi)有我的原創(chuàng)性和創(chuàng)新性內(nèi)容,但是因?yàn)楹茈s所以本身并不容易都能一一記住。在這里列出這些條目,已C++為主,沒(méi)有什么中心思想,僅為備忘和查詢使用。

    (1)檢測(cè)合法輸入的標(biāo)準(zhǔn)化寫(xiě)法(char*):

    char text[]; //待檢測(cè)文本

    if( strlen ( text ) != desiredLength || strspn ( text, "1234567890") < desiredLength )

      return FALSE;

    其中,desiredLength 是輸入內(nèi)容的預(yù)期長(zhǎng)度,"1234567890” 是合法字符集合。

    (2)strncpy ( char *dest, const char *source, size_t count ) 的特征:

    * 當(dāng) count <= strlen ( source ) 時(shí)不會(huì)在后面自動(dòng)添加 null-terminator,僅執(zhí)行拷貝字符動(dòng)作。

    * 當(dāng) count > strlen ( source ) 時(shí),會(huì)在后面補(bǔ) 0,直到拷貝到目標(biāo)緩沖區(qū)的字符個(gè)數(shù)達(dá)到 count 為止。

    (3)alloca (size_t size) 用于在棧上分配空間(無(wú)須對(duì)應(yīng)的釋放函數(shù))。

    (4)把制定進(jìn)制表示的字符串轉(zhuǎn)換成整數(shù):strtol。

    (5)AdjustWindowRectEx 函數(shù):根據(jù)客戶區(qū)矩形測(cè)量出窗口矩形。

    提供一個(gè)客戶區(qū)矩形,根據(jù)窗口樣式和擴(kuò)展樣式,是否有菜單等信息,返回能容納該客戶區(qū)矩形的窗口矩形,此窗口矩形然后可以傳遞給 CreateWindowEx 函數(shù)。

    (6)如果在構(gòu)造(析構(gòu))函數(shù)中調(diào)用虛函數(shù),則調(diào)用的是自身類型定義的函數(shù)。(這句話表義不太精確,忘記我當(dāng)初記的是什么含義)

    (7)MFC 獲取時(shí)間跨度。

    CTime time1 ( 2008, 8, 8, 0, 0, 0 );

    CTime time2 = CTime :: GetCurrentTime ();

    CTimeSpan timespan = time2 - time1;

    CString strText;

    strText.Format ( _T ( " %d days %d hours " ), timespan.GetDays(), timespan.GetHours ( ) );

    (8)在對(duì)話框上添加蝕刻線:

    添加 Image 控件,把 Color 屬性改為 Etched。

    調(diào)整ComboBox 下拉框高度: 選中 ComboBox, 點(diǎn)擊下拉按鈕,向下拉尺寸框。注意,如果是用 CreateWindow 函數(shù)創(chuàng)建的下拉框,指定的高度不應(yīng)該是文本框高度,而是包含了文本框 + 下拉列表框的總高度。

    (9)FlashWindow / FlashWindowEx: 閃爍窗口和任務(wù)欄按鈕。

    (10)MessageBeep ( MB_ICONEXCLAMATION ) :發(fā)出系統(tǒng)定義的警告聲。

    (11)在用戶界面上繪制標(biāo)準(zhǔn)控件(例如按鈕,右下角的拖動(dòng)三角形圖案):DrawControlFrame。

    繪制三維外觀的矩形邊緣:DrawEdge;

    繪制焦點(diǎn)矩形:DrawFocusRect。

    (12)在 for 循環(huán)中如果用 break 結(jié)束循環(huán),不會(huì)執(zhí)行第三個(gè)分句。例如:

    for ( i = 0; i < 1000 ; i ++ ) break;

    printf ( " i = %d \n" , i ); //輸出 i = 0;

    (13)struct 是一種成員函數(shù)默認(rèn)為 public 的 class。

    (14)HRESULT CoFileTimeNow ( FILETIME * lpft ) : 當(dāng)前時(shí)間作為 FILETIME 結(jié)構(gòu)返回。

    (15)IActiveDesktop :: SetWallpaper : 設(shè)置桌面壁紙。

    (16)控制服務(wù)狀態(tài):ControlService。

    (17)_beginthread, _endthread 是 C 運(yùn)行時(shí)庫(kù)函數(shù);

      CreateThread 是 WIN32 API。默認(rèn)一個(gè)線程的棧為 1 MB。

      ExitThread 可以提供一個(gè)線程退出碼,用 GetExitCodeThread 獲取這個(gè)碼。

    (18)EnumDesktops:枚舉當(dāng)前進(jìn)程所在工作站的桌面。

    (19)SetProcessWindowStation:設(shè)置進(jìn)程的窗口工作站。

    WindowStation 工作站包括以下資源:所有桌面,剪貼板,原子量(這是什么?)

    (20)SID:security identifier ,可變長(zhǎng)度的一個(gè)結(jié)構(gòu)體,用于唯一標(biāo)識(shí)用戶或組。

    Access Control: 權(quán)限控制 (winme,95,98不支持)。

    Securable Object:可以擁有一個(gè)安全描述符的對(duì)象。

    Security descriptor: 安全描述符,和一個(gè) securable object 關(guān)聯(lián)。

    Security descriptors:包括

      SIDs (主人,組),

      DACL:針對(duì)特定用戶、組的權(quán)限(允許/拒絕)

      SACL:(這是什么?)

      一組控制位:指出其自身或成員含義。

    securable objects:包括所有命名的windows對(duì)象。一些未命名對(duì)象(例如進(jìn)程,線程)。對(duì)于大多數(shù)對(duì)象,可以在創(chuàng)建他們的API中指定安全描述符,例如:文件,目錄,命名/匿名管道,進(jìn)程,線程,文件映射,access tokens,系統(tǒng)管理對(duì)象(工作站,桌面),注冊(cè)表鍵,系統(tǒng)服務(wù),網(wǎng)絡(luò)共享,進(jìn)程同步對(duì)象(events,mutexes,sepaphors,調(diào)度(job objects),目錄服務(wù)對(duì)象。

    Access Token:包含一個(gè)登陸會(huì)話的權(quán)限信息。

    

    (21)獲取系統(tǒng)信息(CPU個(gè)數(shù),CPU類型):GetSystemInfo。

    (22)播放wav文件:PlaySound ( _T("....wav"), NULL, SND_FILETIME | SND_ASYNC );

    (23)創(chuàng)建快捷方式:SHCreateShortcutEx。

      IShellLink 接口:創(chuàng)建,修改,解析快捷方式。

    (24)獲取特定文件夾路徑:SHGetFolderPathAndSubDir。

    (25)MFC中測(cè)量字符串:CDC::GetOutputTextExtent。

    (26)重繪菜單:DrawMenuBar ( HWND )。

    (27)獲取對(duì)話框字體大小:GetDialogBaseUnits。

    (28)讓 ComboBox 實(shí)現(xiàn)自動(dòng)完成(類似IE地址欄):SHAutoComplete?(注意需要先調(diào)用COM初始化函數(shù))
???    HWND hComboBox = GetDlgItem(hDlg, IDC_COMBO_TEST);
???    HWND hEdit = FindWindowEx(hComboBox, NULL, _T("Edit"), NULL);
???    SHAutoComplete(hEdit, SHACF_DEFAULT | SHACF_FILESYSTEM) ;

    (29)關(guān)閉窗口時(shí)動(dòng)畫(huà)效果(例如漸隱):AnimateWindow。

    (30)比 CreateProcess 更簡(jiǎn)便的兩個(gè)函數(shù):WinExec, ShellExec。

    (31)添加,修改,刪除托盤(Tray)圖標(biāo):Shell_NotifyIcon。

    

    (未完待續(xù))

    

總結(jié)

以上是生活随笔為你收集整理的【备忘录】技术笔记整理。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。