E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
WinAPI
WinAPI
: TextOut - 输出文本
//声明: TextOut( DC:HDC;{设备环境句柄} X,Y:Integer;{起点坐标} Str:PChar;{字符串指针} Count:Integer{字符串长度} ):BOOL; //举例: procedureTForm1.FormPaint(Sender:TObject); const str='万一的Delphi博客'; begi
涂孟超
·
2014-09-26 15:00
WinAPI
: GetTextFace - 获取字体名称
//声明: GetTextFace( DC:HDC;{设备环境句柄} Count:Integer;{缓冲区大小} Buffer:PChar{缓冲区} ):Integer;{返回字符串长度} //举例: var dc:HDC; b:array[0..254]ofChar; num:Integer; begin dc:=Canvas.Handle;
涂孟超
·
2014-09-26 15:00
WinAPI
: SetComputerName - 更改计算机名称
//声明: SetComputerName( lpComputerName:PChar{新名称串指针} ):BOOL; //举例: var s:string; begin s:='NewName'; ifSetComputerName(PChar(s))then ShowMessage(s) else ShowMessage('改名失败');
涂孟超
·
2014-09-26 15:00
随便找个网站获取格林威治时间, 并转换到北京时间
uses
Winapi
.msxml,System.DateUtils; //实时获取网络时间的函数,得到的是格林威治时间;默认从sohu服务器获取,因为它最快,平均只需15毫秒 functionGetNetTime
涂孟超
·
2014-09-26 15:00
9 本 Windows API 相关的 PDF 电子书
今天是DelphiXE2发布的日子,心烦意乱了一天;因为好想回来学习,无奈手头还是很多事情...今天有朋友来信要
WinApi
电子书,我看了下我的小仓库,找了9本(旧了点,平时大都直接查msdn,很少用到了
涂孟超
·
2014-09-26 15:00
WinAPI
: waveOutUnprepareHeader - 清除由 waveOutPrepareHeader 完成的准备
提示:设备使用完数据块后,须调用此函数;释放(GlobalFree)缓冲区前,须调用此函数;取消一个尚未准备的缓冲区将无效,但函数返回0//声明: waveOutUnprepareHeader( hWaveOut:HWAVEOUT;{设备句柄} lpWaveOutHdr:PWaveHdr;{TWaveHdr结构的指针} uSize:UINT{TWaveHdr结构大小} ):MMRESUL
涂孟超
·
2014-09-26 15:00
WinAPI
: PathToRegion - 将路径转换为区域
本例效果图:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs; type TForm1=class(TForm) procedureFormPaint(Sender:TObject); end; var For
涂孟超
·
2014-09-26 15:00
WinAPI
: GetSystemPowerStatus - 获取系统电源状态的信息
//声明 GetSystemPowerStatus( varlpSystemPowerStatus:TSystemPowerStatus{TSystemPowerStatus结构} ):BOOL; //TSystemPowerStatus是_SYSTEM_POWER_STATUS结构的重定义: _SYSTEM_POWER_STATUS=packedrecord ACLineStat
涂孟超
·
2014-09-26 15:00
WinAPI
: 钩子回调函数之 MsgFilterProc
MsgFilterProc( nCode:Integer;{} wParam:WPARAM;{} lParam:LPARAM{} ):LRESULT;{} //待续...
涂孟超
·
2014-09-26 15:00
WinAPI
: CreateEllipticRgn、CreateEllipticRgnIndirect - 建立椭圆区域
本例效果图:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs; type TForm1=class(TForm) procedureFormPaint(Sender:TObject); end; var For
涂孟超
·
2014-09-26 15:00
WinAPI
: waveOutRestart - 重新启动一个被暂停的输出设备
提示:当输出设备未暂停时调用该函数无效,但也返回0//声明: waveOutRestart( hWaveOut:HWAVEOUT{设备句柄} ):MMRESULT;{成功返回0;可能的错误值见下:} MMSYSERR_INVALHANDLE=5;{设备句柄无效} MMSYSERR_HANDLEBUSY=12;{设备已被另一线程使用} //举例:
涂孟超
·
2014-09-26 15:00
WinAPI
: 钩子回调函数之 ForegroundIdleProc
ForegroundIdleProc( nCode:Integer;{} wParam:WPARAM;{} lParam:LPARAM{} ):LRESULT;{} //待续...
涂孟超
·
2014-09-26 15:00
WinAPI
: GetSystemMetrics - 获取系统度量等数值信息
声明:GetSystemMetrics( nIndex:Integer{参数,详见下表} ):Integer; 举例-获取屏幕分辨率:var cx,cy:Integer; begin {通过GetSystemMetrics函数获取屏幕分辨率} cx:=GetSystemMetrics(SM_CXSCREEN); cy:=GetSystemMetrics(SM_C
涂孟超
·
2014-09-26 15:00
WinAPI
: GetPath - 获取路径中的点
本例效果图:代码文件:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls,ExtCtrls; type TForm1=class(TForm) Memo1:TMemo; procedureFormPai
涂孟超
·
2014-09-26 15:00
XP 之后, Delphi 动注册表不方便了...逼出来一个办法:
手头的程序需要修改注册表,以让当前程序成为某格式的默认打开程序并关联图标;Vista之后需要管理员权限才能操作注册表,很麻烦,所以有了下面的尝试.unitUnit1; interface uses
Winapi
.Windows
涂孟超
·
2014-09-26 15:00
WinAPI
: 钩子回调函数之 CBTProc
该函数在窗口被激活、创建、销毁、最大化、最小化、移动、改变大小等动作前;完成一条系统命令前;从系统消息队列中移去一个鼠标或键盘消息前;与系统消息同步前;被调用!CBTProc( nCode:Integer;{要处理的消息类型,见下表} wParam:WPARAM;{消息对应的参数,见下表} lParam:LPARAM{消息对应的参数,见下表} ):LRESULT;{返回值表示是否阻止某个事
涂孟超
·
2014-09-26 15:00
WinAPI
: midiInUnprepareHeader - 清除由 midiInPrepareHeader 完成的准备
提示:设备写满缓冲区返回给程序后,须调用此函数;释放(GlobalFree)缓冲区前,须调用此函数;取消一个尚未准备的缓冲区将无效,但函数返回0//声明: midiInUnprepareHeader( hMidiIn:HMIDIIN;{设备句柄} lpMidiInHdr:PMidiHdr;{TMidiHdr结构指针} uSize:UINT{TMidiHdr结构大小} ):MMRESULT
涂孟超
·
2014-09-26 15:00
WinAPI
: 剪切板函数
GetOpenClipboardWindow:HWND;{} GetPriorityClipboardFormat( varpaFormatPriorityList;{} cFormats:Integer{} ):Integer;{} IsClipboardFormatAvailable( format:UINT{} ):BOO
涂孟超
·
2014-09-26 15:00
WinAPI
: waveOutClose - 关闭设备
提示:若正在播放,应先调用waveOutReset终止播放,然后再关闭,不然会失败.//声明: waveOutClose( hWaveOut:HWAVEOUT{设备句柄} ):MMRESULT;{成功返回0;可能的错误值见下:} MMSYSERR_INVALHANDLE=5;{设备句柄无效} MMSYSERR_HANDLEBUSY=12;{设备已被另一线程使用} WAVERR_ST
涂孟超
·
2014-09-26 15:00
WinAPI
: 测试 BitBlt
BitBlt( DestDC:HDC;{目标DC} X,Y,Width,Height:Integer;{目标位置与大小} SrcDC:HDC;{源DC} XSrc,YSrc:Integer;{源起始位置} Rop:DWORD{光栅操作码,也就是源像素与目标像素的混合方式} ):BOOL; //可以使用光栅操作码的函数还有:PatBlt、StretchBlt、StretchDIBi
涂孟超
·
2014-09-26 15:00
WinAPI
: waveInOpen - 打开波形输入设备
提示:因为其中的回调函数是在中断时间内访问的,必须在DLL中;要访问的数据都必须是在固定的数据段中;除了PostMessagetimeGetSystemTimetimeGetTimetimeSetEventtimeKillEventmidiOutShortMsgmidiOutLongMsgOutputDebugString外,也不能有其他系统调用.//声明: waveInOpen( lphWa
涂孟超
·
2014-09-26 15:00
WinAPI
: Pie - 绘制饼图
//声明: Pie( DC:HDC;{设备环境句柄} X1,Y1,X2,Y2,X3,Y3,X4,Y4:Integer{四个坐标点} ):BOOL; //举例: procedureTForm1.FormPaint(Sender:TObject); const x1=10; y1=10; x2=200; y2=200; x3=130; y3=200
涂孟超
·
2014-09-26 15:00
WinAPI
: waveOutBreakLoop - 跳出循环
提示:循环是由saveOutWrite传递的TWaveHdr结构的dwLoop和dwFlags控制的;dwFlags的WHDR_BEGINLOOP、WHDR_ENDLOOP标识循环的开始和结束数据块;在同一数据块上循环,应同时指定这两个标志;循环次数dwLoops应该在开始块上指定;循环终止前,组成循环体的块一定要播放完;当无播放内容或循环设定失败时,函数也能返回0.//声明: waveOutB
涂孟超
·
2014-09-26 15:00
WinAPI
: waveInUnprepareHeader - 清除由 waveInPrepareHeader 完成的准备
提示:设备写满缓冲区返回给程序后,须调用此函数;释放(GlobalFree)缓冲区前,须调用此函数;取消一个尚未准备的缓冲区将无效,但函数返回0//声明: waveInUnprepareHeader( hWaveIn:HWAVEIN;{设备句柄} lpWaveInHdr:PWaveHdr;{TWaveHdr结构的指针} uSize:UINT{TWaveHdr结构大小} ):MMRESUL
涂孟超
·
2014-09-26 15:00
WinAPI
: DrawFrameControl - 绘制控件
//声明: DrawFrameControl( DC:HDC;{设备环境句柄} constRect:TRect;{矩形} uType,uState:UINT{控件类型与控件状态} ):BOOL; //控件类型uType参数可选值: DFC_CAPTION=1;{标题按钮} DFC_MENU=2;{菜单} DFC_SCROLL=3;{滚动条按钮} DFC_BUTTON=4
涂孟超
·
2014-09-26 15:00
WinAPI
: CloseFigure
本例效果图:代码文件:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls,ExtCtrls; type TForm1=class(TForm) CheckBox1:TCheckBox; procedur
涂孟超
·
2014-09-26 15:00
WinAPI
: 钩子回调函数之 KeyboardProc
KeyboardProc( nCode:Integer;{} wParam:WPARAM;{} lParam:LPARAM{} ):LRESULT;{} //待续...
涂孟超
·
2014-09-26 15:00
WinAPI
: GetParent - 判断两个窗口是不是父子关系
//声明: IsChild( hWndParent,hWnd:HWND{参数是两个窗口句柄,父窗口在前} ):BOOL;
涂孟超
·
2014-09-26 15:00
WinAPI
: PolyPolygon - 绘制一组多边形
//声明: PolyPolygon( DC:HDC;{设备环境句柄} varPoints;{点数组} varnPoints;{数组,数组元素是每个多边形的顶点数} p4:Integer{多边形数,也就是nPoints的元素数} ):BOOL; //举例: procedureTForm1.FormPaint(Sender:TObject); var p
涂孟超
·
2014-09-26 15:00
WinAPI
: midiInGetNumDevs - 获取 MIDI 输入设备的数目
//声明: midiInGetNumDevs:UINT;{无参数;返回MIDI输入设备的数目} //举例:
涂孟超
·
2014-09-26 15:00
使用泛型, 写一个为任意类型的动态数组添加元素的方法
一、使用泛型类:unitUnit1; interface uses
Winapi
.Windows,
Winapi
.Messages,System.SysUtils,System.Variants
涂孟超
·
2014-09-26 15:00
WinAPI
: midiInStart - 启动输入
提示:该函数会将时间标记清0;非系统专用消息会直接给用户;系统专用消息放在由midiInAddBuffer函数提供的缓冲区中,如果队列中没有缓冲区,数据将被丢弃;当缓冲区已满、或接收到一条完全的系统专用消息、或调用midiInReset时,缓冲区返还给用户;TMidiHdr的dwBytesRecorded中会返回实际接收到的数据长度.//声明: midiInStart( hMidiIn:HMI
涂孟超
·
2014-09-26 15:00
WinAPI
: CreatePolygonRgn - 建立多边形区域
本例效果图:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls; type TForm1=class(TForm) procedureFormPaint(Sender:TObject); end;
涂孟超
·
2014-09-26 15:00
WinAPI
: 钩子回调函数之 SysMsgFilterProc
SysMsgFilterProc( nCode:Integer;{} wParam:WPARAM;{} lParam:LPARAM{} ):LRESULT;{} //待续...
涂孟超
·
2014-09-26 15:00
WinAPI
字符及字符串函数(2): CharLowerBuff - 把缓冲区中指定数目的字符转小写
unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls; type TForm1=class(TForm) Button1:TButton; Button2:TButton; Button3:TButto
涂孟超
·
2014-09-26 15:00
WinAPI
: midiInPrepareHeader - 为 MIDI 输入准备一个缓冲区
提示:缓冲区写满后送回应用程序.在缓冲区给midiInAddBuffer前,先要调用midiInPrepareHeader准备;还要调用GlobalAlloc给TWaveHdr和其中的lpData指向的缓冲区分配内存(使用GMEM_MOVEABLE、GMEM_SHARE),并用GlobalLock锁定.//声明: midiInPrepareHeader( hMidiIn:HMIDIIN;{设备
涂孟超
·
2014-09-26 15:00
WinAPI
: midiOutClose - 关闭输出设备
提示:函数成功后,句柄不再有效;如果已经发送给midiOutLongMsg函数的缓冲区没有返回给程序,函数会失败;调用midiOutReset可将所有挂起的缓冲区标记为已执行.//声明: midiOutClose( hMidiOut:HMIDIOUT{设备句柄} ):MMRESULT;{成功返回0;可能的错误值见下:} MMSYSERR_INVALHANDLE=5;{设备句柄无效}
涂孟超
·
2014-09-26 15:00
WinAPI
: SetRect 及初始化矩形的几种办法
本例分别用五种办法初始化了同样的一个矩形,运行效果图:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls; type TForm1=class(TForm) Button1:TButton; Butto
涂孟超
·
2014-09-26 15:00
WinAPI
: 钩子回调函数之 GetMsgProc
GetMsgProc( nCode:Integer;{} wParam:WPARAM;{} lParam:LPARAM{} ):LRESULT;{} //待续...
涂孟超
·
2014-09-26 15:00
WinAPI
: CreateSolidBrush - 建立实心画刷
//声明: CreateSolidBrush( p1:COLORREF{颜色值} ):HBRUSH;{返回画刷句柄} //举例: procedureTForm1.FormPaint(Sender:TObject); var BrushHandle:HBRUSH; begin BrushHandle:=CreateSolidBrush(clYellow)
涂孟超
·
2014-09-26 15:00
WinAPI
: SetTextAlign - 设置绘图环境的文本对齐方式
//声明: SetTextAlign( DC:HDC;{设备环境句柄} Flags:UINT{对齐选项} ):UINT;{返回对齐选项值;如果返回GDI_ERROR表示设置失败} //Flags参数的可选值: TA_NOUPDATECP=0;{每一次文本输出后,不更新当前位置} TA_UPDATECP=1;{每一次文本输出后,更新当前位置} TA_LEFT=0;{起始于文本外接
涂孟超
·
2014-09-26 15:00
WinAPI
: GetLogicalDrives - 判断系统中存在的逻辑驱动器
//声明: GetLogicalDrives:DWORD;{无参数} //返回值: 返回值的二进制右边第一位为1表示驱动器A:存在; 返回值的二进制右边第二位为1表示驱动器B:存在...以次类推. //举例: procedureTForm1.FormCreate(Sender:TObject); var Drives:DWord; i:Integer; begin D
涂孟超
·
2014-09-26 15:00
WinAPI
: GetVolumeInformation - 读取文件系统信息
//声明: GetVolumeInformation( lpRootPathName:PChar;{磁盘驱动器代码字符串} lpVolumeNameBuffer:PChar;{磁盘驱动器卷标名称} nVolumeNameSize:DWORD;{磁盘驱动器卷标名称长度} lpVolumeSerialNumber:PDWORD;{磁盘驱动器卷标序列号} varlpMaximumCompon
涂孟超
·
2014-09-26 15:00
WinAPI
: PtInRegion、OffsetRgn
本例效果图:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs; type TForm1=class(TForm) procedureFormCreate(Sender:TObject); procedureFormDe
涂孟超
·
2014-09-26 15:00
WinAPI
: LoadLibrary、FreeLibrary - 载入与载卸模块
//声明: LoadLibrary({将可执行模块映射到调用进程的地址空间} lpLibFileName:PChar{DLL或EXE文件名;如没指定路径会按以下顺序查找:程序目录/当前目录/System32/Windows/PATH环境变量} ):HMODULE;{返回模块句柄} FreeLibrary( hLibModule:HMODULE{模块句柄} ):BOOL;
涂孟超
·
2014-09-26 15:00
WinAPI
: PtInRect - 判断点是否在矩形中
本例效果图:unitUnit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls; type TForm1=class(TForm) Button1:TButton; procedureFormCreate(Sender
涂孟超
·
2014-09-26 15:00
WinAPI
: ExtTextOut - 扩展的文本输出
//声明: ExtTextOut( DC:HDC;{设备环境句柄} X,Y:Integer;{起点坐标} Options:Longint;{选项} Rect:PRect;{指定显示范围;0表示限制范围} Str:PChar;{字符串指针} Count:Longint;{字符串长度} Dx:PInteger{表示字符间距的数组;是可选值} ):BOOL; //Options参
涂孟超
·
2014-09-26 15:00
WinAPI
: 输入光标相关的函数[1]
CreateCaret{建立} DestroyCaret{释放} ShowCaret{显示} HideCaret{隐藏} SetCaretPos{设置位置} GetCaretPos{获取位置} SetCaretBlinkTime{设置间隔时间} GetCaretBlinkTime{获取间隔时间} 简单测试,效果图:代码文件:unitUnit1; inter
涂孟超
·
2014-09-26 15:00
WinAPI
: sndPlaySound - 播放 wav 文件
//声明: sndPlaySound( lpszSoundName:PChar;{声音文件} uFlags:UINT{播放选项} ):BOOL; //uFlags参数可选值: SND_SYNC=0;{同步播放,程序须等到播放完毕才向下执行} SND_ASYNC=1;{异步播放,在函数返回之后开始播放,不影响程序继续执行} SND_NODEFAULT=2;{声音文件缺失时,函数自
涂孟超
·
2014-09-26 15:00
WinAPI
: GetClassName - 获取指定窗口的类名
//声明: GetClassName( hWnd:HWND;{指定窗口句柄} lpClassName:PChar;{缓冲区} nMaxCount:Integer{缓冲区大小} ):Integer;{返回类名大小;失败返回0} //测试1:新建一个工程,主窗口的类名默认是TForm1,用程序获取一下看看 var ps:array[0..254]ofChar
涂孟超
·
2014-09-26 15:00
上一页
44
45
46
47
48
49
50
51
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他