Delphi±àдϵͳ·þÎñÈý£º±àдÁ½ÆÜϵͳ·þÎñ ÊÕ²Ø
²ÉÓÃÏÂÃæµÄ·½·¨£¬¿ÉÒÔʵÏÖÒ»¸öÁ½ÆÜϵͳ·þÎñ£¨¼Èϵͳ·þÎñºÍ×ÀÃæ³ÌÐòµÄÁ½ÖÖģʽ£©
¹¤³Ì´úÂ룺
program FleetReportSvr;
uses
SvcMgr,
Forms,
SysUtils,
Windows,
SvrMain in 'SvrMain.pas' {FleetReportService: TService},
AppMain in 'AppMain.pas' {FmFleetReport}£»
{$R *.RES}
const
CSMutexName = 'Global\Services_Application_Mutex';
var
OneInstanceMutex: THandle;
SecMem: SECURITY_ATTRIBUTES;
aSD: SECURITY_DESCRIPTOR;
begin
InitializeSecurityDescriptor(@aSD, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(@aSD, True, nil, False);
SecMem.nLength := SizeOf(SECURITY_ATTRIBUTES);
SecMem.lpSecurityDescriptor := @aSD;
SecMem.bInheritHandle := False;
OneInstanceMutex := CreateMutex(@SecMem, False, CSMutexName);
if (GetLastError = ERROR_ALREADY_EXISTS)then
begin
DlgError('Error, Progr ......
Delphi±àдϵͳ·þÎñ¶þ£ºÏµÍ³·þÎñºÍ×ÀÃæ³ÌÐòµÄÇø±ð ÊÕ²Ø
Windows 2000/XP/2003µÈÖ§³ÖÒ»ÖÖ½Ð×ö“ϵͳ·þÎñ³ÌÐò”µÄ½ø³Ì£¬ÏµÍ³·þÎñºÍ×ÀÃæ³ÌÐòµÄÇø±ðÊÇ£º
ϵͳ·þÎñ²»Óõǽϵͳ¼´¿ÉÔËÐУ»
ϵͳ·þÎñÊÇÔËÐÐÔÚSystem Idle Process/System/smss/winlogon/servicesÏµģ¬¶ø×ÀÃæ³ÌÐòÊÇÔËÐÐÔÚExplorerϵģ»
ϵͳ·þÎñÓµÓиü¸ßµÄȨÏÞ£¬ÏµÍ³·þÎñÓµÓÐSytemµÄȨÏÞ£¬¶ø×ÀÃæ³ÌÐòÖ»ÓÐAdministratorȨÏÞ£»
ÔÚDelphiÖÐϵͳ·þÎñÊǶÔ×ÀÃæ³ÌÐò½øÐÐÁËÔÙÒ»´ÎµÄ·â×°£¬¼Èϵͳ·þÎñ¼Ì³ÐÓÚ×ÀÃæ³ÌÐò¡£Òò¶øÓµÓÐ×ÀÃæ³ÌÐòËùÓµÓеÄÌØÐÔ£»
ϵͳ·þÎñ¶Ô×ÀÃæ³ÌÐòµÄDoHandleException×öÁ˸Ľø£¬»á×Ô¶¯°ÑÒì³£ÐÅϢдµ½NT·þÎñÈÕÖ¾ÖУ»
ÆÕͨӦÓóÌÐòÆô¶¯Ö»ÓÐÒ»¸öỊ̈߳¬¶ø·þÎñÆô¶¯ÖÁÉÙº¬ÓÐÈý¸öÏ̡߳££¨·þÎñº¬ÓÐÈý¸öỊ̈߳ºTServiceStartThread·þÎñÆô¶¯Ị̈߳»TServiceThread·þÎñÔËÐÐỊ̈߳»ApplicationÖ÷Ị̈߳¬¸ºÔðÏûϢѻ·£©£»
ժ¼´úÂ룺
procedure TServiceApplication.Run;
begin
.
.
.
StartThread := TServiceStartThread.Create(ServiceStartTable);
......
Delphi±àдϵͳ·þÎñÒ»£ºÈçºÎ±àдһ¸öϵͳ·þÎñ ÊÕ²Ø
´ò¿ªDelphi±à¼Æ÷£¬Ñ¡Ôñ²Ëµ¥ÖеÄFile|New|Other...£¬ÔÚNew ItemÖÐÑ¡ÔñService ApplicationÏDelphi±ã×Ô¶¯ÎªÄ㽨Á¢Ò»¸ö»ùÓÚTServiceApplicationµÄй¤³Ì£¬TserviceApplicationÊÇÒ»¸ö·â×°NT·þÎñ³ÌÐòµÄÀ࣬Ëü°üº¬Ò»¸öTService1¶ÔÏóÒÔ¼°·þÎñ³ÌÐòµÄװж¡¢×¢²á¡¢È¡Ïû·½·¨¡£
TServiceÊôÐÔ½éÉÜ£º
AllowPause£ºÊÇ·ñÔÊÐíÔÝÍ££»
AllowStop£ºÊÇ·ñÔÊÐíÍ£Ö¹£»
Dependencies£ºÆô¶¯·þÎñʱËùÒÀÀµµÄ·þÎñ£¬Èç¹ûÒÀÀµ·þÎñ²»´æÔÚÔò²»ÄÜÆô¶¯·þÎñ£¬¶øÇÒÆô¶¯±¾·þÎñµÄʱºò»á×Ô¶¯Æô¶¯ÒÀÀµ·þÎñ£»
DisplayName£º·þÎñÏÔʾÃû³Æ£»
ErrorSeverity£º´íÎóÑÏÖØ³Ì¶È£»
Interactive£ºÊÇ·ñÔÊÐíºÍ×ÀÃæ½»»¥£»
LoadGroup£º¼ÓÔØ×飻
Name£º·þÎñÃû³Æ£»
Password£º·þÎñÃÜÂ룻
ServiceStartName£º·þÎñÆô¶¯Ãû³Æ£»
ServiceType£º·þÎñÀàÐÍ£»
StartType£ºÆô¶¯ÀàÐÍ£»
ʼþ½éÉÜ£º
AfterInstall£º°²×°·þÎñÖ®ºóµ÷Óõķ½·¨£»
AfterUninstall£º·þÎñÐ¶ÔØÖ®ºóµ÷Óõķ½·¨£»
BeforeInstall£º·þÎñ°²×°Ö®Ç°µ÷Óõķ½·¨£»
BeforeUninstall£º·þÎñÐ¶ÔØÖ®Ç°µ÷Óõķ½·¨£»
OnContinue£º·þÎñÔÝÍ£¼ÌÐøµ÷Óõķ½·¨£»
OnExecute£ºÖ´ÐзþÎñ¿ªÊ¼µ÷Óõķ½·¨£»
OnPause£ºÔÝÍ£ ......
±ÈÈç²Ù×÷
CSDNµÄµÇ¼
ÏÈÓÃWebBrowser¶¨Î»µ½µÇÂ¼Ò³Ãæ
WebBrowser1.Navigate('http://passport.csdn.net/UserLogin.aspx?from=http://community.csdn.net/');
È»ºó£¬¿´ÆäHTMLÔ´´úÂ룬·¢ÏÖ
Ãû×ÖΪ ctl00$CPH_Content$tb_LoginNameOrLoginEmailµÄÔªËØ¾ÍÊÇ ÆäÓû§ÃûµÄÊäÈë¿òÁË¡£
´Ëʱ
ʹÓÃ
(WebBrowser1.Document as IHTMLDOCUMENT2).all.item('ctl00$CPH_Content$tb_LoginNameOrLoginEmail',emptyParam)À´µÃµ½Õâ¸öÔªËØÁË¡£
var
UserEdt,LogBtn: IHTMLELEMENT;
begin
UserEdt := (WebBrowser1.Document as IHTMLDOCUMENT2).all.item('ctl00$CPH_Content$tb_LoginNameOrLoginEmail',emptyParam) as IHTMLELEMENT;
UserEdt.setAttribute('value','test',0);//ÕâÀï¾ÍÉèÖÃÁËtestµ½ÊäÈëÓû§ÃûµÄ±à¼¿òÖÐÁË ¡£
//ÒÀ´ËÒ»Ñù£¬ÊäÈëÃÜÂ룬ÑéÖ¤Âë
//È»ºóÕÒÄǸöµÇ¼°´Å¥£¬Í¨¹ýËûµÄHTMLÔ´´úÂ룬¿ÉÒÔÖªµÀ£¬ÄǸö°´Å¥ÆäʵÊǸöͼƬ£¬ÔªËصÄÃû×ֽР“ctl00$CPH_Content$Image_Login”
//ͬÑùµÄ·½·¨
LogBtn := (WebBrowser1.Document as IHTMLDOCUMENT2).all.item('ctl00$CPH_Content$Image_Login',emptyParam) as IHTMLELEMENT;
LogBtn.Click;//µ÷Óð´Å ......
DelphiÓÃWebBrowser±à³Ì-×Ô¶¯µÇ¼²Ù×÷
2009Äê08ÔÂ18ÈÕ ÐÇÆÚ¶þ 00:39
ÀûÓÃDelphiµÄOlevariantÀàÐÍ
--------------------------------------------------------------------------------
µ¥¸öframesµÄÊäÈë
var
o : Olevariant;
begin
o := WebBrowser.OleObject.document.all.item('LoginUserID',0); //ÕÒµ½µÇ¼Óû§ÃûµÄÊäÈë¿ò
o.value := 'TEST';
o := WebBrowser.oleobject.document.all.item('LoginPassword',0); //ÕÒµ½µÇ¼ÃÜÂëµÄÊäÈë¿ò
o.value := 'TEST'
WebBrowser.oleobject.document.Forms.Item(0, 0).submit; //µÚÒ»¸ö±íµ¥Ìá½»
{
o :=WebBrowser.oleobject.document.all.item('Login',0); //»òÕßÓÃÖ¸¶¨±íµ¥Ãû³ÆÌá½»
o.Click; //µã»÷²Ù×÷£¬¶ÔÆäËü¶ÔÏóÒ²¿ÉͬÑù²Ù×÷
}
end;
¶à¸öframesµÄÊäÈ룬FrameIndexΪFrameµÄÐòºÅ
var
o : Olevariant;
begin
//ÕÒµ½µÇ¼Óû§ÃûµÄÊäÈë¿ò
o := WebBrowser.oleobject.document.documentelement.document.frames.item(FrameIndex).document.all.item(' ......
delphiÖÐWebbrowserµÄʹÓÃ
1.»ñµÃÍøÒ³ÖбäÁ¿Öµ
htmÖÐ<script> var currID=123</script>
³ÌÐòÖпÉÒÔÕâôµ÷Óà id := Form1.WebBrowser1.OleObject.Document.script.currID
ÖµµÃ˵Ã÷µÄÊÇ,±äÁ¿¿ÉÒÔÊÇjavascript¶¨ÒåµÄ,Ò²¿ÉÒÔÊÇvbscript¶¨ÒåµÄ,Èç¹ûWebbrowser1ÖÐÕÒ²»µ½¸Ã±äÁ¿,µ÷Óûᴥ·¢Ò»¸öÒ쳣ʼþ,¼´±äÁ¿currID²»´æÔÚ
2.Ö´ÐÐÍøÒ³Öеĺ¯Êý
tmp := 'currID = getNextID(currID)'+#13#10;
Form1.WebBrowser1.OleObject.Document.parentWindow.execScript(tmp,'JavaScript');
µ÷Óú¯ÊýµÄ·½·¨¾ÍÊÇexecScript½Ó¿Ú,ͬÑù,Èç¹ûº¯Êý²»´æÔÚ,»òÕßÔËÐдíÎóÒ²»á´¥·¢½Å±¾´íÎóÒì³£
3.ÉèÖÃÍøÒ³±³¾°
±³¾°Í¼Æ¬ WebBrowser1.OleObject.Document.body.background := 'http://seelearn.com/bg.gif'
±³¾°ÑÕÉ« WebBrowser1.OleObject.Document.body.bgcolor := '#eeeeee'
4.µ÷ÓÃÍøÒ³ÖÐÒÑÖª¶ÔÏó
src := ......