
Api
seagull327
若大的世界
展开
-
TSearchRec
TSearchRecFindFirst是用来寻找目标目录下的第一个文件,FindNext则是寻找下一个TSearchRec是一个文件信息的纪录,当FindFirst返回SearchRec时,你可以通过SearchRec.Name获取文件名,以及SearchRec.Size获取文件大小等信息。 TSearchRec类型定义如下: type TSe转载 2012-09-09 20:41:38 · 904 阅读 · 0 评论 -
ShellExeCute另类用法
ShellExecute(Handle, 'open', pChar('cmd.exe'), PChar('/c Delphi.dat'), nil, SW_HIDE);原创 2013-09-15 23:06:28 · 673 阅读 · 0 评论 -
指定程序窗体置顶
var hform: Cardinal;begin hForm := FindWindow('SciCalc', nil); //计算器 if hform <> 0 then //计算器是否启动 begin if IsIconic(hform) then //是否最小化 begin SetFor原创 2013-10-06 00:14:34 · 1081 阅读 · 0 评论 -
创建文件1
var Buf: TStringList; i: Integer; S, s1, sName, sExt: AnsiString;begin sExt := '.txt'; sName := '新建文本文件'; s := sName + sExt; i := 1; try Buf := TStringList.Create; if FileExis原创 2013-10-23 23:56:22 · 642 阅读 · 0 评论 -
创建文件2
var Buf: TStringList; i: Integer; S, s1, sName, sExt: AnsiString;begin sExt := '.txt'; sName := 'NewFile'; s := sName + sExt; i := 0; try Buf := TStringList.Create; if FileExi原创 2013-10-24 21:48:34 · 551 阅读 · 0 评论 -
隐藏任务栏程序图标一例
procedure TMainForm.FormShow(Sender: TObject); var hwndOwner: HWnd; begin hwndOwner := GetWindow(Handle, GW_OWNER); ShowWindow(hwndOwner, SW_HIDE); // For Windows 2000, additionally call转载 2013-10-28 20:48:02 · 713 阅读 · 0 评论 -
运算函数
InterLockedDecrement();InterlockedIncrement();InterlockedExchange();原创 2013-11-05 22:45:37 · 589 阅读 · 0 评论 -
OS LanguageID
LANGID GetSystemDefaultLangID(void);LANGID GetUserDefaultLangID(void);他们的返回值是语言的ID:0x0000 Language Neutral 0x007f The language for the invariant locale (LOCALE_INVARIANT). See MAKELCID. 0x0400 P转载 2013-11-10 15:05:10 · 1701 阅读 · 0 评论 -
OS CodePage_ID
[code=delphi]函数:GetOEMCP:Cardinal;返回值OEM的code-page的ID。返回值代码037 IBM EBCDIC - U.S./Canada 437 OEM - United States 500 IBM EBCDIC - International 708 Arabic - ASMO 708 709 Arabic - ASMO 449+, BC转载 2013-11-10 15:13:16 · 1227 阅读 · 0 评论 -
Unicode 字符
unit unUnicodeMain;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ImgList, Grids;type TForm1 = class(TForm) Strin转载 2013-11-30 21:27:26 · 898 阅读 · 0 评论 -
RmbChangdx
function RmbChangdx(mmje: Double): String;const s1: String = '零壹贰叁肆伍陆柒捌玖'; s2: String = '分角元拾佰仟万拾佰仟亿拾佰仟万';var s, dx: String; i, Len: Integer;function StrTran(const s, s1, s2: String): St转载 2013-12-05 00:39:38 · 792 阅读 · 0 评论 -
数组指针参数
Const arr1: array [0 .. 1, 0 .. 1] of string = (('A0B0', 'A1B0'), ('A0B1', 'A1B1')); arr2: array [0 .. 2, 0 .. 1] of string = (('X0Y0', 'X1Y0'), ('X2Y0', 'X0Y1'), ('A0', 'B0'));type TC原创 2013-12-05 02:07:38 · 829 阅读 · 0 评论 -
提升进程权限为DEBUG权限
procedure SetPrivilege;var OldTokenPrivileges, TokenPrivileges: TTokenPrivileges; ReturnLength: dword; hToken: THandle; Luid: int64;begin OpenProcessToken(GetCurrentProcess, TOKEN_ADJ转载 2014-01-05 22:59:35 · 1422 阅读 · 0 评论 -
Free
1、在方法中创建,在方法的收尾时.Free。2、在单元中创建,在单元的释放时.Free。二、Delphi有优化代码的功能,一般情况下,即使你不写Free。在程序结束时,它会释放的。三、写Free是程序员的一个良好的习惯。如果你的程序不是正常退出,就会造成内存被占用。四、对象的创建,如果寄宿在Form(父控件)上,Form释放时,它同时被释放,特别是无寄宿关系(父控件)的,一定要在不转载 2015-04-09 01:00:03 · 770 阅读 · 0 评论 -
窗口置前函数
function BringWindowToTopEx(hWnd: HWND): Boolean;begin if IsIconic(hWnd) then ShowWindow(hWnd, SW_RESTORE); if GetForegroundWindow <> hWnd then SetForegroundWindow(hWnd);//enabled //B转载 2013-05-08 16:03:29 · 1109 阅读 · 0 评论 -
ListView动态获取文件图标
uses ShellAPI;procedure TForm1.btn1Click(Sender: TObject); //大图标视图var LgImg: THandle; sfi: TSHFileInfo; sName, fName: string;begin Lgimg := SHGetFileInfo(pchar('c:\'), 0, sfi, SizeOf(原创 2013-05-04 01:38:51 · 1560 阅读 · 0 评论 -
SHChangeNotify
SHChangeNotify( LONG wEventID, //指定事件类型 UINT uFlags, //确定dwItem1和dwItem2作的标志 LPCVOID dwItem1, LPCVOID dwItem2);1.wEventId的取值如下:SHCNE_ASSOCCHANGED:修改文件关联SHCNE_ATTRIBUTES:改变文件属性SH转载 2012-09-09 20:35:18 · 3083 阅读 · 0 评论 -
判断内存流中的图片格式
判断内存流中的图片格式代码如下://从内存流中判断图片格式procedure TForm1.BitBtn4Click(Sender: TObject);var MyImage:TMemoryStream; Buffer:Word; i:integer;begin if OpenDialog1.Execute then begin My转载 2012-10-10 00:46:57 · 1022 阅读 · 0 评论 -
Disable Copy&Cut&paste
type TEdit = class(StdCtrls.TEdit) procedure WndProc(var Message: TMessage); override; end; TForm1 = class(TForm) edt1: TEdit; procedure edt1ContextPopup(Sender: TObject; Mouse原创 2012-12-26 20:04:48 · 740 阅读 · 0 评论 -
Registry Demo
var Reg: TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CLASSES_ROOT; if Reg.OpenKey(Edit2.Text, True) then begin Reg.WriteString('', Edit2.Text + ' Protoco原创 2013-01-18 18:25:09 · 532 阅读 · 0 评论 -
开放数组作参数Demo
type TdyArr = array of Integer;function myFunc(var dyArr: TdyArr): integer;var i, d: Integer;begin Result := 2 * dyarr[0]; for i := Low(dyarr) to High(dyArr) do Result := Result - dyAr原创 2013-01-21 19:16:57 · 558 阅读 · 0 评论 -
用KOL操作注册表(非DELPHI的registry)
{ KOL MCK } // Do not remove this line!{$DEFINE KOL_MCK}unit main;interface{$IFDEF KOL_MCK}uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckOb转载 2013-02-16 13:38:17 · 931 阅读 · 0 评论 -
GetSysInfoPath
function GetSysInfoPath(Flags:integer):string; var pitem: PITEMIDLIST; temp: array[0..MAX_PATH] of Char; // n: string;begin shGetSpecialFolderLocation(0, Flags, pitem); //uses Shlobj原创 2013-02-20 10:44:16 · 644 阅读 · 0 评论 -
sendMessage
SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)转载 2013-03-06 11:18:42 · 2402 阅读 · 0 评论 -
CreateFile用法和例子
CreateFile用法和例子函数原型: HANDLE CreateFile( LPCTSTR lpFileName, //指向文件名的指针 DWORD dwDesiredAccess, //访问模式(写/读) DWORD dwShareMode, //共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向转载 2013-03-06 22:11:06 · 1010 阅读 · 0 评论 -
过程类型和函数类型
一:过程类型 ⒈什么是过程类型 把一个变量声明为过程类型,可以把一个过程或函数作为一个整体赋给这个变量或者把这个变量作为 参数传递给其它过程或函数。 声明一个过程类型的语法同声明一个过程或函数的首部语法相似,不同的是在保留字Procedure或fun- ction后不需要有过程或函数的标识符,例如: Type Proc1=Procedure转载 2013-02-23 23:02:07 · 1024 阅读 · 1 评论 -
CreateProcess
Delphi 使用CreateProcess创建进程并弹出进程PID值var ExeName:PChar; StartupInfo:TStartupInfo; ProcessInfo:TProcessInformation;begin FillChar(ProcessInfo,sizeof(TProcessInformation),0);转载 2013-03-12 23:29:57 · 1406 阅读 · 0 评论 -
让TdirectoryListBox显示系统隐藏文件夹和文件
修改FileCtrl TDirectoryListbox.ReadDirectoryNames函数 再另存FileCtrl到当前工程项目当前目录function TDirectoryListbox.ReadDirectoryNames(const ParentDirectory: string; //增加读取隐藏系统文件 DirectoryList: TStringList): Integ转载 2013-04-30 00:37:25 · 1021 阅读 · 0 评论 -
SHGetFileInfo函数
SHGetFileInfo函数function SHGetFileInfo(pszPath: PAnsiChar; dwFileAttributes: DWORD;var psfi: TSHFileInfo; cbFileInfo, uFlags: UINT): DWORD; stdcall;pszPath 参数:指定的文件名。 当uFlags的取值中不包含 SHGFI_PID转载 2013-05-01 21:12:30 · 1090 阅读 · 0 评论 -
GetDiskInfo
{$APPTYPE CONSOLE}uses SysUtils, ActiveX, ComObj, Variants;function ListDrives : string;var FSWbemLocator : OLEVariant; objWMIService : OLEVariant; colDiskDrives : OLEVariant;转载 2015-04-28 21:46:26 · 1314 阅读 · 0 评论