ÈóÌÐòÖ»ÔËÐÐÒ»¸öʵÀý(Delphiƪ)
Windows ÏÂÒ»¸öµäÐ͵ÄÌØÕ÷¾ÍÊǶàÈÎÎñ£¬ÎÒÃÇ¿ÉÒÔͬʱ´ò¿ª¶à¸ö´°¿Ú½øÐвÙ×÷£¬Ò²¿ÉÒÔͬʱÔËÐгÌÐòµÄ¶à¸öʵÀý£¬±ÈÈç¿ÉÒÔ´ò¿ªÐí¶à¸ö×ÊÔ´¹ÜÀíÆ÷½øÐÐÎļþµÄÒÆ¶¯¸´ÖƲÙ×÷¡£µ«ÓÐʱ³öÓÚijÖÖ¿¼ÂÇ£¨±ÈÈ簲ȫÐÔ£©£¬ÎÒÃÇÒª×ö³öһЩÏÞÖÆ£¬ÈóÌÐòÖ»Äܹ»ÔËÐÐÒ»¸öʵÀý¡£ÔÚDelphi±à³ÌÖУ¬±ÊÕß×ܽá³öÁËÒÔϼ¸ÖÖ·½·¨£º
¡¡¡¡Ò»¡¢ ²éÕÒ´°¿Ú·¨
¡¡¡¡ÕâÊÇ×îΪ¼òµ¥µÄÒ»ÖÖ·½·¨¡£ÔÚ³ÌÐòÔËÐÐǰÓÃFindWindowº¯Êý²éÕÒ¾ßÓÐÏàͬ´°¿ÚÀàÃûºÍ±êÌâµÄ´°¿Ú£¬Èç¹ûÕÒµ½ÁË£¬¾Í˵Ã÷ÒѾ´æÔÚÒ»¸öʵÀý¡£ÔÚÏîĿԴÎļþµÄ³õʼ»¯²¿·ÖÌí¼ÓÒÔÏ´úÂ룺
Program OneApp
¡¡¡¡Uses
¡¡¡¡Forms,Windows;//£¨ÕâÀï½éÉܵļ¸ÖÖ·½·¨¾ùÐèÔÚÏîĿԴÎļþÖÐÌí¼ÓWindowsµ¥Ôª£¬ÒÔºó²»ÔÙÖØ¸´ÁË£©
¡¡¡¡Var Hwnd:Thandle;
¡¡¡¡Begin
¡¡¡¡ Hwnd:=FindWindow(‘TForm1’£¬‘SingleApp’);
¡¡¡¡ If Hwnd=0 then
¡¡¡¡ Begin
¡¡¡¡ Application.Initialize;
¡¡¡¡ Application.CreateForm(Tform1, Form1);
¡¡¡¡ Application.Run;
¡¡¡¡ End;
¡¡¡¡End;
FindWindow()º¯Êý´øÁ½¸ö²ÎÊý£¬ÆäÖеÄÒ»¸ö²ÎÊý¿ÉÒÔºöÂÔ£¬µ«±ÊÕßÇ¿ÁÒ½¨Ò齫Á½¸ö²ÎÊý¶¼ÓÃÉÏ£¬ÃâµÃ´ÕÇɱðµÄ³ÌÐòÒ²ÔÚʹÓÃÏàͬµÄÀàÃû£¬¾ÍµÃ²»µ½ÕýÈ·µÄ½á¹ûÁË¡£ÁíÍ⣬Èç¹ûÊÇÔÚDelphi IDE´°¿ÚÖÐÔËÐиóÌÐò£¬½«Ò»´Î¶¼²»ÄÜÔËÐУ¬ÒòΪÒѾ´æÔÚÏàͬÀàÃûºÍ±êÌâµÄ´°¿Ú£ºÉè¼ÆÊ±µÄ´°Ìå¡£
¡¡¡¡¶þ¡¢Ê¹Óû¥³â¶ÔÏó
¡¡¡¡Èç¹û¾õµÃ²éÕÒ´°¿ÚµÄ·½·¨Ð§Âʲ»Ì«¸ßµÄ»°£¬¿ÉÒÔʹÓô´½¨»¥³â¶ÔÏóµÄ·½·¨¡£¾¡¹Ü»¥³â¶ÔÏóͨ³£ÓÃÓÚͬ²½Á¬½Ó£¬µ«ÓÃÔÚÕâ¸öµØ·½Ò²ÊǷdz£·½±ãµÄ¡£½öÓÃÁË4¾ä´úÂë¾ÍÇáËɸ㶨¡£
VAR Mutex:THandle;
¡¡¡¡begin
¡¡¡¡ Mutex:=CreateMutex(NIL,True,‘SingleApp’);
¡¡¡¡ IF GetLastError<>ERROR_ALREADY_EXISTS THEN//Èç¹û²»´æÔÚÁíһʵÀý
¡¡¡¡ BEGIN
¡¡¡¡ Application.CreateHandle;
¡¡¡¡ Application.CreateForm (TExpNoteForm, ExpNoteForm);
¡¡¡¡ Application.Run;
¡¡¡¡ END;
¡¡¡¡ ReleaseMutex(Mutex);
¡¡¡¡end.
Èý¡¢È«¾ÖÔ×Ó·¨
¡¡¡¡ÎÒÃÇÒ²¿ÉÒÔÀûÓÃÏòϵͳÌí¼ÓÈ«¾ÖÔ×ӵķ½·¨£¬À´·ÀÖ¹¶à¸ö³ÌÐòʵÀýµÄÔËÐС£È«¾ÖÔ×ÓÓÉWindows ϵͳ¸ºÔðά³Ö£¬ËüÄܱ£Ö¤ÆäÖеÄÿ¸öÔ×Ó¶¼ÊÇΨһµÄ£¬¹ÜÀíÆäÒýÓüÆÊý£¬²¢ÇÒµ±¸ÃÈ«¾ÖÔ×ÓµÄÒýÓüÆÊýΪ0ʱ£¬´ÓÄÚ´æÖÐÇå³ý¡£ÎÒÃÇÓÃGlobalAddAtom º¯ÊýÏòÈ«¾ÖÔ×ÓÌí¼ÓÒ»¸ö255¸ö×Ö½ÚÒÔÄÚµÄ×Ö·û´®£¬ÓÃGlobalFindAtomÀ´¼ì²éÊÇ·ñÒѾ´æÔÚ¸ÃÈ«¾ÖÔ×Ó£¬×îºóÔÚ³ÌÐò½áÊøÊ±ÓÃGlobalDeleteAtomº¯Êýɾ³ýÌí¼ÓµÄÈ«¾ÖÔ×Ó¡£Ê¾ÀýÈ
Ïà¹ØÎĵµ£º
MSHTMLÊÇ΢Èí¹«Ë¾µÄÒ»¸öCOM×é¼þ£¬¸Ã×é¼þ·â×°ÁËHTMLÓïÑÔÖеÄËùÓÐÔªËØ¼°ÆäÊôÐÔ£¬Í¨¹ýÆäÌṩµÄ±ê×¼½Ó¿Ú£¬¿ÉÒÔ·ÃÎÊÖ¸¶¨ÍøÒ³µÄËùÓÐÔªËØ£®
¡¡¡¡MSHTML¶ÔÏóÄ£ÐÍÊÇÓÉһЩ¶ÔÏóºÍ¼¯ºÏ×é³ÉµÄ£®´¦ÓÚ¸ù²¿µÄÊÇHTML£¬ÃèÊöÁË´ò¿ªÒ³ÃæµÄ1¸ö´°¿Ú£¬°üÀ¨Ò»ÏµÁм¯ºÏºÍ¶ÔÏó¡£ÈçFrames¼¯ºÏ£¬History£¬Location£¬Navigator£¬Document£¬Vi—sum ......
Delphi ÖÐ FindWindow ºÍ FindWindowEx µÄÓï·¨ºÍÓ÷¨
FindWindow(
lpClassName, {´°¿ÚµÄÀàÃû}
lpWindowName: PChar {´°¿ÚµÄ±êÌâ}
): HWND; {·µ»Ø´°¿ÚµÄ¾ä±ú; ʧ°Ü·µ»Ø 0}
//FindWin ......
Èç½ñRealPlayerµÄÁ÷ʽýÌåÎļþÒÔÆäÇ¿´óµÄÊÓÆµÑ¹Ëõ±ÈÕýÖð²½ÇÄÈ»ÐËÆð¡£RealPlayer Plus²¥·ÅÆ÷Ò²ÀíËùµ±È»µØ³ÉΪ´ó¼Ò²¥·ÅRealPlayer¸ñʽÎļþµÄÊ×Ñ¡Èí¼þ¡£²»¹ýRealPlayer PlusÒ²²»ÊÇʮȫʮÃÀµÄ£¬±ÈÈçÆô¶¯Ê±¼äÂý£¬Õ¼Óÿռä´ó£¬ÁôÓÐÀúÊ·¼Ç¼µÈµÈ¡£ÆäʵÎÒÃÇ¿ÉÒÔÀûÓÃDelphi´òÔìÒ»¸öÍêÈ«·ûºÏ×Ô¼ºÒªÇóµÄRealPlayer² ......