Time of Update: 2018-12-05
1、手動在控制台添加印表機,選擇“添加本機印表機”,(如果是非win7系統的話,還要點上並取消“自動檢測並安裝隨插即用印表機”選擇),連接埠選擇“Adobe PDF”,如果沒有這個連接埠,則選擇建立新連接埠。2、驅動程式不要在列表中選擇,而是選擇從磁碟安裝,選擇指向 Acrobat 檔案夾下的 Xtras 子目錄,找到 AdobePDF.inf(這個就是關鍵的驅動程式檔案):X:\Program Files\Adobe\Acrobat
Time of Update: 2018-12-05
熱鍵分菜單熱鍵、應用程式熱鍵和系統級熱鍵。一、菜單熱鍵:直接在菜單中包含 &X 即可,X是任意你想使用的字元鍵。樣本:About功能表項目的Caption可以這麼寫:“&About”或者“關於(&A)”都表示用A來調用該功能表項目,不區分大小寫。二、應用程式熱鍵:<1>非基於對話方塊的:在Resource
Time of Update: 2018-12-05
RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE,1,0,NULL);這個函數封裝在NtDll.dll中(在所有DLL載入之前載入),被微軟嚴格保密,就是說你在MSDN上查不到關於他的任何資訊。.常量 SE_BACKUP_PRIVILEGE, "17", 公開.常量 SE_RESTORE_PRIVILEGE, "18", 公開.常量 SE_SHUTDOWN_PRIVILEGE, "19", 公開.常量 SE_DEBUG_PRIVILEGE, "20", 公開先來看看這個
Time of Update: 2018-12-05
呼叫慣例:__cdecl __fastcall與 __stdcall,三者都是呼叫慣例(Calling
Time of Update: 2018-12-05
最近碰到個問題,客戶那邊發布 SQL 檔案到生產庫,處於稽核的考慮,不能直接使用 JDBC 的使用者,須使用第三方使用者名稱。那麼這樣就會給開發人員帶來麻煩,每次發布的時候,表名必須帶上生產環境的 JDBC 使用者名稱。為瞭解決這個問題,特地開發個輔助軟體,用於將開發人員提交的 SQL 檔案中的表名自動加上指定的表所有者。 : 這裡面還有兩個插曲:1、為了替換裡面的表名,肯定不能簡單的 Replace,那能藉助什麼呢?自然是強大的Regex了。幸好 Microsoft 在 ATL
Time of Update: 2018-12-05
MSDN:Difference between text mode file and binary mode fileFile I/O operations take place in one of two translation modes, text or binary, depending on the mode in which the file is opened. Data files are usually processed in text mode. To control
Time of Update: 2018-12-05
現在很多程式開啟檔案時都帶映像預覽,比如 QQ 也有,但是功能很弱,唯一我覺得還比較可以的,就是 Axialis IconWorkshop,它還可以支援從 .exe .dll .ocx 中提取表徵圖來進行預覽,不過人家是商業軟體,要 $ 的。俺是要錢沒有,爛命一條,自己動手,豐衣足食:)先把最終的拿出來看看: 自己動手開發過程中,才發現其實要解決的問題還是挺多的,首先是繼承 CFileDialog
Time of Update: 2018-12-05
(1) char*轉換成CString 若將char*轉換成CString,除了直接賦值外,還可使用CString::Format進行。例如:char chArray[] = "This is a test"; char * p = "This is a test"; 或LPSTR p = "This is a test"; 或在已定義Unicode應的用程式中TCHAR * p = _T("This is a test"); 或LPTSTR p = _T("This is
Time of Update: 2018-12-05
替換exe可執行檔的表徵圖:1、首先取得源資源的指標;2、利用UpdateResource函數進行替換; void CDlgTest2Dlg::OnBTNUpdateResource() ...{ // TODO: Add your control notification handler code here HMODULE hExe; HANDLE hUpdateRes; HRSRC hRes; HANDLE hResLoad; char *lpResLock; BOOL result;
Time of Update: 2018-12-05
近日寫個程式,後台線程執行時需要顯示個進度視窗,而這個視窗我又不希望使用者自己關閉,所以想辦法要屏蔽 Alt+F4 和 Escape 這兩個訊息。 一般情況下,馬上想到的就是處理 WM_KEYDOWN 和 WM_SYSKEYDOWN 訊息: afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); afx_msg void OnSysKeyDown(UINT nChar, UINT nRepCnt,
Time of Update: 2018-12-05
註:本文為本人原創,轉載請註明出處 http://blog.csdn.net/DavidHsing/,謝謝! 一直以來,傾心於 Nullsoft Install System 安裝程式,想實現上面的橫幅 (banner) 效果。 Delphi 等愛好者就不要繼續往下看了,第三方的組件 TmxGradientBckgndPanel 完全可以滿足你們的要求(如果不知道,看看 GOSURF)。本文所述的是採用 Visual C++ 來實現。先來張看看: 可能這時有的
Time of Update: 2018-12-05
含有/F的for格式:FOR /F ["options"] %%i IN (file) DO commandFOR /F ["options"] %%i IN ("string") DO commandFOR /F ["options"] %%i IN ('command') DO command這個可能是最常用的,也是最強的命令,主要用來處理檔案和一些命令的輸出結果。file代表一個或多個檔案string 代表字串command代表命令["options"] 可選對於FOR /F %%i
Time of Update: 2018-12-05
機器壞了,重裝系統之後重裝 Visual Studio 2008,.Net Framework 3.5 安裝失敗:Microsoft .NET Framework 3.5: [2] Error code 1603 for this component means "安裝時發生嚴重錯誤。 發生這樣的錯誤是因為 3.5 安裝時和以前的版本不相容,必須把之前的 Fraework 1.1 或 2.0 卸載掉才行,之前每次也都是這麼去做,不過很麻煩。因為我可不喜歡 MS
Time of Update: 2018-12-05
1.sizeof操作符的結果類型是size_t,它在標頭檔中typedef為unsigned int類型。 該類型保證能容納實現所建立的最大對象的位元組大小。 2.sizeof是算符,strlen是函數。 3.sizeof可以用類型做參數,strlen只能用char*做參數,且必須是以''/0''結尾的。 sizeof還可以用函數做參數,比如: short f(); printf("%d ", sizeof(f())); 輸出的結果是sizeof(short),即2。
Time of Update: 2018-12-05
大名鼎鼎的 BCGControlBar,功能介紹就不多說了,Microsoft 都採用的介面庫。 如果您不知道,那麼可能您不是本文的讀者。 可惜其安裝版存在一些問題,比如 Pro V9.56 版在 Visual Studio 2008 下安裝之後無法啟動嚮導;英文嚮導介面樣式不對;沒有中文嚮導。 本軟體正是為這兩點而做,壓縮包附詳細安裝說明。 花了不少心思,轉載請註明出處: http://blog.csdn.net/DavidHsing 資源:
Time of Update: 2018-12-05
程式有 com,需要註冊,但是在 win7 上面如果不是管理員權限的話,執行就會失敗。先是通過代碼提升使用者權限的。代碼如下:BOOL UpgradeProcessPrivilege(HANDLE hProcess, LPCTSTR lpPrivilegeName ) { HANDLE hToken = NULL; if(OpenProcessToken(hProcess, TOKEN_ALL_ACCESS, &hToken)) { LUID Luid;
Time of Update: 2018-12-05
該文章系轉載, 出處不詳, 僅具參考價值. VirtualAlloc 一次分配 1PAGE 以上的 RAM. 每次分配都是 PAGE 的整數倍. 你不會想為了分配 1 個 BYTE 的空間而浪費剩下的 4095 位元組. OK, 你可以自己寫演算法, 多分配幾 PAGE. 然後每次分配少量資料時就從那幾 PAGE 中劃分出來. KERNEL32 提供了一個解決辦法, 用 HeapAlloc/GlobalAlloc 分配 RAM. 這樣, KERNEL32 協助完成分配動作,
Time of Update: 2018-12-05
最近在研究這個問題,想限制只有一個應用程式執行個體。不過這個問題已經是老生常談的話題了,去網上搜尋一下,一大堆的結果。通常的做法都是通過 Mutex 或者 FindWindow 來進行,可是並不符合本文的需求。因為我要達到的要求是:1、首先肯定只允許一個應用程式執行個體運行;2、當第二個執行個體運行時,啟用第一個執行個體,並可將相應的參數(比如需要處理的新檔案名稱)傳遞給第一個執行個體;3、鑒於 FrameWnd 和 Dialog 基類的處理方式(Dialog 的 DoModal() 會導致
Time of Update: 2018-12-05
我們暫且使用“記事本”來建立我們的XML檔案吧。先看一個XML檔案: 例1 〈?xml version="1.0" encoding="gb2312" ?〉 〈參考資料〉 〈書籍〉 〈名稱〉XML入門精解〈/名稱〉 〈作者〉張三〈/作者〉 〈價格 貨幣單位="人民幣"〉20.00〈/價格〉 〈/書籍〉 〈書籍〉 〈名稱〉XML文法〈/名稱〉 〈!--此書即將出版--〉 〈作者〉李四〈/作者〉 〈價格
Time of Update: 2018-12-05
BCG 是個很不錯的介面庫,MFC 傳統介面的不二選擇。他的絕大部分控制項都相當不錯,不過在一些細節地方,似乎 XtremeToolkit 還略勝一籌,比如顏色選擇按鈕、目錄選擇按鈕...他的顏色按鈕,微軟吸收以後命名為 CMFCColorButton,保持以前下拉式清單的風格,個人不太喜歡,還是覺得 XtremeToolkit 的做的類似於按鈕的做的更合我意一點。但是 XtremeToolkit 是要掏錢的,既然俺有