ÄúÏÖÔÚµÄλÖÃÊÇ£º Èí¼þ > ¿ª·¢ÕßÍøÂç > ÕýÎÄ
¡¤ËٳɵçÄÔ¾«Ó¢£¨°ü·ÖÅ䣩°×Áì¸ßнһ×å´ÓÕâÀ↑ʼ



-JavaÌ×½Ó×Ö±à³Ì£¨Ï£©
-MediaStudio Pro 6.5½Ì³Ì
-Èý¿îÐ¶ÔØÈí¼þ×îÐÂÊÔÓÃ
-»ùÓÚVisual C++µÄWinsock APIÑо¿

ÓÃDELPHI Éè ¼Æ ÆÁ Ä» ±£ »¤ ³Ì Ðò
2000-07-12¡¤ ¡¤-¡¤¡¤-

p>¡¡¡¡ÆÁÄ»±£»¤³ÌÐòÊÇÒ»ÀàÌØÊâµÄWINDOWS³ÌÐò¡£Èç¹ûÒÑ °²×°ÁËÆÁÄ»±£»¤³ÌÐò£¬³¬¹ýµÈ´ýʱ¼äûÓÐÊó±êºÍ¼üÅ̲Ù×÷£¬WINDOWS»á×Ô¶¯ÔËÐÐÆÁÄ»±£»¤³Ì ÐòÒÔ±£»¤ÆÁÄ»¡£ÔÚÐÝÏ¢Ö®Ó࣬ÐÀÉÍÒ»ÏÂÆ¯ÁÁµÄWINDOWSÆÁÄ»±£»¤£¬Ê¹ÈËÉÍÐÄÔÃÄ¿¡£ÄÇôÉè¼ÆÆÁ Ä»±£»¤³ÌÐòҪעÒâÄÄЩ·½Ã棿ÓÉÓÚÆÁÄ»±£»¤³ÌÐòÐèÂú×ãÒ»Ð©ÌØÊâÌõ¼þ£¬±ÈÈçÆÁÄ»±£»¤³ÌÐò Ö»ÄÜÓÐÒ»¸öʵÀýÔËÐУ¬ÔËÐкóÒ»µ©Ê¹ÓÃÊó±ê»ò¼üÅÌÓ¦Á¢¼´½áÊø³ÌÐò£¬ÄܽÓÊܲÎÊýµÈ¡£Éè¼ÆÆÁ Ä»±£»¤³ÌÐòÒª³ä·Ö¿¼Âǵ½ÕâЩ£¬±¾ÎÄ̽ÌÖÓÃDELPHIÖÆ×÷Ò»¸öÆÁÄ»±£»¤³ÌÐò£¨ÒÔϼò³ÆSCR£©£¬ ×îºó¸ø³öÒ»¸ö¿ÉÔËÐеÄʵÀý¡£

¡¡¡¡Ò»¡¢TCanvasÓëTBitMap¶ÔÏó¡¢JPEG¶ÔÏó£º

¡¡¡¡DELPHIµÄTCanvas·â×°Á˴󲿷ÖWINDOWS¶ÔͼÐÎ µÄ²Ù×÷£¬SCRÔËÐÐʱ¸÷ÖÖͼÏñǧ±äÍò»¯¡¢Í¼Ðαä»ÃÎÞ²»ÊÇTCanvasµÄ¡°½Ü×÷¡±¡£TBitMap¶ÔÏóÓÐ Ò»¸öLoadFromFile()·½·¨£¬ÄÜ´ÓBMPͼÏñÎļþÈ¡µÃλͼ¡£Ò»°ãÇé¿öÏ£¬Éè¼ÆSCRÒª´´½¨ÖÁÉÙÒ» ¸öTBitMap¶ÔÏó£¬ÓÉÓÚ´°ÌåºÍTBitMap¶ÔÏó¶¼ÓÐCanvasÊôÐÔ£¬¿ÉÀûÓÃTCanvasÖеĸ÷ÖÖº¯ÊýÉè ¼ÆÍ¼Ïñ¡£Éè¼ÆÒ»¸öÓи÷ÖÖͼÏñ±ä»¯Ð§¹ûµÄSCR³£Óõ½ÒÔϺ¯Êý£º

¡¡¡¡1¡¢CopyRect·½·¨£º´ÓÆäÔ­ÐÍCopyRect(Dest:TRect; Canvas:TCanvas;Source:TRect)¿É¿´³ö£¬Ëü½«Ô´»­²¼Ä³Ò»¾ØÐÎÇøÓòµÄͼÏñ¸´ÖƵ½ÁíÒ» ¸ö»­²¼µÄ¾ØÐÎÇøÓò¡£ÓÉÓÚÊÇÄÚ´æµÄ³É¿é¸´ÖÆ£¬Òò´Ë¾ßÓкܸߵÄÖ´ÐÐЧÂÊ¡£ÔÚTimer×é¼þµÄOnTimer ʼþ³ÌÐòÖÐÁé»îʹÓøú¯Êý£¬¿ÉÒÔÉè¼Æ³ö¸÷ÖÖÃÀ¹ÛÑÝʾЧ¹û£ºÈç°ÙÒ¶´°¡¢ÍÆÀ­¡¢ÂíÈü¿Ë¡¢Ëæ»ú Ïß¡¢·´ÏñµÈµÈ¡£½«ÒÔÏ´úÂë¼ÓÈëµ½OnTimerʼþ³ÌÐò£¬¿ÉÑÝʾ¸÷ÖÖͼÏñЧ¹û£¬ÕâÀï½ö¾Ù³öÁ½ÖÖ Ð§¹û£¬¶ÁÕ߿ɲο¼ÓйØ×ÊÁÏÉè¼Æ¸ü¶à¸üƯÁÁµÄÑÝʾЧ¹û¡£

......
casePlayModeof
0:begin//´Ó×óÏòÓÒÒÆ¶¯(Éèx³õֵΪScreen.Width)
x:=x-10;
SCRSaverFrom.CopyRect(Rect
(x,0,x+10,Screen.Height),Bit.Canvas,
Rect(x,0,x+10,Screen.Height));
ifx=0thenChangePictureAndPlayMode;//¸Ä±äͼÏñ¼°ÑÝʾģʽ
end;
1:begin//ÂíÈü¿Ë
fori:=0toScreen.Width*Screen.Heightdiv10do
begin
j:=Random(Screen.Widthdiv4)*4;
k:=Random(Screen.Heightdiv4)*4;
SCRSaverFrom.CopyRect(Rect(j,k,j+4,k+4),Bit.Canvas,
Rect(j,k,j+4,k+4));
end;
SCRSaverFrom.CopyRect(Rect
(0,0,Screen.Width,Screen.Height),Bit.Canvas,
Rect(0,0,Screen.Width,Screen.Height));
ChangePictureAndPlayMode;//¸Ä±äͼÏñ   Ýʾģʽ
end;
2:......
......
end;

¡¡¡¡2¡¢StretchDraw·½·¨£ºÒ»°ã˵À´£¬Ê¹ÓÃCopyRect·½ ·¨ÒªÇóÔ´¾ØÐÎÓëÄ¿µÄ¾ØÐÎÓ¦ÏàµÈ£¬Èç¹ûÁ½Õ߳ߴçÏà²îÌ«´óʱ£¬É«²Ê¿ÉÄÜÊ§Õæ¡£Ê¹ÓÃStretchDraw ÄܱÜÃâÕâ¸öÎÊÌ⣬ÆäÔ­ÐÍΪ£ºStretchDraw(constRect:TRect;Graphic:TGraphic)¡£Ëü ¿ÉÔÚ»­²¼Ö¸¶¨µÄ¾ØÐÎÇøÓòÄÚÍêÕûµØ¡°»­¡±³öÒ»¸öͼÏñ£¬Èç¹ûԴͼÏóÇøÓòÓëÄ¿µÄÇøÓò³ß´ç²»Ò» Ö£¬»á×Ô¶¯Stretch£¨À­É죩£¬ÄÜÓÐЧµÄ±ÜÃâÉ«²ÊÊ§Õæ¡£µ«´Ëº¯ÊýÖ»ÄÜ¡°»­¡±³öÕû¸öͼÏñ£¬Èç¹ûÖ» Ðè¡°»­¡±³öÒ»²¿·ÖͼÏñÔòÓ¦ÅäºÏCopyRect()ʹÓã¬ÏÈÓÃStretchDraw()ʹÕû·ùλͼ¡°±äÐΡ±Êä ³öµ½Ò»¸ö»­²¼£¬È»ºóÔÙÓÃCopyRect()º¯Êý½«ËùÐ貿·Ö¡°»­³ö¡±¡£

¡¡¡¡3¡¢TextOut·½·¨£ºÔÚÖ¸¶¨µÄλÖÃÊä³öÒ»´®ÎÄ×Ö¡£ÔÚCanvas Öл¹ÓкܶຯÊý¿É»æÖÆÍ¼ÐΣ¬Ò²ÄÜÓÃÓÚSCRµÄÉè¼Æ£¬ÕâÀï¾Í²»¼Ó½éÉÜ¡£

¡¡¡¡4¡¢Ö§³ÖJPEGͼÏñ¡£ÓÉÓÚJPEGͼÏñ¸ñʽ¾ßÓÐºÜºÃµÄ Ñ¹ËõÐÔÄÜ£¬ÊÇ×î³£ÓõÄͼÏñ¸ñʽ֮һ¡£DELPHI3/4ÖÐмÓÈëÁ˶ÔJPEGͼÏñµÄÖ§³Ö£¬JpegImage ÊÇTGraphicµÄÅÉÉúÀ࣬ËüµÄLoadFromFile·½·¨¿É´ÓJPEGÎļþÈ¡³öÒ»·ùͼÏñ£¬JpegImageû ÓÐCanvasÊôÐÔ£¬²»ÄÜÓÃCopyRect()·½·¨,µ«ÆäËü»­²¼¿ÉÓÃStretchDraw()·½·¨ÏÔʾ³öÒ»¸öJPEG ͼÏñ£¬¾Í½«JPEGͼÏñת»»³Éλͼ¡£Çë¿´ÏÂÃæÀý×Ó£¬ÆäÖÐBitΪȫ¾ÖµÄTBitMap¶ÔÏó¡£×¢Ò⣺ʹÓÃJpegImage Ó¦ÔÚUSESÖмÓÈëJPEGµ¥Ôª¡£

procedureLoadBMPFromJPEG(JPEGFileName:String);
//´ÓJPEGÎļþÖÐȡͼÏñ
varJpegImage1:TJpegImage;
begin
JpegImage1:=TJpegImage.Create;
JpegImage1.LoadFromFile(JPEGFileName);
Bit.Width:=JpegImage1.Width;
//ʹλͼÓëJPEGͼÏñ³ß´çÏàµÈ
Bit.Height:=JpegImage1.Height;
Bit.Canvas.StretchDraw(Rect
(0,0,Bit.Width,Bit.Height),JpegImage1);
JpegImage1.Free;
end;

¡¡¡¡¶þ¡¢MediaPlayerºÍTimer×é¼þ£º

¡¡¡¡MediaPlayer×é¼þ·â×°ÁËMCIÖоø´ó²¿·ÖµÄ¹¦ÄÜ£¬ ÀûÓÃËüºÜÈÝÒײ¥·ÅWAVEºÍMIDIÒôÀÖ£¬ÎªSCRÌí¼ÓÃÀÃîµÄ±³¾°ÒôÀÖ¡£ÓйشúÂëÈçÏ£º

ifMediaPlayer1.Mode$#@60;$#@62;mpPLayingthen
//ÒôÀÖ²¥·ÅÍêºó£¬¸ü»»ÒôÀÖ
begin
inc(i);
MediaPlayer1.FileName:=IntToStr(i)+.WAV;
//ÖðÒ»²¥·Å1.wav,2.wav...
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

¡¡¡¡Timer×é¼þÊÇÒ»¸ö¶¨Ê±Æ÷£¬ËüµÄIntervalÊôÐÔÖ¸ ¶¨¶¨Ê±Æ÷µÄ¼ä¸ôʱ¼ä£¬Ã¿¸ôÖ¸¶¨µÄʱ¼ä¾Í»áÖ´ÐÐÒ»´ÎOnTimerʼþ£¬SCRµÄOnTimerʼþÄÚÒª Íê³ÉÑÝʾͼÏñ£¬¸ü»»Í¼Ïñ£¬¼ì²éÒôÀÖÊÇ·ñ²¥·ÅÍê±Ï£¬¸ü»»ÒôÀֵȸ÷Ï×÷¡£Òò´Ë£¬TimerÊÇÉè ¼ÆSCR³ÌÐò±Ø²»¿ÉÉÙµÄ×é¼þ¡£

¡¡¡¡Èý¡¢ÉèÖÃSCRµÄ´°Ì壺

¡¡¡¡SCRµÄ´°ÌåÓëÒ»°ã³ÌÐòµÄ´°ÌåûÓÐÌ«´óµÄÇø±ð¡£ Éè¼ÆÊ±Ö»Ðè×¢Òâµ½ÒÔϼ¸µã£º

¡¡¡¡1¡¢ÉèÖô°ÌåÊôÐÔ£ºWindwoStateÊôÐÔÒ»°ãÉèΪwsMaximized£¬ ʹ´°Ì帲¸ÇÕû¸öÆÁÄ»£»BorderStyleÊôÐÔÉèΪbsNone£¬Ê¹´°ÌåÎޱ߿ò¡¢±êÌ⣻FormStyleÊôÐÔ ÉèΪfsStayOnTop£¬Ê¹´°Ìå×ÜÊDZ£³ÖÔÚÆÁÄ»×îÉÏÃæ¡£

¡¡¡¡2¡¢·ÀÖ¹SCRÖØ¸´ÔËÐУºÎª·ÀÖ¹³ÌÐòÖØ¸´ÔËÐУ¬ÔÚWINS95/98 ¿ÉÓÃAPIº¯ÊýFindWindow²éÕÒÒÑÔËÐеĴ°ÌåÀàÐÍ£¬APIº¯ÊýÔ­ÐÍ£ºHWNDFindWindow(LPCTSTR lpClassName,LPCTSTRlpWindowName)¡£ÒÔÏÂÑÝʾSCRÊÇÈçºÎ±ÜÃâÖØ¸´ÔËÐеġ£´ò¿ªProject£¬ ÔÚUSESµ¥ÔªÖмÓÈëWinTypesºÍSysUtilsµ¥Ôª¡£

programProject1;
uses
Forms,WinTypes,SysUtils,//ºóÁ½ÕßΪмÓÈëµ¥Ôª
Unit1inUnit1.pas{MyScreenSaverForm};
{$R*.RES}
varFindWindwsHandle:array[0..255]ofChar;//´æ·Å´°ÌåÃû
para1:String;
......
StrPCopy(FindWindwsHandle,TMyScreenSaverForm);
//TMyScreenSaverFormÊÇÕâ¸öSCRµÄ´°ÌåÃû¡£
ifFindWindow(FindWindwsHandle,Nil)=0//ѰÕÒͬһ´°¿ÚÀàÐÍ
then......//ûÓÐͬһ´°ÌåÖØ¸´ÔËÐÐ
else......//·¢ÏÖÓÐͬһ´°ÌåÖØ¸´ÔËÐÐ
......

¡¡¡¡×¢Ò⣺ÓÉÓÚDephiÔÚÉè¼Æ´°ÌåʱÒÑÏòWindowsµÇ¼Ç ÁËTMyScreenSaverForm´°Ì壬ÈôÔÚDephiµ÷ÊÔÆ÷ÄÚÔËÐиóÌÐò£¬FindWindowº¯Êý»á·¢ÏÖÒÑÓÐ Ò»¸ö´°Ì壬Ëü»áÖ´ÐÐelseºóÃæµÄ´úÂ룬µ÷ÊÔʱӦעÒâÕâÒ»µã¡£ÈçҪʹ¸Ã³ÌÐò˳ÀûÔËÐУ¬ÐëÏÈ Ö´ÐÐFile²Ëµ¥ÖеÄCloseÃüÁ½«TMyScreenSaverForm´°Ì幨±Õµô¡£

¡¡¡¡3¡¢SCRµÄÊó±ê£º

  • ÏÔʾ/Òþ²ØÊó±ê£ºSCRÓÐʱÔËÐÐÖÐÓ¦ÄÜÒþ²ØÊó±ê£¬¿ÉÓÃAPIº¯ÊýShowCursor£¬¸Ãº¯Êý£ºint ShowCursor(BOOLbShow)¡£bShowÊÇÒ»¸ö²¼¶ûÀàÐͱäÁ¿£¬È¡FalseÖµÒþ²ØÊó±ê£¬È¡TrueÖµ ÏÔʾÊó±ê¡£
  • È¡Êó±êλÖãºÈ¡Êó±êËù´¦Î»ÖÿÉÓÃGetCurSorPos¹ý³Ì£¬Ô­ÐÍΪ£ºGetCurSorPos(MousePos£ºTPoint)£¬MousePos ΪÊó±êËù´¦Î»Öá£SCRÒ»µ©ÔÚ²¶»ñÊó±êÒÆ¶¯ÏûÏ¢£¬¾Í½«µ±Ç°Êó±êµÄλÖÃÓëÒѱ£´æµÄλÖÃ±È ½Ï£¬¼ÆËã³öÊó±êÒÆ¶¯µÄ¾àÀë¡£

¡¡¡¡ËÄ¡¢²¶»ñÊó±êÓë¼üÅÌÏûÏ¢£º

¡¡¡¡SCRÔËÐк󣬰´Ï¡¢Òƶ¯Êó±ê»òÇû÷¼üÅ̶¼Ó¦Á¢¼´ ×÷³ö·´Ó¦£¬ÖжϳÌÐòÔËÐС£ÕâÓÐÁ½ÖÖ°ì·¨¿É½â¾ö¡£Ò»ÊÇÔÚ´°ÌåËùÓÐÓëÊó±ê¡¢¼üÅÌÓйصÄʼþ ÄÚ¼ÓÈëClose¹ý³Ì£¬ÈçOnMouseMove¡¢ONKeyDownµÈʼþ¡£ÕâÑùÒ»µ©Óû§Òƶ¯Êó±ê»ò°´ÏÂÊó±ê£¨ ¼üÅÌ£©¶¼»á¹Ø±Õ³ÌÐò¡£ÕâÖÖ·½·¨¼òµ¥Ò×ÐУ¬µ«ÓÐÒ»¸öȱÏÝ£¬°´Êó±êÖС¢ÓÒ¼üÈ´²»ÄܹرճÌÐò¡£ ¶þÊÇʹÓÃApplication¶ÔÏóµÄOnMessageʼþ£¬ÎÒÃÇ¿ÉΪ¸Ãʼþ¶¨ÒåÒ»¸ö´¦Àí³ÌÐò£¬ÒÔ²¶»ñ ´«µÝµÄÏûÏ¢£¬²¶»ñÏûÏ¢ºóÅж¨ÏûÏ¢ÊÇ·ñΪÊó±ê»ò¼üÅÌÏûÏ¢£¬Èç¹ûÊÇ£¬¾Í¾ö¶¨ÊÇ·ñ¹Ø±Õ³ÌÐò¡£ ¼Ù¶¨CloseSCRÊÇÓû§±àд²¶»ñÏûÏ¢³ÌÐò£¬ÒªÏÈÉ趨Application.OnMessage:=CloseSCR¡£ ²¶»ñÊó±ê¡¢¼üÅ̾͹رÕSCRµÄ³ÌÐòÈçÏ£º

procedureTMyScreenSaverForm.CloseSCR
(varMsg:TMsg;varHandled:boolean);
varx,y:Integer;
begin
caseMsg.messageof
WM_MOUSEMOVE:begin
//ÒÔÏÂΪÊó±êÏûÏ¢£¬MousePosΪÒѱ£´æÊó±êλÖÃ
x:=Abs(loWord(Msg.lParam)-MousePos.x);
y:=Abs(HiWord(Msg.lParam)-MousePos.y);
if(x$#@62;10)or(y$#@62;10)thenClose;
end;
WM_LBUTTONDOWN:Close;
WM_MBUTTONDOWN:Close;//°´ÏÂÊó±êÖмü
WM_RBUTTONDOWN:Close;//°´ÏÂÊó±êÓÒ¼ü
WM_KEYDOWN:Close;//ÒÔÏÂΪ¼üÅÌÏûÏ¢
WM_KEYUP:Close;
WM_SYSKEYDOWN:Close;
WM_SYSKEYUP:Close;
end;
end;

¡¡¡¡Îå¡¢ÔËÐÐSCRʱµÄ²ÎÊý£º

¡¡¡¡×îºóÒ»¸öÎÊÌâÊÇ£ºWINDOWSÊÇÈçºÎÔËÐÐSCR³ÌÐòµÄ £¿SCRÓÐÈýÖÖÔËÐз½Ê½£º1¡¢ÆÁ±£2¡¢ÉèÖÃ3¡¢Ô¤ÀÀ¡£ÆÁ±£·½Ê½ÊÇSCR×îÖ÷ÒªµÄÔËÐз½Ê½£¬´¦ÓÚÆÁ±£ ·½Ê½Ê±£¬SCRʵÏÖÆÁÄ»±£»¤µÄ¹¦ÄÜ£¬ÏÔʾ³ö¸÷ÖÖͼÏñ£»´¦ÔÚÉèÖ÷½Ê½Ê±£¬SCR¿ÉÈÃÓû§ÉèÖÃÓÐ ¹ØÐÅÏ¢£¬Èç¸ü»»Í¼Æ¬¡¢ÉùÒôµÈ£»ÔÚ¡°ÏÔʾÆ÷ÊôÐÔ¡±µÄ¡°ÆÁÄ»±£»¤³ÌÐò¡±Ò³ÃæÖмäÓÐÒ»¸ö¼ÆËã»úͼ Ïñ¡£ÓÐЩSCR³ÌÐòÔËÐÐÓÚÔ¤ÀÀ·½Ê½Ê±£¬ÆÁÄ»±£»¤Í¼Ïñ²»ÊÇÔÚÕû¸öÆÁÄ»ÉÏÏÔʾ£¬¶øÊÇÏÔʾÔÚÕâ ¸ö¼ÆËã»úͼÏñµÄ¡°ÏÔʾÆ÷¡±ÄÚ¡£

¡¡¡¡WINDOWSÆô¶¯ÔËÐÐSCRµÄÃØÃÜÔÚÄÄÀËü¾ÍÔÚÓÚ ²ÎÊý¡£WINDOWS¿ÉÈÃSCR´øÈýÖÖ²»Í¬µÄ²ÎÊýÔËÐУº/S¡¢/C¡¢/P¡£ÆäÖÐ/S²ÎÊý֪ͨSCRÔËÐÐÓÚÆÁÄ» ±£»¤×´Ì¬;/C£¨ÔÚWIN98ÔòÒÔ/C:XXXX²ÎÊý£©ºÍ/P²ÎÊý·Ö±ðÔËÐÐÓÚÉèÖÃÓëÔ¤ÀÀ·½Ê½¡£´ò¿ª¡°ÏÔʾ Æ÷ÊôÐÔ¡±£¬Ñ¡ÖС°ÆÁÄ»±£»¤³ÌÐò¡±Ò³Ãæºó£¬Ö»ÒªÒÑÑ¡ÖÐÒ»¸öSCR£¬Windows95¶¼»á²»¶ÏÒÔSCRFileName /PXXXXXÆô¶¯¸ÃÆÁ±£³ÌÐò£¬XXXXX¾ÍÊÇÒ³ÃæÉϼÆËã»ú¡°ÏÔʾÆ÷¡±´°ÌåµÄ¾ä±ú£¨´¦ÔÚ/P²ÎÊýµÄ ÔËÐУ¬¿ÉÓÉÕâ¸ö´°Ìå¾ä±úÈ¡µÃDC£¬ÕâÀï¾Í²»ÔÙÐðÊöÁË£©¡£Èç¹ûÑ¡ÖÐ[ÉèÖÃ(T)...]»ò[Ô¤ÀÀ(V)] °´Å¥£¬Windows»áÏÈÖжÏÒÑÔËÐеÄSCR£¨Èç¹ûÓÐÒÔ/P²ÎÊýÔËÐеÄSCRµÄ»°£©£¬ÔÙÒÔ/C»ò/P²ÎÊý£¬ Æô¶¯Ñ¡ÖеÄSCR¡£Èç¹ûÑ¡ÖÐÁËÒ»¸öSCR£¬°´ÓÒ¼ü£¬³öÏÖ¿ì½Ý²Ëµ¥£¬ÆäÖÐÓС°²âÊÔ(E)¡±¡¢¡°ÅäÖÃ(O)¡±¡¢¡° °²×°(I)¡±µÈÏËüÃÇ·Ö±ðÒÔ/C²ÎÊý¡¢ÎÞ²ÎÊý¡¢/P²ÎÊýÔËÐÐSCR¡£Ðè×¢ÒâµÄÊÇ£¬ÕâÀïµÄ¡°ÅäÖá±¾Í ÊÇ¡°ÉèÖá±£¬Ææ¹ÖµÄÊÇ£¬È´Ã»ÓÐÈκβÎÊý¡£

¡¡¡¡ÔÚDELPHIÖУ¬ParamCountº¯Êý¿ÉÈ¡µÃÃüÁîÐвÎÊý ¸öÊý£¬ParamStr(Index:Integer)Ôò·µ»ØÃüÁîÐÐÖÐÏàÓ¦²ÎÊý×Ö·û´®£¬ÆäÖÐParamStr(0)Ϊ³Ì ÐòÃû£¬ParamStr(1)ÖеĴæ·ÅÓÐWINDOWSÆô¶¯SCRµÄµÚÒ»¸ö²ÎÊý¡£Á˽âÕâЩ¿ÉÒÔ°ïÖúÎÒÃǸù¾Ý ²»Í¬µÄ²ÎÊýÉèÖÃÔËÐÐʱµÄÖ÷´°Ìå¡£¼Ù¶¨Ä³SCRÓжþ¸ö´°Ì壬ÓëÔ¤ÀÀ¡¢ÉèÖöþÖÖÔËÐз½Ê½Ïà¶Ô Ó¦£¬Æä´°ÌåÃû·Ö±ðΪFormA,FormB,Ôò±àдProject³ÌÐòÈçÏÂ:

if(Paramcount$#@62;0)then
begin
para1:=Copy(UpperCase(ParamStr(1)),1,2);
ifpara1=/Sthen//Ô¤ÀÀ
begin
Application.Initialize;
Application.CreateForm(TFormA,FormA);
Application.CreateForm(TFormB,FormB);
Application.Run;
end;
ifpara1=/Cthen//ÉèÖÃ
begin
Application.Initialize;
Application.CreateForm(TFormB,FormB);
Application.CreateForm(TFormA,FormA);
Application.Run;
end;
endelsebegin//ÉèÖÃ
Application.Initialize;
Application.CreateForm(TFormB,FormB);
Application.CreateForm(TFormA,FormA);
Application.Run;
end;

¡¡¡¡Áù¡¢Ê¾Àý£ºÒ»¸öËæ»ú²¥·ÅÒôÀÖ¡¢ÑÝʾͼÏñµÄSCR¡£

¡¡¡¡Õâ¸öSCRÄÜÔÊÐíÓû§ËæÒâÉèÖò¥·ÅµÄÒôÀÖ£¨WAVEºÍMIDI£© ºÍÑÝʾµÄͼÏñ£¨BMPºÍJPEG£©£¬ÓÉÓÚÆª·ùÓÐÏÞ£¬Ö»Éè¼ÆÁ˼¸ÖÖ¼òµ¥µÄÑÝʾЧ¹û¡£

¡¡¡¡²½ÖèÈçÏ£º

¡¡¡¡1¡¢´´½¨Ò»¸ö¹¤³ÌÏîÄ¿£¬½«´°ÌåÈ¡ÃûΪ£ºMyScreenSaverForm¡£

¡¡¡¡2¡¢¼ÓÈëTimer¡¢TOpenDialog¡¢TMediaPlayerµÈ×é ¼þ£ºÈçÏÂͼ(scr.jpg)

¡¡¡¡3¡¢´´½¨ÓйØÊ¼þ£¬¼ÓÈë³ÌÐò´úÂë¡£

¡¡¡¡4¡¢ÔÚDELPHIÖбàÒë³É¿ÉÖ´ÐÐÎļþ¡£

¡¡¡¡5¡¢½«¿ÉÖ´ÐÐÎļþÃû¸ÄΪXXXXX.SCR,¸´ÖƵ½WINDOWS Ŀ¼

¡¡¡¡6¡¢´ò¿ªÏÔʾÆ÷ÊôÐÔ£¬´ò¿ªÆÁÄ»±£»¤³ÌÐòÒ³Ãæ£¬Ä㠻ᷢÏÖXXXXXÒѼÓÈëµ½ÆÁÄ»±£»¤³ÌÐòÁбí¿òÖУ¬¼´¿ÉÉèΪ»î¶¯µÄµÄÆÁÄ»±£»¤³ÌÐò¡£

¡ö Ïà¹ØÄÚÈÝ
¡¡ÓÃDELPHIÖÐCanvasÌØÐÔ¿ª·¢Í¼ÐÎÈí¼þ
¡¡×Ô ¶¯ Òþ ²Ø µÄ Éù Ïó °´ Å¥
¡¡Delphi4.0ϵͳÌáʾÐÅÏ¢µÄºº»¯
¡¡´Ó ʵ Àý ¿´ Delphi 4 ÖÐ µÄ ¶¯ ̬
¡¡ÎÞ±êÌâ´°¿ÚµÄÒÆ¶¯
¡¡ÓÃDelphi 4.0 Éè ¼Æ Ð ÐÍ ½ç Ãæ
¸Ðл ·ÃÎÊÌì¼«Íø£¬Èç¹ûÄú¾õµÃ¸ÃÎÄÕÂÉæ¼°°æÈ¨ÎÊÌ⣬Çë¿´ÕâÀ