Time of Update: 2018-12-05
前段時間一直在想怎麼樣能讓視窗變得更漂亮一點,更加吸引人呢?在網上也看到了不少高手們的做法,但對於我這種不喜歡太複雜的人來說,我不是很喜歡那 樣寫代碼,GetSystemMetrics函數來得到各個邊框的長度或寬度。。。。沒幾下,我的頭就暈了,在查了許多資料以及實驗後,我終於找到了一種
Time of Update: 2018-12-05
為程式設定熱鍵就是用到一個RegisterHotKey系統API。當然些API的使用相對簡單,但也需要注意一些地方,所以在使用API前請參考MSDN相關文檔。本文只給出一個設定程式熱鍵的例子代碼如下:1. 在OnInitDialog中調用RegisterHotKey設定熱鍵RegisterHotKey(m_hWnd,1001,MOD_CONTROL|MOD_SHIFT,'S');2. 在對話方塊的標頭檔中聲明熱鍵處理函數 afx_msg LRESULT OnHotKey(WPARAM
Time of Update: 2018-12-05
有關托盤編程的基礎知識呢,也就上面這些了。下面呢,我們就進入具體的實戰演練階段,舉幾個托盤編程的例子瞧瞧,加深理解。 1、將程式最小化到系統托盤區的函數toTray()。void CTimeWakeDlg::toTray(){NOTIFYICONDATA
Time of Update: 2018-12-05
void CTest::OnPaint(){ CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here // Do not call CWnd::OnPaint() for painting messages CPoint ptCenter; CRect rect,ellipseRect; GetClientRect(&
Time of Update: 2018-12-05
VC++ 6.0支援Unicode編程,但預設的是ANSI,所以開發人員只需要稍微改變一下編寫代碼的習慣便可以輕鬆編寫支援UNICODE的應用程式。 使用VC++ 6.0進行Unicode編程主要做以下幾項工作:
Time of Update: 2018-12-05
1、用vc建立一個dialog1工程。屬性預設。2、insert一個dialog2,改為child。3、在dialog1中包含dialog2標頭檔,在一個按鈕事件中顯示dialog2:Cdialog2 *p = new
Time of Update: 2018-12-05
VC內建的SDK中為我們提供了一個Sleep函數,此函數的最小單位為毫秒(既千分之一秒);但在實際的應該中(特別是網路資料轉送)我們需要更小的休眠單位(微秒),而系統又沒有提供相關API,那麼我們如何?微秒(既十萬分之一秒)的休眠呢? 我們知道系統中為我們提供了QueryPerformanceFrequency與QueryPerformanceCounter等相關API,而這些API的時間單位都是微秒及的;這為我們實現微秒休眠提供了思路;為了實用起見我們就直接給出函數代碼,代碼如下://
Time of Update: 2018-12-05
文章目錄 第一步第二步第三步 很多基於對話方塊的程式都有一個啟動畫面,那麼如何為自己的對話方塊程式也加一個這樣的畫面呢?本文將一步一步教你實現每一個細節。其實VC++開發環境中有 一個現成的 Splash Screen 組件,用這個組件很容易實現基於架構類(也就是CMainFrame)的程式的啟動畫面,那麼如果是對話方塊程式,沒有架構類怎麼辦呢?所以這個組件功能不
Time of Update: 2018-12-05
void CMy7877Dlg::OnOK() {// TODO: Add extra validation hereUpdateData(TRUE);CInternetSession session("HttpClient"); url = m_a; CHttpFile* pfile = (CHttpFile *)session.OpenURL(url); DWORD dwStatusCode; pfile ->
Time of Update: 2018-12-05
動態更改視窗的表徵圖非常的簡單,其原來就是給目標視窗發送一個WM_SETICON訊息既可。我們可以調用SendMessage系統API來給視窗發送訊息,當然在MFC程式裡我們使用如下更為簡單的方法: //載入表徵圖HICON
Time of Update: 2018-12-05
實現方法採用將動態串連庫注入到其他進程中的方法來實現。為了便於選擇視窗,我借用了另一個程式"2000下顯示帶*號"來選擇視窗。如果要在98下實現你可用鉤子同樣實現。程式運行介面如:將動態串連庫注入其他進程的代碼如下:BOOL WINAPI RT_CTRL_BTN(LPCSTR lpszLibFile, HWND hWnd, DWORD dwID, LPRECT pRtBtn, LPCTSTR szCaptionBtn){try {DWORD
Time of Update: 2018-12-05
WM_DEVICECHANGLE訊息,nEventType為DBT_DEVICEARRIVAL且dwData = 7時就是隨身碟串連事件(沒弄錯的話)我想RegisterDeviceNotification中參數DEV_BROADCAST_DEVICEINTERFACE結構體的GUID dbcc_classguid;為裝置的GUID,填什麼參數啊?typedef void (__stdcall *FUNC_TYPE_HIDGUID) (OUT LPGUID HidGuid);FUNC_
Time of Update: 2018-12-05
基址有3個,任選1. CurRoleBase=00775AD4 =00775ad0 =00775AEC 角色名稱 db [[[[CurRoleBase]+0c]+1b4]+4]+0x30角色等級 dd[[[[[CurRoleBase]+0c]+1b4]+4]+0x60 角色當前血值 dd[[[[CurRoleBase]+0c]+1b4]+4]+0x1e18 角色最大血值 dd[[[[CurRoleBase]
Time of Update: 2018-12-05
如何開啟一個應用程式? ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或 ShellExecute(this->m_hWnd,"open","notepad.exe","c:\\MyLog.log","",SW_SHOW );正如您所看到的,我並沒有傳遞程式的完整路徑。Q: 如何開啟一個同系統程式相關連的文檔? ShellExecute(this->m_hWnd,"open",
Time of Update: 2018-12-05
最近有個朋友做了一個基於對話方塊的小程式,大家知道,一般具有使用者介面的 Windows 程式運行起來後,通常都會在工作列裡體現出來。我的這個朋友不想讓她做的對話方塊程式啟動並執行時候顯示在工作列裡。問我如何隱藏?我參考了 MSDN 後告訴她說使用 WS_EX_TOOLWINDOW 擴充視窗式樣。她按照我說的方法試了一下,結果沒有成功。後來我琢磨了半天,發現這件事情並不像文檔中說的那麼簡單。MSDN 裡對 WS_EX_APPWINDOW 的描述是這樣的: 用
Time of Update: 2018-12-05
實現為對話方塊程式添加狀態列主要步驟如下:1. 在資源的String table添加兩個字串資源資源ID 資源值IDS_PANEL1 第一個PanelIDS_PANEL2 第二個Panel2. 在對話方塊類中加入CStatusBar成員變數 CStatusBar m_wndStatusBar;3. 在StdAfx.h檔案裡定義如下分割數組static UINT indicators[]
Time of Update: 2018-12-05
使用過Access的人都知道,在表資料輸入時Access自動切換IME,如某欄位需要輸入英文時自動切換到En輸入狀態,如另一欄位需要輸入中文自動切換到某中文輸入狀態;這給我們的資料輸入提供了極大的方便。如果在應用程式中也如Access那樣為使用者提供IME智能自動切換,那麼這樣的應用程式不僅給使用者帶來了方便同時也顯得我們更加專業化;這樣我們的應用程式也就更加具有競爭力。如大多數的系統配置一樣,IME的控制也是通過對相應的登錄機碼的修改來實現的;在本文裡我們就不對相關登錄機碼的具體位置及相關項目
Time of Update: 2018-12-05
老哥剛好有這樣一段現成的程式,功能比你的不多一點:增加了改變為紅色的功能,還是比較簡單: 1 定義手形滑鼠資源: #ifndef IDC_HAND #define IDC_HAND MAKEINTRESOURCE(32649) #endif 2 定義好字型變色色開關bool m_bColorSwitchOpened;不為TRUE時字型變紅,初始化為FALSE, 3 定義下畫線函數,以便於調用 void CCtmpDlg::AddLine() { CRect rect;
Time of Update: 2018-12-05
相信很多人在VC下開發程式的時候大多都會採用基於對話方塊的開發吧,我也不例外,大多數的小型測試程式沒有必要開發基於文檔/視圖的結構來測試,只要使用一些基本的對話方塊程式就可以達到這個目的 。但是在開發基於對話方塊的程式時,要使用到一些 Spy++ 的功能檢測的時候,就會出現一些問題。什麼問題呢?當我使用 Spy++ 去檢測一個對話方塊的視窗類別 時,並想得到一個對話方塊的視窗類別,以便我在使用鉤子的時候可以指定一個對話方塊進行 hook,但是結果出乎我意料之外
Time of Update: 2018-12-05
//尋找目標資源HRSRC hResource = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_MAINPROG), TEXT("exe"));if(hResource){ //載入資源 HGLOBAL hg = LoadResource(GetModuleHandle(NULL), hResource); if(hg) { //鎖定資源 LPVOID