成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于Delphi的屏幕抓圖技術的實現

開發 開發工具
本文以Delphi7.0作為開發平臺,給出了網絡監控軟件中的兩種屏幕抓圖技術的設計方法和步驟。介紹了教師在計算機機房內教學時,如何監控學生計算機顯示器上的畫面,以保證教學的質量和效果。

  隨著網絡技術的飛速發展,計算機網絡在各高等院校教學中的使用已非常普遍,但是,我們發現一個問題,在教學的過程中,由于老師是面對著學生,而背對著學生計算機的顯示器,不能隨時查看學生計算機顯示器上的內容,所以,有的學生在教學中偷玩游戲,影響了教學的質量和效果,因此,設計一款網絡監控軟件,監控學生計算機,十分必要。本文以Delphi7.0作為開發平臺,給出了網絡監控軟件中的兩種屏幕抓圖技術的設計方法和步驟。為了實現這一目的,此系統應具有以下功能:

  (1)教師用機可以循環顯示學生計算機的顯示器上的畫面。

  (2)教師用機可以動態顯示某一學生計算機的顯示器上的畫面。

  (3)教師用機可以對學生用計算機發出警告信息和控制信息。

  (4)學生用計算機開機自動運行服務端監控程序。

  (5)為了防止學生用計算機的服務端監控程序,被學生發現用Ctrl+Alt+Del關閉,在Ctrl+Alt+Del對話框中必須隱藏程序。同時,應該隱藏程序在任務欄的按鈕。

  本文結合應用實踐,重點向大家介紹在Delphi7.0中可以采用的兩種實現屏幕抓圖技術的操作方法。

  程序實現

  (1)抓取屏幕圖像的難點有兩個:一是如何奪取屏幕的句柄,二是知道屏幕句柄后如何獲取屏幕的圖像。Borland公司的設計人員用畫布(Tcanvas)對象封裝了Windows的大部分圖形輸出功能,可以通過它以更直觀的方式和Windows的屏幕打交道,而不必關心令人頭疼的Windows API函數。具體程序如下:

  1. procedure TForm1.Timer1Timer(Sender:TObject);//抓取屏幕,并保存到Image控件中  
  2. var  
  3.  Fullscreen:Tbitmap;  
  4.  FullscreenCanvas:TCanvas;  
  5.  dc:HDC;  
  6. begin  
  7.  Fullscreen:=TBitmap.Create;   
  8.  //創建一個BITMAP來存放圖象  
  9.  Fullscreen.Width:=screen.width;  
  10.  Fullscreen.Height:=screen.Height;  
  11.  DC:=GetDC(0); //取得屏幕的DC,參數0指的是屏幕  
  12.  FullscreenCanvas:=TCanvas.Create;   
  13.  //創建一個CANVAS對象  
  14.  FullscreenCanvas.Handle:=DC;  
  15.  Fullscreen.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),  
  16.  fullscreenCanvas,Rect(0,0,Screen.Width,Screen.Height));   
  17.  //把整個屏幕復制到BITMAP中  
  18.  FullscreenCanvas.Free;   
  19.  //釋放CANVAS對象  
  20.  ReleaseDC(0,DC); //釋放DC  
  21.  //*******************************  
  22.  image1.picture.Bitmap:=fullscreen; //拷貝下的圖象賦給IMAGE對象  
  23.  image1.Width:=fullscreen.Width;  
  24.  image1.Height:=fullscreen.Height;  
  25.  fullscreen.free; //釋放bitmap  
  26.  form1.WindowState:=wsNormal; //復原窗口狀態  
  27.  form1.show; //顯示窗口  
  28.  messagebeep(1); //BEEP叫一聲,報告圖象已經截取好了。  
  29. end;  

  (2)Delphi的第三方控件ScreenCapture,它是一個很好的免費的截圖控件,可以輕松抓取任意大小(全屏當然行)、屏幕的任何位置,還可以設置所截圖像的形狀、以及用何種模式截圖。下面介紹的是用TcmWindow模式截圖,使用非常簡單,使用效果可以與著名的抓圖軟件SnagIt32媲美。

  1. procedure TForm1.BtnStartClick(Sender:TObject);  
  2. begin  
  3.  ScreenCapture1.start; //開始截圖  
  4. end;  
  5.  
  6.  //當截取屏幕成功時,此事件發生  
  7.  procedure TForm1.ScreenCapture1Capture(Sender:TObject;Bitmap:TBitmap);  
  8. begin  
  9.  //調整滾動窗口的大小以適應截獲圖像的大小  
  10.  Scrollbox1.HorzScrollBar.Range:= Image1.width;  
  11.  Scrollbox1.VertScrollBar.Range:= Image1.height;  
  12. end;  
  13.  
  14. procedure TForm1.FormCreate(Sender:TObject);  
  15. begin  
  16.  //載入entntacp.dll文件  
  17.  BtnStart.enabled:= ScreenCapture1.dllavailable;  
  18.  //顯示版本信息  
  19.  caption:= '屏幕抓圖軟件' + ScreenCapture1.version;  
  20. end;  
  21.  
  22. //當沒有足夠的內存支持截取屏幕時,此事件發生  
  23. procedure TForm1.ScreenCapture1Error(Sender:TObject);  
  24. begin  
  25.  MessageDlg('屏幕截取時發生一個錯誤!請關閉其他應用程序以獲得更多內存資源.', mtError,[mbOK],0);  
  26. end;  
  27.  
  28.  //當用戶按“Esc”鍵,即取消屏幕截取時,此事件發生  
  29. procedure TForm1.ScreenCapture1UserCancelled(Sender:TObject);  
  30. begin  
  31.  MessageDlg('用戶取消屏幕截取。',mtInformation,[mbOK],0);  
  32. end;  

  結論

  通過對以上兩種程序代碼的調試運行,使用第三方控件的方法更易于設計實現,文中的程序代碼全部在Win2000和Delphi7.0環境下調試通過。

【編輯推薦】

  1. Delphi基礎開發技巧
  2. 在Delphi程序中操作注冊表
  3. 在Delphi中使用動態圖標
  4. Delphi內存管理的編程技巧
  5. Delphi開發技術手冊
責任編輯:韓亞珊 來源: 計算機與信息技術
相關推薦

2009-03-05 09:35:18

LinuxUbuntu截圖

2010-08-02 15:21:06

DelphiICMP

2011-08-16 15:48:37

iPhone開發抓圖程序

2013-07-02 15:23:08

MySQL MHA故障轉移

2016-09-29 15:44:18

開源上網管理

2009-07-02 16:56:51

JSP技術

2014-09-16 17:00:02

UDP

2010-05-10 14:17:46

負載均衡技術

2009-02-04 16:11:45

2011-04-22 09:48:51

SimpleFrame

2011-04-06 16:14:40

Delphi

2009-07-14 11:23:06

CSS技術概覽

2022-11-24 10:43:33

2017-09-08 10:59:05

2016-12-28 10:34:58

2009-01-30 11:38:31

視頻監控IPSAN威視數據

2013-01-09 15:27:45

DOM XSS檢測QtWebKitXSS

2011-05-19 10:39:26

2009-06-12 11:19:03

EJB技術商務預訂系統

2009-11-24 14:22:03

基于PHP的AJAX技
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 五月综合色啪 | 欧美日韩精品久久久免费观看 | 精品国产一区三区 | 久久久久久国产精品免费 | 日韩欧美大片 | 国产一区二区三区四区五区加勒比 | 国产视频精品在线观看 | 国产成人99久久亚洲综合精品 | 国产成人精品一区二三区在线观看 | 久久成人精品一区二区三区 | 国产亚洲一区在线 | 一区二区三区福利视频 | 成人国产精品久久 | 精品一区二区久久久久久久网站 | 精品久久久一区 | 毛色毛片免费看 | 巨大荫蒂视频欧美另类大 | 中文字幕亚洲视频 | 日韩在线一区二区三区 | 亚洲一区二区在线免费观看 | 国产精彩视频在线观看 | 中文字幕 在线观看 | 99视频在线看 | 综合精品久久久 | 一级a爱片久久毛片 | 日韩欧美国产精品一区 | 亚洲精品免费在线观看 | 欧美日韩国产一区二区三区 | 国产视频一视频二 | 国产精品九九 | 日韩在线小视频 | 国产免费一区二区三区 | 久久精品国产一区二区三区不卡 | 国产精品久久久久久久久久久久久 | 亚洲一区二区三区 | 国产精品1 | 91精品国产综合久久久久蜜臀 | 手机av免费在线 | 国产精品成人在线播放 | 欧美啊v在线观看 | 在线免费观看黄色网址 |