Time of Update: 2018-12-07
C#中的DLL注入 事實上dll注入很簡單,無非就是調用virtualAllocEx,WriteProcessMemory,OpenProcess,CreateRemoteThread等API函數,因為我是學c#的,所以也想看一下c#這方面的文章,但在網上找了半天,沒有找到一篇,也許是c#剛興起的緣故,學c#的並不多,沒辦法,只好自己移植一下,因為凡是用到API函數,所有的編程的語言都是相同的,這就為我們的移植帶來了方便,學c#的一般應該對API的調用概念很淡,因為c#通常不會去調用API函數,
Time of Update: 2018-12-07
用C#動態產生HTML的問題 1. don't use response.write, since the output normally goes to the top of the file, use Literal, for example:<head><asp:Literal id="lit" runat="server" /></head><form runat="serverin code behind, protected Literal
Time of Update: 2018-12-07
關於學習c++和編程的50個觀點:把c++當成一門新的語言學習(和c沒啥關係!真的。);看《thinking in c++》,不要看《c++變成死相》;看《the c++ programming language》和《inside the c++ object
Time of Update: 2018-12-07
文章目錄 C#中動態建立控制項及事件處理常式 C#中動態建立控制項及事件處理常式 2006-05-11 15:49using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace Miner{/// ///
Time of Update: 2018-12-07
文章目錄 核心介面運用執行個體 C++ 優先順序隊列(priority_queue) 優先順序隊列顧名思義是根據元素的優先順序被讀取,介面和queues非常相近。程式員可以通過template參數指定一個排序準則。預設的排序準則是利用operator< 形成降序排列,那麼所謂“下一個元素”就是“數值最大的元素”。如果同時存在若干個數值最大的元素,無法確知究竟哪一個會入選。標頭檔:<queue>在檔案 <queue&
Time of Update: 2018-12-07
關於堆的描述可以參考:http://www.cs.auckland.ac.nz/~jmor159/PLDS210/heaps.html我的實現沒有用二叉樹,而是用數組。上文提到,由於堆是一種complete樹(complete,和完全樹略有區別),即子節點的上層是完全樹,而子節點從左向右嚴格排列,這種資料結構可以用數組很好類比。從第一層第一個節點為1開始,從左至右從上到下依次儲存。則,對於某個索引為i的節點,其左子節點和右子節點的索引分別為:i * 2, i * 2 +
Time of Update: 2018-12-07
我們在項目經常會碰到一些特殊需求 例如下拉框是複選的,查詢條件是根據下拉框中複選項進行拼接看到此圖後大家肯定會說,這很簡單嘛將所有的選項 拼成“'1-3','5-9'” 然後放到 in 的字句後面,一查就出來了。這樣做的確在邏輯上沒有問題,可是大家有沒有想過這個問題,過度的和業務耦合雖然能夠解決現在的需求但是卻犧牲了代碼優雅和可維護性 其實本文的目的是想利用Expression運算式在linq查詢中實現一個優雅的解決方案,同時也會給大家一個用Expression去拼接sql的思路 先上代碼
Time of Update: 2018-12-07
首先我們需要安裝Windows 8以及VS2012,:http://msdn.microsoft.com/zh-CN/windows/apps/br229516/ 然後我們開啟VS2012,選擇Windows Metro Style,然後選擇建立Blank App項目如: 其建立完成的項目結構如下: 我們拖動一個按鈕和ListBox到介面中,設定按鈕事件以及ListBox的DataTemplate,如下Xaml代碼: <Grid Background="{
Time of Update: 2018-12-07
C#中如何合理的釋放非託管記憶體?在本文中我們將講解使用IDisposable釋放託管記憶體和非託管記憶體。 A.首先需要讓類實現IDisposable介面,然後實現IDispose方法。 A.a核心Disponse(bool
Time of Update: 2018-12-07
一、Delegate委託可以理解為一個方法簽名。 可以將方法作為另外一個方法的參數帶入其中進行運算。在C#中我們有三種方式去建立委託,分別如下: public delegate void Print(string str); static void delegatemethod(string str) { Console.WriteLine(str); } public static void
Time of Update: 2018-12-07
先用fopen開啟檔案,然後把檔案指標指向檔案尾. 再用ftell獲得檔案指標當前位置(即檔案長度). 原始碼:#include "stdafx.h"#include <stdio.h>#include <iostream> using namespace std; int main(){FILE* fp = NULL;int nFileLen = 0; fp = fopen("c:/Test.txt", "rb"); if (fp == NULL){cout <&
Time of Update: 2018-12-07
1)驗證碼的基本知識及來由網路安全技術中的驗證碼的主要目的是強制人機互動來抵禦機器自動化攻擊。用來防止機器類比http行為,直接抓取文本進行導航;或直接提交文本進行登入嘗試。在現在頻寬較大的今天,線上密碼窮舉頻寬已經不能作為瓶頸了,驗證碼識別以2M ADSL串連實際測試,20線程大概每秒可以完成30個左右的串連,如果是6位元字密碼,在不考慮字典完全窮舉的時候也只需要幾個小時便可破解,嚴重的威脅了網路帳號的安全,因此,網路登入註冊驗證碼的普及勢在必行。
Time of Update: 2018-12-07
對C#泛型中的new()約束的一點思考開發人員線上 Builder.com.cn 更新時間:2007-11-13作者:理想與現實之間 來源:部落格堂本文關鍵詞: C# 泛型 new 思考 對於new()約束,大家可能有一個誤解,以為使用了new約束之後,在建立對象時與非泛型的版本是一致的: public class Tester<T> where T:new(){public Tester(){t = new T();//等同於非泛型版本的new? 例如 object o =
Time of Update: 2018-12-07
因為是C#,所以平台肯定是.NET了。之前因為一個小小的業務需要接觸了下密碼鍵盤的操作。其實就是簡單的擷取使用者輸入密碼的操作,沒碰到什麼大的問題,但是查資料的過程中還是感覺查到的東西挺多的,是那種越查越多,但是又不是很關鍵的東西。在調用DLL中的方法的時候,我們一般要對照函數說明來把C/C++中的類型轉換為.NET中相對應的類型,而且方法必須聲明為靜態外部函數,即加上public extern static聲明頭.如果不加public
Time of Update: 2018-12-07
參考原文(英文) http://www.codeproject.com/cs/media/IECapture.asp 環境:Visual Studio.NET 2003 語言:C#系統需求:Windows + iexplore 該程式的目標很明確,就是捕獲IE瀏覽器開啟的網頁存為映像,附加的需求,我們能自訂映像的儲存品質(控製圖像的大小)。當然我們還要考慮當有多個瀏覽器視窗開啟的時候,我們是捕獲所有視窗的映像。 廢話不多說,我們開始說說這個程式如何?。第一步:引用標準DLL
Time of Update: 2018-12-07
using System;using System.CodeDom.Compiler;using Microsoft.CSharp;using System.Reflection;using System.Text;namespace ConsoleApplication1{ /// <summary> /// Class1 的摘要說明。 /// </summary> class Class1 { /// <summary> /// 應用程式的主進入點。
Time of Update: 2018-12-07
string url1 = @"http://login.vancl.com/Login/"; //提交註冊資訊的網址 string url2 = @"http://my.vancl.com/User/User_Order_List.aspx"; //需要下載的網頁 string indata =
Time of Update: 2018-12-07
做一個項目時,有個日期欄位客戶可輸入可不輸入值,直接把DateTime=Null時會出錯,提示錯誤: 無法將 NULL 轉換成"System.DateTime",因為它是一種實值型別 在網上查看下相關資料後,找到處理辦法:Nullable<DateTime> now = DateTime.Now;Nullable<DateTime> now = null;當然也可以縮寫:DateTime? now = DateTime.Now;DateTime? now =
Time of Update: 2018-12-07
二叉樹結點類:插入代碼的頁面打不開,所以直接這樣粘代碼了 :( public class Node { private Node left; private Node right; private int value; public Node(Node left, Node right, int value) { this.left = left; this.right =
Time of Update: 2018-12-07
作為一個從C++過來的開發人員,對於C#不能使用預設參數感到很不爽,因為這樣的話明明寫一個函數就可以實現的功能非得分成多個重載(overload)函數去寫。但今天看到一個代碼,突然發現C#原來也可以用預設參數,用法跟C++非常類似。 static void TestFun(int a = 10) { Console.Write(a.ToString()); } static void Main(string[]