پاسخ : استفاده از توابع API در دلفی تابعی برای محدود کردن محدوده حرکتی موس . [TABLE] [TR] [TD="class: gutter"]1 [/TD] [TD="class: code"]Function clipcursor(iprectrect):bool; [/TD] [/TR] [/TABLE] مثال: تابع getwindowrect نیز محدوده پنجره مورد نظر را برمی گرداند . این مثال موس را در محدوده فرم محدود می کند. [TABLE] [TR] [TD="class: gutter"]1 2 3 4 5 6 7 [/TD] [TD="class: code"]procedure TForm1.Timer1Timer(Sender: TObject); var r:trect; begin getwindowrect(form1.Handle,r); clipcursor(@r); end; [/TD] [/TR] [/TABLE]
پاسخ : استفاده از توابع API در دلفی بدست آوردن نوع درایو getdrivetype(iprootpathnamechar):unit;stdcall; iprootpathname: نام درایو مورد نظر می باشد به صورت C:\ 0: درایو قابل دسترسی نیست 1:درایو وجود نداردک 2: دیسک از نوع قابل حمل بودهفلاپی 3: درایو از نوع هارد می باشد 4: درایو از نوع شبکه 5: از سی دی رام 6 از نوع درایو رم می باشد .
پاسخ : استفاده از توابع API در دلفی دست آوردن سريال CPU function GetCPUSerialNumber: String; var _eax, _ebx, _ecx, _edx: Longword; s, s1, s2: String; begin asm mov eax,1 db $0F,$A2 mov _eax,eax mov _ebx,ebx mov _ecx,ecx mov _edx,edx end; s := IntToHex(_eax, 8); asm //determine the serial number mov eax,3 db $0F,$A2 mov _ecx,ecx mov _edx,edx end; s1 := IntToHex(_edx, 8); s2 := IntToHex(_ecx, 8); Insert('-', s, 5); Insert('-', s1, 5); Insert('-', s2, 5); begin Result := (s + '-' + s1 + '-' + s2); asm push Result end; end; end;
پاسخ : استفاده از توابع API در دلفی کپي کردن يک Directory و کليه متعلقاتش [TABLE] [TR] [TD="class: gutter"]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [/TD] [TD="class: code"]function CopyDir(const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_COPY; fFlags := FOF_NOCONFIRMATION; pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end; [/TD] [/TR] [/TABLE]
پاسخ : استفاده از توابع API در دلفی جابجايي يک پوشه [TABLE] [TR] [TD="class: gutter"]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [/TD] [TD="class: code"]<span dir="ltr"> function MoveDir(const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_MOVE; fFlags := FOF_FILESONLY; pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end; </span> [/TD] [/TR] [/TABLE]
پاسخ : استفاده از توابع API در دلفی بدست آوردن اندازه Taskbar [TABLE] [TR] [TD="class: gutter"]1 2 3 4 5 6 7 8 9 10 11 12 [/TD] [TD="class: code"]<span dir="ltr"> function GetTaskbarRect: TRect; var Hand: HWND; begin Hand := FindWindow('Shell_TrayWnd', ''); if Hand > 0 then GetWindowRect(Hand, Result); end; </span> [/TD] [/TR] [/TABLE]
پاسخ : استفاده از توابع API در دلفی پيدا كردن Url هايي كه كاربر توي Explorer تايپ كرده procedure ShowTypedUrls(Urls: TStrings); var Reg: TRegistry; S: TStringList; i: Integer; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('Software\Microsoft\Internet Explorer\TypedURLs', False) then begin S := TStringList.Create; try reg.GetValueNames(S); for i := 0 to S.Count - 1 do begin Urls.Add(reg.ReadString(S.Strings)); end; finally S.Free; end; Reg.CloseKey; end; finally Reg.Free; end; end; حالا يه Listbox و يك button روي صفحه و حالا : procedure TForm1.Button1Click(Sender: TObject); begin ShowTypedUrls(ListBox1.Items); end; اميدوارم جالب بوده باشه