[Delphiº¯Êý]ÌáÉý½ø³ÌȨÏÞΪDEBUGȨÏÞ
ÔÚÍøÉÏÒ²¿´µ½ÁËһЩÌáÉý½ø³ÌÁîÅÆµÄº¯Êýµ«¶¼²»ÔõôºÃÓÃ,×îºóÎÒ»¹ÊÇ´ÓÒ»¸öºÚ¿ÍºóÃųÌÐòµÄÔ´´úÂëÖÐÌáÈ¡³öÁËÒ»¸öºÃµÄÌáÉý½ø³ÌÁîÅÆµÄº¯Êý,²»¸Ò¶ÀÏí,¸ú´ó¼Ò·ÖÏíÏÂ.ÄǸöºóÃÅÕæµÄдµÄºÜºÃ...
HysiaÌáʾÄã:
Õâ¸öº¯ÊýÓÃÔÚ¶Ô¸¶²¡¶¾µÄ³ÌÐòÖÐЧ¹ûºÜºÃ,Ö»ÓÐÌáÉý×ÔÉíȨÏÞ²ÅÄÜKILLµô²¡¶¾½ø³ÌÎÒÔøÐ´Ð´³öÀ´³¢ÊÔ½áÊøWinlogon½ø³Ì,µ¼ÖµĽá¹ûÊÇ,ÎҵĵçÄÔÁ¢¿ÌÀ¶ÆÁºóÖØÆô!
//ÌáÉý½ø³ÌȨÏÞΪDEBUGȨÏÞ
procedure SetPrivilege;
var
OldTokenPrivileges, TokenPrivileges: TTokenPrivileges;
ReturnLength: dword;
hToken: THandle;
Luid: int64;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, 'SeDebugPrivilege', Luid);
TokenPrivileges.Privileges[0].luid := Luid;
TokenPrivileges.PrivilegeCount := 1;
TokenPrivileges.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, False, TokenPrivileges, SizeOf(TTokenPrivileges), OldTokenPrivileges, ReturnLength);
OldTokenPrivileges.Privileges[0].luid := Luid;
OldTokenPrivileges.PrivilegeCount := 1;
OldTokenPrivileges.Privileges[0].Attributes := TokenPrivileges.Privileges[0].Attributes or SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, False, OldTokenPrivileges, ReturnLength, PTokenPrivileges(nil)^, ReturnLength);
end;
Ó÷¨¾Í²»ÓÃ˵Á˰É,
procedure TForm1.FormCreate(Sender: TObject);
begin SetPrivilege; ...
Ò»¾ä»°¾Í°Ñ³ÌÐòÌáÉýΪDEBUGȨÏÞÁË,È»ºó¾Í¿ÉÒÔËæ±ã½áÊøÆäËû½ø³ÌÁË.
ºÃ¶«Î÷¸ú´ó¼Ò·ÖÏí~!
Ïà¹ØÎĵµ£º
delphiÖйú¼Ê»¯µÄ¼¸ÖÖ·½°¸¼°±È½Ï(ת)
Ëæ×ÅÈ«Çò»¯³Ì¶È¼ÓÉÈí¼þÔ½À´Ô½ÏñÆÑ¹«Ó¢£¬µ½´¦Æ®É¢¡¢Ôú¸ù¡£ÕâÆäÖÐÒª½â¾öµÄÊDz»Í¬ÓïÑÔµÄÏÔʾÎÊÌâ¡£ÎÒÃǵ±È»Ï£ÍûÒ»Ì׳ÌÐò£¬¿ÉÒÔ²»Ð޸ĴúÂë¾Í¿ÉÒÔÖ§³Ö²»Í¬µÄÓïÑÔ£¬²»ÒªÈ¥Î¬»¤ºÜ¶àµÄ°æ±¾¡£
Ê×ÏÈҪ̸µ½µÄÒ»¸öÎÊÌâÊÇÂÒÂëÎÊÌ⣬ÒòΪdelphi
wi ......
ÔÎIJμû£º http://blog.csdn.net/ingener/archive/2007/12/22/1958535.aspx
¹ØÓÚDelphiÖÐDLL·â×°¶ÔÏóµÄ¼¸ÖÖ·½·¨ÕûÀí¼°Ìå»á
DelphiÓÃDLLÀ´·â×°¶ÔÏóµÄ¼¼ÊõÖ÷ÒªÓÐÈýÖÖ:
ÓýӿÚʵÏÖ
Óô¿ÐéºÍ³éÏóÀà·½·¨ÊµÏÖ
ÓÃÀàÒýÓÃʵÏÖ
ǰÁ½ÖÖ£¬¶¼ÊÇÔÚDLLÖÐÉú³ÉÀàʵÀý£»µÚ3ÖÖͨ¹ýÔÚµ÷Ó÷½Éú³ÉʵÀý¡£ÈýÖÖ·½·¨µÄ¹²Í¬¾ÖÏÞÈçÏ£º ......
¡¡¡¡DelphiÓïÑÔ£¬ÎÞÂÛÊÇ´Ó¿ª·¢ËÙ¶È¡¢»¹ÊÇÔËÐÐËÙ¶È¡¢»¹ÊDZàÒëËÙ¶È¡¢»¹ÊDZàÒëÖ®ºóµÄÖ´ÐÐÎļþÌå»ý£¬¶¼ÊÇÊýÒ»Êý¶þµÄ¡£Òò´Ë±»×÷Ϊ¹²ÏíÈí¼þ¡¢¿ª·¢²úÆ·¡¢ÖÆ×÷“ÂÌÉ«Èí¼þ”µÄÊ×Ñ¡¡£µ«ÊÇ£¬ÓÉÓÚÖî¶àÔÒò£¬DelphiÖУ¬ÓÐһЩ¿Ø¼þ£¬´æÔÚһЩbug¡£²»ÂÛ¹ã´ó¼¼ÊõÈËÔ±ÈçºÎ·´Ó¦£¬Delphi¹Ù·½¾ÍÊÇ“ÊÓ¶ø²»¼û”¡£ÓÐÎÊÌ⣬È˼ ......
¼¼Êõ½»Á÷,DH½²½â. ½ñÌì½øÈëÕâÊéµÚ¶þÕ ¹³×Ó(HOOK).
ÏÈ˵˵¹³×ÓÊÇʲô?
¹³×ÓÆäʵ¾ÍÔÚÄã»·¾³ÖмÓÉÏÒ»²ã¹ýÂË,ÔÚÌØÊâÇé¿öϾʹ¥·¢¹³×ӻص÷º¯Êý.
±ÈÈç˵ÎÒÃǰ²×°ÁËÈ«¾ÖµÄ¼üÅ̹³×Ó,ÄÇôµ±ÎÒÃǰ´¶¯¼üÅÌÉÏÃæµÄ¼üµÄʱºò,¹³×ӵĻص÷º¯Êý¾Í»á´¥·¢.
ÎÒÃÇÒ²ÄÜ¿´µ½±¾À´ÊÇÖ±À´Ö±ÍùµÄ,½á¹ûÏÖÔÚÖм䰲װÁËÒ»²ã¹ýÂË,Ï ......
Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid.Focused then
......