Delphi Services ÀïÃæFindwindow ÎÊÌâ
ÀϲúƷά»¤ÎÊÌ⣬
Delphi °æ±¾£ºdelphi6
Èç¹ûн¨Ò»¸öApplication,
ÓÃÒ»ÏÂCode¿ÉÒÔ»ñµÃÕýÈ·µÄHandle
Delphi(Pascal) code:
procedure TForm1.Button1Click(Sender: TObject);
var
EVMHandle:HWND;
EVMTitle: String;
begin
EVMHandle:=FindWindow(nil,'console');
Showmessage(inttostr(EVMHandle));
end;
µ«Èç¹ûдһ¸ödelphi service application,
·µ»ØµÄhandleÖµÒ»Ö±ÊÇ0
Delphi(Pascal) code:
procedure TSvcChkHandle.ServiceStart(Sender: TService;
var Started: Boolean);
var
EVMHandle: HWND;
begin
try
Coinitialize(nil);
EVMHandle:=FindWindow(nil,'console');
Writelog(inttostr(EVMHandle));
Started := True;
except
On E: Exception do LogMessage(E.Message);
end;
end;
console ÊÇÎÒÒ»¸öÓ¦ÓóÌÐòµÄ´°¿Ú±êÌâ
ÔÚÏߵȣ¬Ð»Ð»
ÓÐûÓÐʲô·½·¨ÔÚserviceÀïÃæ¿ÉÒÔ¼ì²éijһ¸öÓ¦ÓóÌÐòÊÇ·ñÔÚÔËÐУ¿
ÀϵIJúÆ·ÔÚserviceÀïÓÃFindwindow À´ÅжÏÓ¦ÓóÌÐòÊÇ·ñÔËÐУ¬»³ÒÉÊÇ·ñwindows2000ÀïÃæ¿ÉÒÔ
£¬µ«XP»òÕ߸ü¸ß°æ±¾ÓÐÎÊÌ⣬ÎÒÔÚÍøÉϲ鵽ºÜ¶àÀàËÆÎÊÌ⣬µ«»¹Ã»Óнâ¾öÎÒĿǰÎÊÌâµÄ·½·¨¡£
лл¹Ø×¢£¬Çë¼ÌÐøÖ§ÕС£
¿ÉÒÔÓà psapi µ¥ÔªµÄ EnumProcesses »òÕß toolhlp µ¥ÔªµÄ CreateToolhelp32Snapshot£¬ Process32First£¬ Process32Next À´¶¨
Ïà¹ØÎÊ´ð£º
¾ÍÊÇÒ»¸ö·þÎñ¶ËºÍÒ»¸ö¿Í»§¶Ë£¬Àï±ßÓÐһЩ¹²Óõ¥Ôª £¬ÎÒÔÚ ¹¤³ÌµÄSEARCH PATHÀïÉèÖõÄ·¾¶£¬
Àï±ßÓиö½á¹¹Ì壬ÎÒÔÚ·þÎñ¶Ë´ò¿ª£¬¼ÓÁ˳ÉÔ±£¬µ«ÊÇÎÒÔÚ¿Í»§¶ËÆäËûµ¥Ôª·ÃÎʲ»µ½ÎÒмӵģ¬ÎÒÔÚ¿Í»§¶Ë´ò¿ªÄǸöµ¥Ôª£¬È·Êµ¼ÓÁ ......
ÎÒÔÚÓÃmainmenu²Ëµ¥¿Ø¼þºÍsavediglog¿Ø¼þÉèÖñ£´æÎļþ¶Ô»°¿òʱ£¬ËäÈ»Äܹ»Ë³Àû±£´æÎļþ£¬µ«ÊÇÎÒ¶ÔÒѾ±£´æ¹ýµÄÎļþ½øÐÐÔٴα£´æµÄʱºò£¬²¢²»ÄܺͺܶàÈí¼þÒ»ÑùÖ±½Ó±£´æ£¬¶øÊÇÈÔÈ»µ¯³ö±£´æ¶Ô»°¿ò£¬¶øÎÒ²»ÏëËü´ò¿ª£¬¶øÊÇ ......
ÄÄÀïÓÐDelphiµÄÊÓÆµ½Ì³Ì£¿ÐÂÊÖÄÇÖÖµÄ
лл
¼ÓÔÂÁÁQQ£¬È»ºóÈÃÔÂÁÁ¸úÄãÊÓÆµ½²½â£¬Ãâ·ÑµÄÊÓÆµ½²½â
Óкܶ࣬µ«ÌìÏÂûÓÐÃâ·ÑµÄÎç²Í
2Â¥µÄÅóÓÑ ÔÂÁÁÊÇË£¿
ÒýÓÃ
2Â¥µÄÅóÓÑ ÔÂÁÁÊÇË£¿
´óÃû¶¥¶¥ ......
ÎÒÓÃdelphiµ÷ÓÃÒ»¸öVC++µÄdll
Õâ¸ödLLÎÒûÓÐÔ´Âë¡£´óСд¾ø¶ÔÕýÈ·
dllÀïÃæµÄÒ»¸öCloseCommPortº¯Êý£¬dll˵Ã÷˵ÀïÃæÓУ¬ËµÃ÷ÈçÏ£º
5¡¢CloseCommPort
VOID PASCAL CloseCommPort(HANDLE hCom) ......