·þÎñÆ÷¶Ë´úÂë
¿Ø¼þ£ºbtnStart_Click£¬btnSend_Click£¬label4£¬textBox1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Threading;
using System.Net.Sockets;
using System.Net;
namespace MobileServer
{
public partial class FrmEasy : Form
{
//±äÁ¿
private ThreadStart start;
private Thread listenThread,client_th;
static private bool m_bListening = false;
//static private System.Net.IPAddress MyIP = System.Net.IPAddress.Parse("192.168.1.3");
//»ñµÃµ±Ç°·þÎñ¶ËµÄIP µØÖ·
&nbs ......
¶¯Ì¬¼ÓÔØDLLÐèҪʹÓÃWindows APIº¯Êý£ºLoadLibrary¡¢GetProcAddressÒÔ¼°FreeLibrary¡£ÎÒÃÇ¿ÉÒÔʹÓÃDllImportÔÚC#ÖÐʹÓÃÕâÈý¸öº¯Êý¡£
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int LoadLibrary(String funcname);
[DllImport("Kernel32")]
public static extern int FreeLibrary(int handle);
µ±ÎÒÃÇÔÚC++Öж¯Ì¬µ÷ÓÃDllÖеĺ¯Êýʱ£¬ÎÒÃÇÒ»°ãµÄ·½·¨ÊÇ£º
¼ÙÉèDLLÖÐÓÐÒ»¸öµ¼³öº¯Êý£¬º¯ÊýÔÐÍÈçÏ£º
BOOL __stdcall foo(Object &object, LPVOID lpReserved);
1¡¢Ê×Ïȶ¨ÒåÏàÓ¦µÄº¯ÊýÖ¸Õ룺
typedef BOOL (__stdcall *PFOO)(Object &object, LPVOID lpReserved);
2¡¢µ÷ÓÃLoadLibrary¼ÓÔØdll£º
HINSTANCE hInst = ::LoadLibraryW(dllFileName);
3¡¢µ÷ÓÃGetProcAddressº¯Êý»ñȡҪµ÷Óú¯ÊýµÄµØÖ·£º
PFOO foo = (PFOO)GetProcAddress(hInst,"foo");
if(foo == NULL)
{
FreeLibrary(hInst);
return false;
}
4¡¢µ÷ÓÃfooº¯Êý£º
BOOL bRe ......
¶¯Ì¬¼ÓÔØDLLÐèҪʹÓÃWindows APIº¯Êý£ºLoadLibrary¡¢GetProcAddressÒÔ¼°FreeLibrary¡£ÎÒÃÇ¿ÉÒÔʹÓÃDllImportÔÚC#ÖÐʹÓÃÕâÈý¸öº¯Êý¡£
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int LoadLibrary(String funcname);
[DllImport("Kernel32")]
public static extern int FreeLibrary(int handle);
µ±ÎÒÃÇÔÚC++Öж¯Ì¬µ÷ÓÃDllÖеĺ¯Êýʱ£¬ÎÒÃÇÒ»°ãµÄ·½·¨ÊÇ£º
¼ÙÉèDLLÖÐÓÐÒ»¸öµ¼³öº¯Êý£¬º¯ÊýÔÐÍÈçÏ£º
BOOL __stdcall foo(Object &object, LPVOID lpReserved);
1¡¢Ê×Ïȶ¨ÒåÏàÓ¦µÄº¯ÊýÖ¸Õ룺
typedef BOOL (__stdcall *PFOO)(Object &object, LPVOID lpReserved);
2¡¢µ÷ÓÃLoadLibrary¼ÓÔØdll£º
HINSTANCE hInst = ::LoadLibraryW(dllFileName);
3¡¢µ÷ÓÃGetProcAddressº¯Êý»ñȡҪµ÷Óú¯ÊýµÄµØÖ·£º
PFOO foo = (PFOO)GetProcAddress(hInst,"foo");
if(foo == NULL)
{
FreeLibrary(hInst);
return false;
}
4¡¢µ÷ÓÃfooº¯Êý£º
BOOL bRe ......
¶¯Ì¬¼ÓÔØDLLÐèҪʹÓÃWindows APIº¯Êý£ºLoadLibrary¡¢GetProcAddressÒÔ¼°FreeLibrary¡£ÎÒÃÇ¿ÉÒÔʹÓÃDllImportÔÚC#ÖÐʹÓÃÕâÈý¸öº¯Êý¡£
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int LoadLibrary(String funcname);
[DllImport("Kernel32")]
public static extern int FreeLibrary(int handle);
µ±ÎÒÃÇÔÚC++Öж¯Ì¬µ÷ÓÃDllÖеĺ¯Êýʱ£¬ÎÒÃÇÒ»°ãµÄ·½·¨ÊÇ£º
¼ÙÉèDLLÖÐÓÐÒ»¸öµ¼³öº¯Êý£¬º¯ÊýÔÐÍÈçÏ£º
BOOL __stdcall foo(Object &object, LPVOID lpReserved);
1¡¢Ê×Ïȶ¨ÒåÏàÓ¦µÄº¯ÊýÖ¸Õ룺
typedef BOOL (__stdcall *PFOO)(Object &object, LPVOID lpReserved);
2¡¢µ÷ÓÃLoadLibrary¼ÓÔØdll£º
HINSTANCE hInst = ::LoadLibraryW(dllFileName);
3¡¢µ÷ÓÃGetProcAddressº¯Êý»ñȡҪµ÷Óú¯ÊýµÄµØÖ·£º
PFOO foo = (PFOO)GetProcAddress(hInst,"foo");
if(foo == NULL)
{
FreeLibrary(hInst);
return false;
}
4¡¢µ÷ÓÃfooº¯Êý£º
BOOL bRe ......
C#¿ª·¢WPF/Silverlight¶¯»¼°ÓÎϷϵÁн̳Ì(Game Tutorial)£ºÄ¿Â¼
±¾ÏµÁн̵̳ÄʾÀý´úÂëÏÂÔØ(¸Ðл Òø¹âÖйú Ìṩ×ÊÔ´·ÖÁ÷)£º
µÚÒ»²¿·ÖÔ´Â룺WPFGameTutorial_PartI(1-20½Ú)
µÚ¶þ²¿·ÖÔ´Â룺WPFGameTutorial_PartII(21-26½Ú)
µÚÈý²¿·ÖÔ´Â룺WPFGameTutorial_PartIII(27-30½Ú)
µÚËIJ¿·ÖÔ´Â룺WPFGameTutorial_PartIV(31-35½Ú)
µÚÎ岿·ÖÔ´Â룺WPFGameTutorial_PartV(37-38½ÚWPFÍê)
µÚÁù²¿·ÖÔ´Â룺[41½Ú] [42½Ú] [43½Ú] [44½Ú] [45½Ú] [46½Ú] [47½Ú] [48½Ú] [49½Ú] µØÍ¼±à¼Æ÷Ô´Â룺QXMapEditor
( * 73068105(1Ⱥ):ÉîÀ¶WPF/Silverlight ¸ßÊֺܶà,¼ÓÈëʱÇë×¢Ã÷.NET¿ª·¢¾Ñé(ÏÞ5ÄêÒÔÉÏ)
* 20167206(2Ⱥ):ÉîÀ¶SL3ÓÎÏ·¿ª·¢¢ÚȺ Silverlight3.0+ÓÎÏ·¿ª·¢¼¼Êõ,¼ÓÈëʱÇë×¢Ã÷.NET¿ª·¢¾Ñé(ÏÞ3ÄêÒÔÉÏ)
* 92298919(3Ⱥ):ÉîÀ¶SL3ÓÎÏ·¿ª·¢¢ÛȺ רҵÌÖÂÛ»ùÓÚSilverlight3.0+µÄÓÎÏ·¿ª·¢¼¼Êõ
* 93932965(4Ⱥ):ÉîÀ¶SL3ÓÎÏ·¿ª·¢¢ÜȺ רҵÌÖÂÛ»ùÓÚSilverlight3.0+µÄÓÎÏ·¿ª·¢¼¼Êõ)ËØ²ÄÀ´Ô´ÓÚÍøÂ磬ÇëÎð×÷ÉÌÒµÓÃ;)
2009Äê11ÔÂ10ÈÕÊÇÒ»¸öÖµµÃ¼ÍÄîµÄÈÕ×Ó£¬¸ù¾Ý±¾½Ì³Ìǰ40½ÚÒÆÖ²µÄSilverlight-MMORPGÓÎÏ·ÒýÇæ¿ªÔ´ÁË£¬ÔÚÏß²âÊÔDemoµØÖ ......
1 ´´½¨C# DLL£¬ÐèÒªÖ¸¶¨Ó¦ÓÃÀàÐÍΪ“Àà¿â”£¬´úÂ룺
namespace CSLib
{
public class Class1
{
private string name;
public string Name
{
get
{
return name;
}
set
{
name = "Your Name: " + value;
}
&nb ......
1 ´´½¨C# DLL£¬ÐèÒªÖ¸¶¨Ó¦ÓÃÀàÐÍΪ“Àà¿â”£¬´úÂ룺
namespace CSLib
{
public class Class1
{
private string name;
public string Name
{
get
{
return name;
}
set
{
name = "Your Name: " + value;
}
&nb ......
1 ´´½¨C# DLL£¬ÐèÒªÖ¸¶¨Ó¦ÓÃÀàÐÍΪ“Àà¿â”£¬´úÂ룺
namespace CSLib
{
public class Class1
{
private string name;
public string Name
{
get
{
return name;
}
set
{
name = "Your Name: " + value;
}
&nb ......
¸Õ½Ó´¥.net ʱ¾ÍÌý˵ ReflectorÕâ¸öÇ¿´ó·´±àÒ빤¾ßÄØ£¬Ö»ÊÇһֱûÓÐȥʹÓÃËû. ½ñÌìupdate¸úÎÒ˵ReflectorÈçºÎ£¬ÈçºÎÓÐÓã¬ÓõÄÈçºÎ£¬ÈçºÎˬ£¬»¹µÃÒâµÄ˵·´±àÒëÁ˲»ÉÙDLL...±¾À´±¾È˶ÔÐÂÏÊʾͷdz£ÓÐÐËȤ£¬ÌýËûÕâôһ˵.¾ö¶¨ÊÔÒ»ÊÔÕâ¸ö´«ËµÖеŤ¾ß.
ÎÒÓõİ汾ÊÇ4.1.84.0£¬ÒÔ£¬°Ñ×Ô¼º±àдDLL·´±àÒëÁËһϣ¬·´±àÒëºóµÄ´úÂë³ýÁ˱äÁ¿Ãû²»Í¬Í⣬ÆäËü»ù±¾ÉÏÊÇÒ»ÖÁµÄ£¬ÎÒ°Ñ·´±àÒëºóµÄ´úÂëµ¼µ½Ïà¹ØµÄÎļþÀҪÓõ½²å¼þ£©£¬ÔÙÓÃvs.net±àÒ룬ȫ²¿Í¨¹ý£¬ÕæÊÇˬѽ.Î§ÈÆReflecto¿ª·¢µÄ²å¼þÒ²ºÜ·Ç³£¶à£¬ÔÚÍøËÑË÷ÁËһϻù±¾µ½ÊÇÏÂÃæÕâЩ£¬ÍøÉϹØÓÚÕâЩ×é¼þµÄÓ÷¨ºÍ½éÉÜÒ²Èç³öÒ»éü£¬ÎÒÏëÕâ¾ÍÑù¾ÍÊÇÍøÂç¹²ÏíµÄ½á¹û°ÉÒÔϵÄ×é¼þÆäÖÐReflector.OpenRunningAssembly Reflector.CodeModelView Reflector.ClassView ÎÒÕÒ¹ýºÜ¶àÍøÕ¾£¬¶¼ÎÞ·¨ÏÂÔØµ½£¬Èç¹ûÓÐÄÇλÅóÓÑÓУ¬Ï£ÍûÄܸøÎÒÁËÒ»·Ý.
Reflector.FileDisassembler
Reflector.CodeMetrics
Reflector.SQL2005Browser
Reflector.DelphiLanguage
Reflector.McppLanguage
Reflector.ChromeLanguage
Reflector. ......
ÏÂÃæÊÇÎÒ×Ô¼º×ܽáµÄÒ»¸ö±È½Ï¼òµ¥µÄc#µ÷ÓÃSQL Server 2005´æ´¢¹ý³ÌµÄСÀý×Ó£¬Ö÷ÒªÊǽéÉÜÕû¸ö¹ý³Ì£¬ÓÐÎÊÌâµÄ»°Çë´óϺÃÇÖ¸µ¼£¬Ð»Ð»~
×÷Õߣºshinehoo
1£©´æ´¢¹ý³ÌÕâÑùдµÄ
ALTER PROCEDURE dbo.procShowLog
(
@StartTime datetime,
@EndTime datetime,
@LogSite varchar(20),
@UserName varchar(30)
)
AS
/* SET NOCOUNT ON
*/
BEGIN
IF(@UserName = ‘’)
BEGIN
select *
from tbLog where LogInTime
> @StartTime and LogInTime < @EndTime and LogSite = @LogSite;
END;
ELSE
BEGIN
select * from tbLog where LogInTime
> @StartTime and LogInTime < @EndTime and LogSite = @LogSite and UserName
= @UserName;
......