Time of Update: 2018-12-03
在Window應用程式裡用過treeView的.NET朋友可能都有這樣一個問題,就是給treeView添加了事件treeView1_AfterSelect,在這個事件裡開啟一個非強制回應表單,這個表單會出現在treeView所在表單的後面,原因我想可能大家都知道,我就不多說了,問題是怎麼能讓這個表單正常的顯示到最前面呈啟用的視窗呢.我有如下的代碼正好做到了這一點,大家可以參見一下,有什麼問題可以給我說喲,呵呵:private delegate void dlgProc(string path);
Time of Update: 2018-12-03
有時候我們對樹控制項的雙擊預設操作不太滿意,比如我們在雙擊一有子節點的節點的時候不希望開啟或關閉它的子節點而想執行一個特定的操作,這時怎麼來寫呢,我這裡有一個辦法可以做到這一點:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace TreeViewS{ /// <
Time of Update: 2018-12-03
有一個64位整數值: Int64 n = 634636512000000000;有兩種方法可以轉為位元組流1: byte[] buffer = new byte[8]; buffer[0] = (byte)n; buffer[1] = (byte)(n >> 8); buffer[2] = (byte)(n >> 0x10); buffer[3] = (byte)(n >> 0x18); buffer[4] = (byte)(n &
Time of Update: 2018-12-03
使用VS2010編譯VC++項目的時候可能會出這個問題。據說升級到SP1後可能問題解決,但是下載量太大,目前沒有得到證實。網上大多的方法都是說在“清單工具”中將嵌入清單改成“否”,但是這個不一定100%解決問題。我總結了下這個問題的解決方案:1:如果項目是一個動態庫,或者說,項目中沒有實質的資源檔的時候,將嵌入清單改成“否”是可以解決的。2:如果項目已有了資源檔,將嵌入清單改成“否”是不可以解決問題的,除非你同時把這些資源檔移除掉。結論,確保項目中沒有資源檔的存在,且把嵌入清單改成“否”可以解決
Time of Update: 2018-12-03
如何“徹底地”關閉textbox的右鍵菜單? 把textbox的contextmenu賦了一個空菜單,在textbox上點右鍵確實預設的菜單是不出來了,但是如果單擊右鍵後按住不放,挪動滑鼠到textbox外再鬆開,預設的菜單就彈出來了。這是一個網友的提問,我用C#和VB.NET分別做了實現的一種方式,是如下做的:WM_CONTEXTMENU = 0x007B; //當使用者某個視窗中點擊了一下右鍵就發送此C#:using System;using System.Drawing;using
Time of Update: 2018-12-03
在看雪論壇看見了這個遊戲,其實是很早以前DOS下遊戲“天蠶變”的翻版。下的版本和文章上的版本不一樣,因此原來提供的註冊機不能用。發現是機器碼的長度變長了。照著原來的思路從新調試了一回。附上註冊機 看雪論壇原帖的連結。下面的代碼和原來的還是有點細微的差別的,請注意觀察。http://bbs.pediy.com/showthread.php?t=42499#include "stdio.h"#include "conio.h"#include "string.h"void main(){
Time of Update: 2018-12-03
昨天看到一個Eclipse外掛程式,要註冊。就反編譯了一把。找到了算註冊碼的地方。可是還是看不太懂。發現用了BigInteger運算。又用了m.modPow(d, n)這樣的代碼。沒辦法,上google搜了一把。終於明白這裡是用了RSA 演算法。這裡是網上的對RSA演算法的介紹:The RSA algorithm was invented in 1978 by Ron Rivest, Adi Shamir, and Leonard Adleman.Here's the relatively
Time of Update: 2018-12-03
斷電後,IIS佔用cpu 100% 持續原因分析:發生中斷時,IIS會寫異常日誌,但是此時寫入了亂碼,造成IIS一直寫日誌的死迴圈,耗盡了系統資源。找到系統路徑\System32\Logfiles\W3SVC1 下當天的錯誤記錄檔檔案,即可看到以上內容。 解決一:刪除 系統路徑\System32\Logfiles\W3SVC1 下當天的錯誤記錄檔檔案,如:ex060425.log,然後重新啟動IIS即可。解決二:第一步:先進入IIS管理器,刪除預設網站的iisadmin虛擬目錄
Time of Update: 2018-12-03
VC寫的DLL類庫,在其運行時可能需要附加到進行的進程調試,__debugbreak()方法可以讓我們對程式添加斷點進行調試,為了方便附加進程,我們一般需要這樣設定下更好使用:控制台\系統和安全\控制中心\問題報告設定(選上)每次發生問題時,在檢查解決方案之前先詢問我(&M) 這樣當遇到這個斷點時系統會很快的讓我們選擇是否調試。選中調試就可以容易的附加到進程。
Time of Update: 2018-12-03
IntPtr.Size PropertyProperty ValueType: System.Int32The size of a pointer or handle in this process, measured in bytes. The value of this property is 4 in a 32-bit process, and 8 in a 64-bit process. You can define the process type by setting
Time of Update: 2018-12-03
用這個類的方法Start可以開始捕獲鍵盤和滑鼠的在全域事件和相應的參數資訊,也就所謂的鉤子程式:以前見一個高人寫的一個程式,開始看不明白,經過我的"反譯"變的好理解了些,拿來和大家共用一下:得到滑鼠的訊息的類:using System;using System.Runtime.InteropServices;using System.Reflection;using System.Threading;using System.Windows.Forms;namespace HookGlobal{
Time of Update: 2018-12-03
使用DataReader把資料直接讀取到一個指定的類型列表中。省去了像使用Xml或DataTable等中間類型轉換,提高了效能。相當於直接從資料庫中讀取了儲存的對象。使用Emit比使用反射效能要高很多。因為它相當於直接運行編碼的函數,而反射有很大的效能損耗。然後編寫這個動態函數也需要一定的消耗,所以對於反覆使用的類型可以緩衝這個編寫好的方法以便快速的執行。 (修改:增加了一個編譯條件WRITE_FILE用來將記憶體方法儲存到檔案以便編譯成C#語言,增加漏掉的輔助函數)///
Time of Update: 2018-12-03
http://hi.baidu.com/guo_1017/item/67b9ea33a4db5025b2c0c514VC.Net的託管與非託管混合編程文章來源:卓銳精品之博 http://blog.elitehome.cn作者:華瓏這幾天一直研究VC.Net的託管與非託管混合編程.Net作為一個非常優秀的開發平台,能讓開發人員快速開發介面與應用,但.NetManaged 程式碼是可以很輕易的反編譯,給開發人員帶來了很多麻煩。而 VC.Net的Unmanaged
Time of Update: 2018-12-03
MSDN:異常處理通常,錯誤條件都將作為常規流程式控制制使用。在此情況下,如果試圖通過編程將使用者添加到 Active Directory 執行個體中,則只能試著添加該使用者,如果系統返回 E_ADS_OBJECT_EXISTS HRESULT,則說明它們已經存在於該目錄中。此外,您也可以通過搜尋目錄尋找該使用者,如果搜尋失敗則只需添加該使用者。按照常規流程式控制制使用錯誤,在 CLR 環境中會降低效能。CLR 中的錯誤處理是藉助結構化異常處理實現的。引發異常之前,託管異常的開銷非常小。在
Time of Update: 2018-12-03
預設版本號碼如下:[assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersion("1.0.0.0")] 如果需要指定版本號碼可以改寫上面的數字。但是也可以自動的讓VS自已來處理,比如:[assembly: AssemblyVersion("1.0.*")]//[assembly: AssemblyFileVersion("12.4.*")] 這樣程式集的版本號碼,的主、次版本號碼手動維護,組建號和修正版本號碼會自動增加。
Time of Update: 2018-12-03
在win7下TreeView可能會出現一個問題:當節點多的時候,最後一行的節點可能會被捲軸給忽略掉。除非把樹控制項拉大,否則就很難操作到它。其實有一個很簡單的解決方案。就是在載入節點的時候,使用BeginUpdate和對應的EndUpdate。如下所示:try{ this.treeView.BeginUpdate(); //loadTreeNodes...}finally{ this.treeView.EndUpdate();} 不但提高的效率,而且消滅了問題。
Time of Update: 2018-12-03
使用Excel的時候明明就一個Sheet1,可是編程使用Microsoft.ACE.OLEDB.12.0確能得到兩個表結果: Sheet1$Sheet1$FilterDatabase 開啟Excel檔案尋找“名稱管理器”(公式-名稱管理器)並不能找到這個FilterDataBase名稱,其實這個是隱藏了,可以通過宏來顯示: 開啟那個VB宏編輯器(Atl+F11或通過錄製宏-編輯宏開啟編輯器)將下面的代碼粘貼進去: Sub ShowAllNames() For Each n In
Time of Update: 2018-12-03
http://oscar.objectweb.org/What is Oscar?Oscar is an open source implementation of the Open Services Gateway Initiative (OSGi) framework specification; the goal is to provide a completely compliant implementation of the OSGi framework specification.
Time of Update: 2018-12-03
到處找通達信的可閃電下單功能的版本,終於找到了。比老版的通達信好多了。下載http://www.tdx.com.cn/products/autoup/client/new_gxzq.exe 1.修改預設視窗大小通達信視窗最小隻能為640 X 228大小,可以按如下方式修改:開啟UltraEdit,尋找C740188002000083C108C7401CAA010000,修改為C740188000000083C108C7401C1A000000對應的代碼為:004BCC0B C740 1
Time of Update: 2018-12-03
int main(int argc, char* argv[])...{ DWORD hProcId; HWND hWnd =::FindWindow("TdxW_MainFrame_Class",NULL); if(hWnd ==FALSE) ::MessageBox(NULL,"程式沒有啟動","提示",32); else...{ GetWindowThreadProcessId(hWnd,&hProcId);