Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

DELPHI ÖÐÈçºÎÌáÉý½ø³ÌÁîÅÆ

ת:DELPHI ÖÐÈçºÎÌáÉý½ø³ÌÁîÅÆ
½üÒ»¶Îʱ¼äÔÚÓÃDELPHIд¸ö³ÌÐò,µ±ÎÒдµ½Ò»¸ö½áÊøÆäËû½ø³ÌµÄÄ£¿éµÄʱºòÓÐʱ²»³É¹¦,ÄÇÊÇÒòΪÆäËû½ø³Ì,È粡¶¾½ø³ÌµÄȨÏÞ¸ß,ͨ¹ý³£¹æµÄ½áÊø½ø³ÌµÄº¯ÊýÐв»Í¨,ÒªÊ×ÏÈÌá¸ß×ÔÉí³ÌÐòµÄȨÏÞ,ÔÙ½áÊøÆäËû½ø³Ì
ÔÚÍøÉÏÒ²¿´µ½ÁËһЩÌáÉý½ø³ÌÁîÅÆµÄº¯Êýµ«¶¼²»ÔõôºÃÓÃ,×îºóÎÒ»¹ÊÇ´ÓÒ»¸öºÚ¿ÍºóÃųÌÐòµÄÔ´´úÂëÖÐÌáÈ¡³öÁËÒ»¸öºÃµÄÌáÉý½ø³ÌÁîÅÆµÄº¯Êý,²»¸Ò¶ÀÏí,¸ú´ó¼Ò·ÖÏíÏÂ
Í·²¿Çë¼ÓÈë:Tlhelp32
//ÌáÉý½ø³ÌȨÏÞΪ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ȨÏÞÁË,È»ºó¾Í¿ÉÒÔËæ±ã½áÊøÆäËû½ø³ÌÁË
ÕâÀïÒ²¸½´øÌù³öÒ»¸ö½áÊø½ø³ÌµÄº¯Êý¹©´ó¼Ò²Î¿¼:
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if ((


Ïà¹ØÎĵµ£º

delphi ¶Ô×Ö·û´®½øÐе¹ÐòµÄ×î¿ìËã·¨

var
   L,i:integer;
   Ustr,str:string;
   p:char;
begin
  str:='123456789ABCDEFG'
  L:=length(str);
  for i:=1 to l do begin
      p:=str[i];
      str[i]:=str[l-(i-1)];
     ......

Delphi±àдϵͳ·þÎñÆß£ºÍê³É¶Ë¿ÚÑÝʾ ÊÕ²Ø

Delphi±àдϵͳ·þÎñÆß£ºÍê³É¶Ë¿ÚÑÝʾ ÊÕ²Ø
 ÔÚ¿ª·¢´óÁ¿Socket²¢·¢·þÎñÆ÷£¬Íê³É¶Ë¿Ú¼ÓÖØµþI/OÊÇÆù½ñΪֹ×îºÃµÄÒ»ÖÖ½â¾ö·½°¸£¬ÏÂÃæÊǼòµ¥µÄ½éÉÜ£º
   “Íê³É¶Ë¿Ú”Ä£ÐÍÊÇÆù½ñΪֹ×îΪ¸´ÔÓµÄÒ»ÖÖI/OÄ£ÐÍ£¬ÌرðÊʺÏÐèҪͬʱ¹ÜÀíΪÊýÖÚ¶àµÄÌ×½Ó×Ö£¬²ÉÓÃÕâÖÖÄ£ÐÍ£¬ÍùÍù¿ÉÒÔ´ïµ½×î¼ÑµÄϵͳÐÔÄÜ¡£µ«ÊÇÖ ......

delphi ÖеÄdelayº¯Êý

procedure Delay(msecs:integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
    Tick := GetTickCount + DWord(msecs);
    while (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <&g ......

DelphiÖпØÖÆVBA ºê

ÈçºÎÔÚDelphiÀïÃæÀûÓÃWordµÄVBA´úÂë½øÐÐһЩ×ܽᡣ
1¡¢  Éú³ÉVBA´úÂë¡£Word±¾Éí¾ßÓкÜÇ¿µÄ¿ÉÀ©Õ¹ÐÔ£¬ÓÈÆäÊÇÖ§³ÖÓû§×Ô¶¨Ò幦ÄÜ£¬ÆäʵÏÖ
µÄÖ÷Òª·½Ê½¾ÍÊÇͨ¹ýVBA´úÂëÀ´ÊµÏֵġ£ÔÚ“¹¤¾ß->ºê->Visual Basic±à¼­Æ÷”ÀïÃæ¾Í¿ÉÒÔ¿´
µ½¾ßÌåµÄºê´úÂ룬¿ÉÒÔÖ±½Ó½øÐб༭¡£¶øÇÒ»¹¿ÉÒÔʹÓÃÂ¼ÖÆºêµÄ¹¦ÄÜ×Ô¶¯ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ