




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Delphi 組件使用及其代碼1.數(shù)組定義(1) 一維數(shù)組數(shù)組名:arrayn1 . . n2 of 數(shù)據(jù)類型;(2) 二維數(shù)組數(shù)組名:arrayn1 . . n2,m1 . . m2 of 數(shù)據(jù)類型; 或者數(shù)組名:arrayn1 . . n2 of arraym1 . . m2 of 數(shù)據(jù)類型;(3) 動態(tài)數(shù)組數(shù)組名:array of 數(shù)據(jù)類型;使用前要用SetLength(數(shù)組名,數(shù)組長度);來動態(tài)申請空間。2.使用math數(shù)學函數(shù): 需要在uses引用里面添加math; 其中power(a,b)函數(shù)是求a的b次冪。 RandomRange(a,b)函數(shù)是隨機產(chǎn)生一個a、b之間的數(shù)。3.聲明全局變量 需要在implementation之后聲明; 初始化格式需要在最后一個end之后:語句:initialization賦值語句;4.常量在var后使用const關鍵字聲明常量:如const PI = 3.14;5.枚舉類型使用聲明: type 枚舉類型名=(枚舉值1,枚舉值2,);定義: var 變量名:枚舉類型名;6.指針類型(1) 運算符:放在變量的前面,獲得變量的地址; 運算符:放在指針變量的后面,取得該指針變量中所存放地址變量的數(shù)據(jù);(2)聲明:type 指針類型名= 數(shù)據(jù)類型; var 指針變量名:指針類型名; 或者 var指針變量名:數(shù)據(jù)類型;7.日期時間函數(shù)function Now:TDateTime;/返回系統(tǒng)當前日期和時間function Date:TDateTime;/返回系統(tǒng)當前日期function Time:TDateTime;/返回系統(tǒng)當前時間function DateTimeToStr(DateTime:TDateTime):string;/將日期時間數(shù)據(jù)轉換為字符串function StrToDateTime(const s:string):TDateTime; /將字符串轉換為日期時間數(shù)據(jù)function DateToStr(DateTime:TDateTime):string;/將日期數(shù)據(jù)轉換為字符串function TimeToStr(DateTime:TDateTime):string;/將時間數(shù)據(jù)轉換為字符串function FormatDateTime(const Format:string;DateTime:TDateTime):string;/按指定格式輸出日期時間例如:formatDatetime(yyyy-mm-dd,now);formatDatetime(hh:mm:ss,now);8.自定義過程(1) 在type下聲明: procedure ();(2) 將光標移動定位在過程聲明中,按Ctrl+Shift+C,實現(xiàn)自動生成部分過程框架。procedure ();begin;end;(3) 自定義過程的調用: 過程名();9.自定義函數(shù)(1)函數(shù)不用聲明;(2)function ():;begin;end;(3)自定義函數(shù)的調用: 函數(shù)名(實參表);10.對話框函數(shù)MessageDlg(1):=MessageDlg(信息內容,類型,按鈕組,HelpCex);(2)類型:mtWarning 含有感嘆號符號的警告對話框 mtError 含有紅色差號符號的錯誤對話框 mtInformation 含有藍色i符號的信息對話框 mtConfirmation 含有藍色?符號的確認對話框 mtCustom 不含圖標的一般對話框,對話框的標題是程序的名稱 按鈕組: mbYes Yes按鈕,函數(shù)返回mrYes或6 mbNo No按鈕,函數(shù)返回mrNo或7 mbOk Ok按鈕,函數(shù)返回mrOk或1 mbCancel Cancel按鈕,函數(shù)返回mrCancel或2 mbHelp Help按鈕 mbAbort Abort按鈕,函數(shù)返回mrAbort或3 mbRetry Retry按鈕,函數(shù)返回mrRetry或4 mbIgnore Ignore按鈕,函數(shù)返回mrIgnore或5 mbAll All按鈕,函數(shù)返回mrAll或8 mbNoToAll NoToAll按鈕,函數(shù)返回mrNoToAll或9 mbYesToAll YesToAll按鈕,函數(shù)返回mrYesToAll或10 HelpCtx指定當用戶單擊“Help”按鈕或鍵時,現(xiàn)實的幫助主題。例如:if MessageDlg(您確定要關閉窗口嗎?,mtConfirmation,mbYes,mbNo,0)=mryes then11.基本知識點(1)if (key in 0,1.9,#13,#8) then /判斷按下的是否為數(shù)字鍵、回車鍵和退格鍵 #0表示沒有任何內容 #32表示空格 (2)Delphi中Randomize方法用來隨機初始化數(shù)據(jù)。(3)Label的Transparent屬性用來設置Label的顯示方式是否透明顯示。(4)StringGrid屬性Cells【A,B】,其中A控制列,B控制行。(5)MessageBox顯示消息: MessageBox(句柄,消息,消息框名,類型)例如:MessageBox(0,PChar(你好+edit1.text),歡迎你,MB_OK) MessageBox(0,PChar(你好+edit1.text),提示,MB_ICONASTERISK and MB_ICONINFORMATION)/提示框 MessageBox(0,PChar(密碼不能為空!),警告,MB_ICONEXCLAMATION)/警告框12.制作閃現(xiàn)窗體在Project-option中將閃現(xiàn)窗體設置為Available forms,之后顯示的主窗體設置為Auto-create forms,并在主窗體的form的create事件中加入以下代碼: (1) 先聲明一個閃現(xiàn)窗體的變量:如About:=TForm2; 主窗體代碼:About:=TForm2.Create(Application);/生成閃現(xiàn)窗體 About.show; /顯示閃現(xiàn)窗體 (2)閃現(xiàn)窗體加入一個Timer事件,并在Timer的Timer事件中加入下面代碼: close; /關閉窗體Release; /釋放變量 注意:可用Timer的Interval控制閃現(xiàn)窗體出現(xiàn)的事件,以毫秒為單位。13.SavaDialog組件(1) 過濾文件:Filter(2) 保存文件默認后綴名DefaultExt屬性填寫后綴名,注意不要加.;(3) 保存代碼:if savedialog1.Execute then begin memo1.Lines.SaveToFile(form1.SaveDialog1.FileName); application.MessageBox(文件保存成功!,提示!,64); end;14.復制、移動文件(1)復制文件 CopyFile(d:db123.txt,f:db123.txt,False); WinExec(cmd /c copy d:db123.txt f:db123.txt,0); 使用以上函數(shù)目標目錄必須存在! CopyFile(源文件路徑,目標文件路徑,False(存在覆蓋)True(存在不覆蓋));(2) 移動正在使用的文件 MoveFileEx(所要移動的文件路徑(及文件名),目標文件的路徑(和文件名),移動標記); 移動標記取值:MOVEFILE_REPLACE_EXISTING=$00000001;/覆蓋已經(jīng)存在的文件,來源文件和目標不能在同一目錄MOVEFILE_COPY_ALLOWED=$00000002;/如果目標文件被移動到不同的卷上,則函數(shù)通過拷貝后刪除來源文件的方法來模擬移動文件MOVEFILE_DELAY_UNTIL_REBOOT=$00000004;/在系統(tǒng)重新啟動后再執(zhí)行移動操作,這個參數(shù)只能被擁有管理員權限或localsystem權限的程序使用,不能和MOVEFILE_COPY_ALLOWED一起使用。MOVEFILE_WRITE_THROUGH=$00000008;/這個標記允許函數(shù)在執(zhí)行完文件移動后才返回,否則不等文件移動完畢后就直接返回。如果設置了MOVEFILE_DELAY_UNTIL_REBOOT標記,則MOVEFILE_WRITE_THROUGH標記將被忽略。MOVEFILE_CREATE_HARDLINK=$00000010;/系統(tǒng)保留,以供將來使用。MOVEFILE_FAIL_IF_NOT_TRACKABLE=$00000020;/如果來源文件為1個link文件,但是文件在移動后不能夠被tracked,則函數(shù)執(zhí)行失敗。如果目標文件在一個fat格式的文件系統(tǒng)上,則上述情況可以發(fā)生。該參數(shù)不支持NT系統(tǒng)。15.在系統(tǒng)菜單中添加菜單項i:=GetSystemMenu(Handle,False); /獲取窗體的句柄 AppendMenu(i,MF_SEPARATOR,0,nil);/添加分割線 AppendMenu(i,MF_STRING,100,我的菜單(&E);/添加菜單項16.創(chuàng)建和刪除文件夾DirectoryExists(路徑) ;/判斷文件夾是否存在ForceDirectories(路徑); /創(chuàng)建文件夾mkdir(路徑);/創(chuàng)建一個指定的目錄RmDir(路徑); /刪除文件夾17.建立臨時文件function GetTempFileName(建立臨時文件路徑,臨時文件的前綴(識別前3位),用于建立臨時文件的號碼,返回建立的臨時文件名稱)例如: GetTempFileName(PChar(dir),TEST,0,Temp);/生成臨時文件名18.把文件刪除到回收站(注意:需要引用shellAPI單元)首先:varSHFile:SHFILEOPSTRUCT; with SHFile do begin Wnd:=0; /擁有者窗口句柄 wFunc:=FO_DELETE;/文件操作功能,可選項FO_COPY、FO_DELETE、FO_MOVE、FO_RENAME pFrom:=PChar(DFile); /源文件 /pto 目標文件fFlags:=FOF_ALLOWUNDO; /文件控制標志/fAnyOperationsAborted 用戶是否中斷操作/hNameMapping 指向一個SHNAMEMAPPING結構的指針 lpszProgressTitle:=將文件刪除到回收站; /進程標題 end; SHFileOperation(SHFile);/刪除文件,需要引用shellAPI單元19. 引用動態(tài)鏈接庫(DLL文件使用)(1)靜態(tài)引用動態(tài)鏈接庫在implementation后function 名稱():Integer;stdcall;external XX.dll;(2) 動態(tài)引用動態(tài)鏈接庫1) LoadLibrary函數(shù)用于載入指定的動態(tài)鏈接庫,并將它映射到當期進程使用的地址空間。函數(shù)原型如下:HINSTANCE LoadLibrary(LPCTSTR lpLibFileName);lpLibFileName:指定要載入的動態(tài)鏈接庫的名稱;2) FreeLibrary函數(shù)用于釋放那些由應用程序明確裝載的DLL文件。函數(shù)原型如下:BOOL FreeLibrary(HMODULE hLibModule);hLibModule:要釋放的一個庫的句柄;注意:1個LoadLibrary函數(shù)對應1個FreeLibrary函數(shù)。3) GetProcAddress函數(shù)用于獲取DLL導出函數(shù)的地址,使用返回的函數(shù)指針調用DLL函數(shù)。函數(shù)原型如下:FARPROC GetProcAddress(HMODULE hModule,LPCSTR lpProcName);hModule:包含此函數(shù)的DLL模塊的句柄;lpProcName:包含函數(shù)名以NULL結尾的字符串,或者是指定函數(shù)的序數(shù)值。例子:Tgetn=function:pchar;stdcall; /在var前聲明procedure TForm1.Button1Click(Sender: TObject);var onehandle:THandle; fun:Tgetn;begin onehandle:=loadlibrary(getname.dll); try if onehandle 0 then fun:=GetProcAddress(onehandle,getnames); if not(fun=nil)then label1.Caption:=fun; finally freelibrary(onehandle); end;end;20.清空回收站首先定義常量:const HERB_NOCONFIRMATION=$00000001; SHERB_NOPROGRESSUI=$00000002; SHERB_NOSOUND=$00000004;然后引入靜態(tài)鏈接庫:(需要添加引用shellAPI單元)function SHEmptyRecycleBinA(Wnd:HWND;str:PChar;WRD:DWORD):Integer;stdcall;external SHell32.dll;最后:SHEmptyRecycleBinA(application.handle,SHERB_NOCONFIRMATION+SHERB_NOPROGRESSUI+SHERB_NOSOUND);21.FileListBox1.Items.Stringsi用于得到FileListBox中指定的文件名。22.更改目錄(1)GetDir(D:Byte;var S:string);/獲取當前路徑D:目標磁盤。取值如下:0:default;1:A;2:B;3:C;S:存儲路徑的字符串;(2) ChDir(const S:string);/改變當前路徑S:改變后的路徑(3) ExtractFilePath(OpenDialog1.FileName);獲取打開文件路徑 ExtractFileName(OpenDialog1.FileName);獲取打開的文件名23.對ini文件進行操作(需要引用IniFiles單元) 新建ini文件PersionInfoName=趙志勇varini:TIniFile;;ini:=TIniFile.Create(文件路徑+文件名.ini);/打開ini文件edit1.Text:=ini.ReadString(PersionInfo,Name,趙志勇);/讀取文件ini.WriteString(PersionInfo,Name,Edit1.Text);/修改文件讀取或修改ini文件后都需要釋放資源:FreeAndNil(ini);24. 獲取窗口文本int GetWindowText(HWND hwnd,LPTSTR lpString,int nMaxCount);hwnd:欲獲取文字的窗口句柄lpString:預定義的一個緩沖區(qū),至少有nMaxCount個字符大小。nMaxCount:lpString緩沖區(qū)的長度。例如:GetWindowText(H_Window,text,255)25. StrPas(字符串)函數(shù)StrPas(字符串);/將零終止字符串轉換為Pascal類型字符串。26. 在程序中調用.hlp文件WinHelp(handle,path,命令參數(shù),附加數(shù)據(jù)(與命令參數(shù)有關));例如: WinHelp(Self.Handle,PChar(dir+help.hlp),HELP_CONTENTS,0);27. 獲取硬盤序列號Bool GetVolumeInformation(LPCSTR lpRootPathName,LPTSTR lpVolumeNameBuffer, DWORD nVolumeNameSize,LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength,LPDWORD lpFileSystemFlags, LPTSTR lpFileSystemNameBuffer,DWORD nFileSystemNameSize)lpRootPathName:欲獲取信息卷的根路徑;lpVolumeNameBuffer:用于裝載卷名的一個字符串;(nil)nVolumeNameSize:lpVolumeNameBuffer字符串的長度;(sizeof()lpVolumeSerialNumber:用于裝載磁盤卷序列號的變量;lpMaximumComponentLength:指定一個變量,用于裝載文件名每一部分的長度;lpFileSystemFlags:用于裝載一個或多個二進制位標志的長度;lpFileSystemNameBuffer:指定一個緩沖區(qū),用于裝載系統(tǒng)的名稱;(nil)nFileSystemNameSize:lpFileSystemNameBuffer字符串的長度。(0)例如:function Get_HD_Serial(const Driverdir:Char):string;var nu:DWORD; vf:DWORD; volumeinfo:array0.MAX_PATHof Char; V_n:DWORD;begin GetVolumeInformation(PChar(Driverdir+:),nil,SizeOf(volumeinfo),V_n,nu,vf,nil,0); Result:=Format(V_S:%8.0X,V_n);end;28. 判斷驅動器的類型function GetDriveType(lpRootPathName:PChar):UNIT;stdcall;lpRootPathName:驅動器盤符。該函數(shù)返回一個整型標記符:DRIVE_UNKNOWN(0):驅動器盤符無效;DRIVE_NO_ROOT_DIR(1):這不是一個有效的驅動器;DRIVE_REMOVABLE(2):可移動驅動器;DRIVE_FIXED(3):不可移動(本地)驅動器; DRIVE_REMOTE(4):;網(wǎng)絡(遠程)驅動器; DRIVE_CDROM(5):;光盤驅動器;DRIVE_RAMDISK(6):RAM虛擬驅動器;29. 取消磁盤共享使用DOS命令“NET SHARE 盤符$ /DEL”來實現(xiàn);function WinExec(lpCmdLine:LPCSTR;uCmdShow:UNIT):UNIT;stdcall;lpCmdLine:表示命令行;uCmdShow:表示是否顯示窗口,如果為SW_Show將顯示窗口,為SW_Hide隱藏窗口。例如:取消C盤共享:inExec(cmd.exe /k NET SHARE C$ /DEL,SW_SHOW);30. 檢測驅動器容量BOOL GetDiskFreeSpace(LPCTSTR lpRootPathName,LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector,LPDWORD lpNumberOfFreeCluster, LPDWORD lpTotalNumberOfClusters);lpRootPathName:不包括卷名的一個磁盤根路徑;(C:)lpSectorsPerCluster:用于裝載一個簇內扇區(qū)數(shù)的變量;(A)lpBytesPerSector:用于裝載一個扇區(qū)內字節(jié)數(shù)的變量;(B)lpNumberOfFreeCluster:用于裝載磁盤上剩余簇數(shù)的變量;(C)lpTotalNumberOfClusters:用于裝載磁盤上總簇數(shù)的變量。(D)磁盤大小=A*B*D;磁盤剩余空間=A*B*C。(單位:B)例如:GetDiskFreeSpace(C:,sec1,byt1,cl1,cl2);31. 格式化磁盤需要先靜態(tài)引用動態(tài)鏈接庫:function formatdrive(hwnd:HWND;drive:Word;formatid:Word;options:Word):LongInt stdcall; external shell32.dll name SHFormatDrive;然后才可以使用。function FormatDrive(hwnd:HWND;drive,formatid,options:word):longint stdcall;hwnd:調用該函數(shù)的窗口句柄;drive:格式化的目標磁盤,從0開始;formatid:格式化ID;options:格式化選項。32. 顯示、隱藏鼠標int ShowCursor(BOOL bShow);bShow:該參數(shù)為True顯示鼠標指針,F(xiàn)alse隱藏鼠標指針。例如:ShowCursor(False);/隱藏鼠標ShowCursor(True);/顯示鼠標33. 鎖定計算機LockWorkStation;/鎖定計算機34. 檢測系統(tǒng)啟動模式int GetSystemMetrics(int nIndex);/用于得到被定義的系統(tǒng)數(shù)據(jù)或者系統(tǒng)配置信息nIndex取值:SM_CLEANBOOT:返回系統(tǒng)啟動方式返回值 0:正常啟動 1:安全模式啟動 2:網(wǎng)絡安全模式啟動SM_CMOUSEBUTTONS:返回值為系統(tǒng)支持的鼠標鍵數(shù),返回0則表示系統(tǒng)沒有安裝鼠標。35. 設置桌面顏色BOOL WINAPI SetSysColors(int cElements,CONST INT *lpaElements,CONST COLORREF *lpaRgbValues);cElements:欲改變對象的數(shù)量;lpaElements:按引用傳遞。這是1個整數(shù)數(shù)組的第1個元素,每個條目都包含1個常數(shù),指定一個Windows顯示對象,可參考GetSysColor函數(shù)。lpaRgbValues:按引用傳遞。這是RGB值數(shù)組的第一個元素。該數(shù)組用于設置lpSysColor數(shù)組中的對象顏色。例如:var c_one,c_two:TColorRef;begin c_one:=COLOR_DESKTOP; c_two:=RGB(數(shù)值,數(shù)值,數(shù)值) ; SetSysColors(1,c_one,c_two);end;36. 鼠標交換左右鍵(需要引用Registry單元)例如:var mouse_key:TRegistry; leftbutton,rightbutton:string; valuetoread:string;begin leftbutton:=0; rightbutton:=1; valuetoread:=SwapMouseButtons; mouse_key:=TRegistry.Create; begin mouse_key.RootKey:=HKEY_CURRENT_USER; try if mouse_key.OpenKey(Control Panelmouse,True) then begin if mouse_key.ValueExists(valuetoread)then if mouse_key.ReadString(valuetoread)=leftbutton then begin SwapMouseButton(True); mouse_key.WriteString(valuetoread,rightbutton); end else begin SwapMouseButton(False); mouse_key.WriteString(valuetoread,leftbutton); end; mouse_key.CloseKey; end; finally mouse_key.Free; end; end;end;37. 監(jiān)控內存使用狀態(tài)var memo_status:TMemoryStatus;begin /memo_status.dwLength:=SizeOf(memo_status); GlobalMemoryStatus(memo_status);/此函數(shù)用來獲取當前可用的物理和虛擬內存信息,返回信息保存在memo_status中。 memo_status.dwAvailPhys;/內存信息中的可用空間信息 memo_status.dwTotalPhys;/內存信息中的總內存信息38. 監(jiān)視剪貼板信息(需要引用Clipbrd單元)function TCilpboard,HasFormat(format:Word):Boolean;/檢測剪貼板中是否具有指定格式的數(shù)據(jù)。format:查看剪貼板中是否具有該參數(shù)指定的類型。返回值:如果剪貼板中具有所指定格式的數(shù)據(jù)則返回True??梢酝ㄟ^Clipboard.AsText屬性能夠得到當前剪貼板中的文本。例子:聲明:procedure WMdrawclipboard(var aa:TMessage);message wm_drawclipboard;public下聲明:next:HWND;procedure TForm1.WMdrawclipboard(var aa: TMessage);begin SendMessage(next,aa.Msg,aa.WParam,aa.LParam); if(clipboard.HasFormat(CF_TEXT) or Clipboard.HasFormat(CF_OEMTEXT) then begin Memo1.Clear; Memo1.Lines.Add(clipboard.AsText); end;end;procedure TForm1.FormCreate(Sender: TObject);begin next:=SetClipboardViewer(Handle); /使本窗口可以瀏覽剪貼板end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin ChangeClipboardChain(Handle,next); SendMessage(next,WM_CHANGECBCHAIN,Handle,next);end;39. 利用鉤子技術實現(xiàn)監(jiān)控鍵盤(1)裝載鉤子function SetWindowsHookEx(idHook:Integer;lpfn:TFNHookProc;hmod:HINST;dwThreadId:DWORD):HHOOK;stdcall;idHook:鉤子的類型,鍵盤鉤子使用WH_KEYBOARD;lpfn:裝載的鉤子處理函數(shù);hmod:程序的實例句柄;dwThreadId:線程ID安裝成功后返回鉤子過程的句柄。(2) 卸載鉤子function UnHookWindowsHookEx(hhk:HHOOK):BOOL;stdcall;hhk:卸載鉤子的句柄。例子:(1) 新建1個DLL文件,工程名為KeySpy。library KeySpy;uses SysUtils, Classes, Windows, Messages, hookproc in hookproc.pas;exports setkeyhook,endkeyhook;begin nexthookproc:=0; procsaveexit:=exitproc; exitproc:=keyhookexit;end.(2) 新建一個單元,命名為hookproc.unit hookproc;interfaceuses Windows,Messages,SysUtils,Controls,StdCtrls;var nexthookproc:HHOOK; procsaveexit:Pointer; function setkeyhook:BOOL;export;/加載鉤子 function endkeyhook:BOOL;export;/卸載鉤子 procedure keyhookexit;far;const afilename=G:debug.txt;/將鍵盤動作寫入文件中var debugfile:TextFile;implementationfunction keyboardhookhandler(icode:Integer;wparam:WPARAM;lparam:LPARAM):LRESULT;stdcall;export;begin if icode0 then begin Result:=CallNextHookEx(nexthookproc,icode,wparam,lparam); Exit; end; AssignFile(debugfile,afilename); try Append(debugfile); except Rewrite(debugfile); end; if(GetKeyState(wparam) and $8000)=$8000 then /獲取按鍵狀態(tài) begin if(GetKeyState(VK_RETURN)0) then /是否按下回車鍵 begin Writeln(debugfile,); end else begin write(debugfile,Char(wparam); /寫入文件 end; end; CloseFile(debugfile); /關閉文件 Result:=0;end;function setkeyhook:BOOL;export;/加載鉤子begin if nexthookproc=0 then begin nexthookproc:=SetWindowsHookEx(WH_KEYBOARD,keyboardhookhandler,HInstance,0);/裝載鉤子 end; Result:=nexthookproc0;end;function endkeyhook:BOOL;export;/卸載鉤子begin if nexthookproc0 then begin UnhookWindowsHookEx(nexthookproc);/卸載鉤子 nexthookproc:=0; MessageBeep(0); end; Result:=nexthookproc=0;end;procedure keyhookexit;far;begin if nexthookproc0 then endkeyhook; ExitProc:=procsaveexit;end;end.(3) 選擇“Project”“Compile KeySpy”生成DLL文件。(4) 新建應用程序靜態(tài)裝載dll文件:function setkeyhook:Boolean;stdcall;external KeySpy.dll;function endkeyhook:Boolean;stdcall;external KeySpy.dll;安裝鉤子直接調用setkeyhook函數(shù),卸載鉤子直接調用endkeyhook函數(shù)。40. 獲取和修改計算機名(1) 獲取計算機名function GetComputerName(lpBuffer:PChar;var nSize:DWORD):BOOL;stdcall;lpBuffer:指向用于存儲獲得的計算機名的字符串地址。nSize:字符串的最大長度。(2) 修改計算機名function SetComputerName(lpComputerName:PChar):BOOL;stdcall;lpComputerName:準備修改的名稱字符串。41. 開辟、釋放空間函數(shù)(1) GetMem(s字符串名,n字節(jié)數(shù));/開辟n個字節(jié)空間給s字符串(2) FreeMem(s字符串名,n字節(jié)數(shù));/釋放s字符串的n個字節(jié)空間42. 限制鼠標活動區(qū)域(1) 鎖定、解除鼠標活動范圍function ClipCursor(lpRect:PRect):BOOL;stdcall;lpRect:設置鼠標移動范圍的矩陣指針(nil解除限定)(2) 坐標轉換function ClientToScreen(hWnd:HWND;var lpPoint :TPoint):BOOL;stdcall;hWnd:轉換的窗口句柄;lpPoint:一個坐標指針結構,該結構包含x和y兩個域。例子:var/鎖定鼠標 a,b:TPoint; area:TRect;begin a.X:=GroupBox1.Left; a.Y:=GroupBox1.Top; b.X:=GroupBox1.Left + Groupbox1.Width; b.Y:=GroupBox1.Top + GroupBox1.Height; Windows.ClientToScreen(Handle,a);/坐標轉換 Windows.ClientToScreen(Handle,b);/坐標轉換 area.Left:=a.X; area.Top:=a.Y; area.Right:=b.X; area.Bottom:=b.Y; ClipCursor(area);end;ClipCursor(nil);/解除鼠標鎖定43. 打開控制面板中的程序打開控制面板中的程序就是執(zhí)行rundll32.exe,調用shell32.dll中的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動控制原理(???復習題
- 廣東省惠州市惠城區(qū)南山學校2024-2025學年七年級下學期數(shù)學期中考試卷(含部分答案)
- 2025年湖南省株洲市田心中學中考一模道德與法治試題(含答案)
- 幼兒園《會變顏色的房子》課件
- 【高中語文】整本書閱讀《紅樓夢》人物探究+統(tǒng)編版高一語文必修下冊
- 2024-2025學年下學期高一生物滬科版期末必刷??碱}之物種形成與滅絕是進化過程中的必然事件
- 山東競賽題目及答案
- 散列表簡單題目及答案
- 2023-2024學年四川省南充市高二下學期期末學業(yè)質量監(jiān)測數(shù)學試題(解析版)
- 2023-2024學年湖北省武漢市江岸區(qū)高二下學期7月期末質量檢測數(shù)學試題(解析版)
- 2025年通信工程與技術考試試卷及答案
- 2025年員工持股平臺合伙協(xié)議
- JG/T 100-1999塔式起重機操作使用規(guī)程
- 2025年中國ORC低溫余熱發(fā)電系統(tǒng)行業(yè)市場現(xiàn)狀及未來發(fā)展前景預測報告
- 2025年江蘇南通市通州區(qū)八年級生物二模試卷
- 護理副高職稱評審要點解析
- 幼教財務培訓
- 中國鐵路濟南局集團招聘筆試真題2024
- 早期阿爾茨海默病疾病修飾治療專家共識(2025年版)解讀
- 2025-2030年即熱式電熱水器行業(yè)市場發(fā)展分析及政策建議與策略研究報告
- 2024北京朝陽區(qū)六年級畢業(yè)考英語試題及答案
評論
0/150
提交評論