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

delphi 動態°²裝·þ務


unit winntService;
interface
uses
Windows,WinSvc,WinSvcEx;
function InstallService(const strServiceName,strDisplayName,strDescription,strFilename: string):Boolean;
procedure UninstallService(strServiceName:string);
implementation
function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; assembler;
asm
PUSH EDI
PUSH ESI
PUSH EBX
MOV ESI,EAX
MOV EDI,EDX
MOV EBX,ECX
XOR AL,AL
TEST ECX,ECX
JZ @@1
REPNE SCASB
JNE @@1
INC ECX
@@1: SUB EBX,ECX
MOV EDI,ESI
MOV ESI,EDX
MOV EDX,EDI
MOV ECX,EBX
SHR ECX,2
REP MOVSD
MOV ECX,EBX
AND ECX,3
REP MOVSB
STOSB
MOV EAX,EDX
POP EBX
POP ESI
POP EDI
end;
function StrPCopy(Dest: PChar; const Source: string): PChar;
begin
Result := StrLCopy(Dest, PChar(Source), Length(Source));
end;
function InstallService(const strServiceName,strDisplayName,strDescription,strFilename: string):Boolean;
var
//ss : TServiceStatus;
//psTemp : PChar;
hSCM,hSCS:THandle;
Service: SC_HANDLE;
srvdesc : PServiceDescription;
desc : string;
//SrvType : DWord;
lpServiceArgVectors:pchar;
begin
Result:=False;
hSCM:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
if hSCM=0 then Exit;
Service := OpenService(hSCM, Pchar(strServiceName), SERVICE_ALL_ACCESS);
if Service<=0 then
begin
hSCS:=CreateService(
hSCM,
Pchar(strServiceName),
Pchar(strDisplayName),
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS or SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_IGNORE,
Pchar(strFilename),
nil,
nil,
nil,
nil,
nil);
if hSCS=0 then Exit;//MessageBox(hHandle,Pchar(SysErrorMessage(GetLastError)),Pchar(Application.Title),MB_ICONERROR+MB_TOPMOST);
if Assigned(ChangeServiceConfig2) then
begin
desc := Copy(strDescription,1,1024);
GetMem(srvdesc,SizeOf(TServiceDescription));
GetMem(srvdesc^.lpDescription,Length(desc) + 1);
try
StrPCopy(srvdesc^.lpDescription, desc);
ChangeServiceConfig2(hSCS,SERVICE_CONFIG_DESCRIPTION,srvdesc);
finally
FreeMe


Ïà¹ØÎĵµ£º

DELPHI Èô°Ìå²»ÔÚÈÎÎñÀ¸ÏÔʾ

ÐèÒªÓõ½µÄÒ»¸öº¯Êý£º
LONG SetWindowLong(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
ÆäÖÐnIndex GWL_EXSTYLE     Retrieves the extended window styles.
dwNewLong   WS_EX_TOOLWINDOW     Creates a tool window; that is, a window intended to ......

DelphiƤ·ô¿Ø¼þ·ÖÎöÓëQQµÄƤ·ô±äÉ«¹¦ÄÜ

     ¹ØÓÚ½çÃæÃÀ»¯·½Ã棬һֱÊÇÒ»¸öÄÔ¿ÇÌÛµÄÎÊÌ⣡ÒÔǰһֱ͵ÀÁ£¬Ê¹ÓõÄÈý·½¿Ø¼þ£¡µ«ÊÇÔÚʹÓÃÁËÒ»¶Îʱ¼äÖ®ºó£¬¶¼»ò¶à»òÉÙµÄÓÐЩÎÊÌ⣡²»ÊÇÎÒ˵Èý·½¿Ø¼þÈç
ºÎÈçºÎµÄ²»ºÃ£¡Ö»ÊÇÈý·½¿Ø¼þ¶àÊÇÅÓ´óµÄÒ»¸öÖ«Ì壬Ҫ¼æ¹ËµÄÓû§ÈºÌåºÜ¶à£¬ËùÒÔͬʱËüÒª¿¼ÂǵÄÎÊÌâÒ²Ôö¼ÓÁ˺ܶ࣬Ȼ¶øÒ»¸ö³ÌÐò³öÏÖBugÊÇÔÚËùÄÑÃâµÄ ......

delphi ±àдdllÎļþ

dllÎļþ¼ò½é£º
ËüÊÇDynamic Link Library µÄËõдÐÎʽ£¬DLL ÊÇÒ»¸ö°üº¬¿ÉÓɶà¸ö³ÌÐòͬʱʹÓõĴúÂëºÍÊý¾ÝµÄ¿â£¬DLL²»ÊÇ¿ÉÖ´ÐÐÎļþ¡£¶¯Ì¬Á´½ÓÌṩÁËÒ»ÖÖ·½·¨£¬Ê¹½ø³Ì¿ÉÒÔµ÷Óò»ÊôÓÚÆä¿ÉÖ´ÐдúÂëµÄº¯Êý¡£º¯ÊýµÄ¿ÉÖ´ÐдúÂëλÓÚÒ»¸ö DLL ÖУ¬¸Ã DLL °üº¬Ò»¸ö»ò¶à¸öÒѱ»±àÒë¡¢Á´½Ó²¢ÓëʹÓÃËüÃǵĽø³Ì·Ö¿ª´æ´¢µÄº¯Êý¡£DLL »¹ÓÐÖúÓ ......

Delphi 2010 ÆÆ½âµÄ·½·¨[ͨÓÃ]

ÆÆ½â·½·¨¶¼ÊÇÓÃÁ˺Ð×Ó Delphi.Distiller.v1.85
·Ñ»°²»¶à˵
 °²×°ÈÎÒâdelphi 2010 Õýʽ°æ
 ÐòÁкÅÊÇ HAAL-DANSGN-FZR5AG-M3BS
  °²×°ÍêÖ®ºóµã»÷¿ªÊ¼->Embarcadero RAD Studio 2010 ->Check for update
             &nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ