myamanda

博客园 首页 新随笔 联系 订阅 管理

2009年7月15日 #

摘要: 开始一个新的工程,为窗体指定以下属性:Align = top;width = screen.width;然后,在OnMouseMove事件中加入以下代码:procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);varp: tpoint;begingetcursorpos(p);mov... 阅读全文
posted @ 2009-07-15 11:16 myamanda 阅读(468) 评论(0) 推荐(0)

摘要: 系统文件夹在不同的计算机上是不同的(由于不同的操作系统,用户档案,用户设定)。以下代码可以读入当前设定:uses ShlObj, ActiveX;function GetSystemPath(Folder: Integer): string;varPIDL: PItemIDList;Path: LPSTR;AMalloc: IMalloc;beginPath := StrAlloc(MAX... 阅读全文
posted @ 2009-07-15 11:15 myamanda 阅读(165) 评论(0) 推荐(0)

摘要: 为了改变鼠标左键,需要调用API函数SwapMouseButton。这样可以不用通知控制面板而改变鼠标左键。我们需要修改注册表。以下代码表明,先读注册表,决定鼠标左键开关的当前值,并通过写注册表运行SwapMouseButton函数。uses Windows, Registry ;constLeftButton = '0' ;RightButton = '1' ;VaueToRead = 'S... 阅读全文
posted @ 2009-07-15 11:15 myamanda 阅读(340) 评论(0) 推荐(0)

摘要: Windows NT中有一个函数MoveFileEx,若使用MOVEFILE_DELAY_UNTIL_REBOOT 标记,它可以在重启过程中删除文件。但是,Windows 9x 并不支持这个标记。怎么办呢?每次当你重启,windows会在Windows目录下寻找文件WININIT.INI。这个文件包含删除/复制/重命名文件的命令,它可以在任何东西(实际上是决大部分)被载入前运行。你可以在[Re... 阅读全文
posted @ 2009-07-15 11:14 myamanda 阅读(348) 评论(0) 推荐(0)

摘要: 在API函数GlobalAddAtom的帮助下可以通过windows信息传送一个字符串。这个函数返回一个数,可以被PostMessage (或SendMessage)中的 wParam 或 lParam 使用。发送方:wParam = GlobalAddAtom('string...')PostMessage(HWnd, WM_XYZ, wParam, 0)接收方:str = Global... 阅读全文
posted @ 2009-07-15 11:14 myamanda 阅读(199) 评论(0) 推荐(0)

摘要: 使用Windows API 函数DrawAnimatedRects可以做到。这个函数需要窗口的句柄和两个标明起始和结束屏幕坐标的矩形区域。以下代码说明如何使用这个API函数:unit TestForm;interfaceusesWindows, Classes, Forms, Controls, StdCtrls, ExtCtrls;typeTZoomAction = (zaMinimize... 阅读全文
posted @ 2009-07-15 11:13 myamanda 阅读(182) 评论(0) 推荐(0)

摘要: 使用代码添加打印机,需要调用API函数AddPrinter,它有三个参数:1) 打印机名2) 打印质量3) 打印机说明以下代码把函数封装起来。你只需要提供出现在Windows Explorer中的打印机名,打印机的接口名(例如LPT1:),驱动器名和打印程序名(通常是winprint)。代码调用了API函数。unit unit_AddPrinter;interfacefunction Add... 阅读全文
posted @ 2009-07-15 11:13 myamanda 阅读(654) 评论(0) 推荐(0)

摘要: 在其中一个单元中加入以下代码:typeTOSType = (ostUnknown,ostWin95,ostWinNT); function OSType : TOSType;varosv : TOSVersionInfo;beginosv.dwOSVersionInfoSize := sizeof(osv);GetVersionEx(osv);Case osv.dwPlatformId o... 阅读全文
posted @ 2009-07-15 11:12 myamanda 阅读(117) 评论(0) 推荐(0)

摘要: 关闭显示器:SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);打开显示器:SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1); 阅读全文
posted @ 2009-07-15 11:11 myamanda 阅读(219) 评论(0) 推荐(0)

摘要: 以下代码可以取到当前运行的DLL,EXE文件所在的目录var ModuleName : String;begin SetLength(ModuleName, 200); GetModuleFileName(HInstance,PChar (ModuleName), Length(ModuleName)); ModuleName := PChar(ModuleName);e... 阅读全文
posted @ 2009-07-15 11:11 myamanda 阅读(314) 评论(0) 推荐(0)