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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【备忘录】技术笔记整理。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    【原創性聲明】基本上是我平時編碼時,通過MSDN,網絡搜索等記錄的一些技術性筆記。這些內容本質上沒有我的原創性和創新性內容,但是因為很雜所以本身并不容易都能一一記住。在這里列出這些條目,已C++為主,沒有什么中心思想,僅為備忘和查詢使用。

    (1)檢測合法輸入的標準化寫法(char*):

    char text[]; //待檢測文本

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

      return FALSE;

    其中,desiredLength 是輸入內容的預期長度,"1234567890” 是合法字符集合。

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

    * 當 count <= strlen ( source ) 時不會在后面自動添加 null-terminator,僅執行拷貝字符動作。

    * 當 count > strlen ( source ) 時,會在后面補 0,直到拷貝到目標緩沖區的字符個數達到 count 為止。

    (3)alloca (size_t size) 用于在棧上分配空間(無須對應的釋放函數)。

    (4)把制定進制表示的字符串轉換成整數:strtol。

    (5)AdjustWindowRectEx 函數:根據客戶區矩形測量出窗口矩形。

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

    (6)如果在構造(析構)函數中調用虛函數,則調用的是自身類型定義的函數。(這句話表義不太精確,忘記我當初記的是什么含義)

    (7)MFC 獲取時間跨度。

    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)在對話框上添加蝕刻線:

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

    調整ComboBox 下拉框高度: 選中 ComboBox, 點擊下拉按鈕,向下拉尺寸框。注意,如果是用 CreateWindow 函數創建的下拉框,指定的高度不應該是文本框高度,而是包含了文本框 + 下拉列表框的總高度。

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

    (10)MessageBeep ( MB_ICONEXCLAMATION ) :發出系統定義的警告聲。

    (11)在用戶界面上繪制標準控件(例如按鈕,右下角的拖動三角形圖案):DrawControlFrame。

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

    繪制焦點矩形:DrawFocusRect。

    (12)在 for 循環中如果用 break 結束循環,不會執行第三個分句。例如:

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

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

    (13)struct 是一種成員函數默認為 public 的 class。

    (14)HRESULT CoFileTimeNow ( FILETIME * lpft ) : 當前時間作為 FILETIME 結構返回。

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

    (16)控制服務狀態:ControlService。

    (17)_beginthread, _endthread 是 C 運行時庫函數;

      CreateThread 是 WIN32 API。默認一個線程的棧為 1 MB。

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

    (18)EnumDesktops:枚舉當前進程所在工作站的桌面。

    (19)SetProcessWindowStation:設置進程的窗口工作站。

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

    (20)SID:security identifier ,可變長度的一個結構體,用于唯一標識用戶或組。

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

    Securable Object:可以擁有一個安全描述符的對象。

    Security descriptor: 安全描述符,和一個 securable object 關聯。

    Security descriptors:包括

      SIDs (主人,組),

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

      SACL:(這是什么?)

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

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

    Access Token:包含一個登陸會話的權限信息。

    

    (21)獲取系統信息(CPU個數,CPU類型):GetSystemInfo。

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

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

      IShellLink 接口:創建,修改,解析快捷方式。

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

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

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

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

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

    (29)關閉窗口時動畫效果(例如漸隱):AnimateWindow。

    (30)比 CreateProcess 更簡便的兩個函數:WinExec, ShellExec。

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

    

    (未完待續)

    

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。