Delphi
god00
这个作者很懒,什么都没留下…
展开
-
delphi 函数 GetScrollPos 的使用
procedure TForm1.btn1Click(Sender: TObject); var h: HWND; i: Integer;begin h := FindWindow('Notepad', nil); ShowMessage(IntToStr(h)); h := FindWindowEx(h, 0, 'Edit', nil); ShowMessage(IntToStr(h)); i := GetScrollPos(h, SB_VERT); Show...原创 2021-09-21 11:16:22 · 470 阅读 · 0 评论 -
使Delphi程序记忆参数的设置
对于我们这个程序来说主要需要记录的信息是窗口关闭时的Top,Left,Height,Width。 ---- 注意:要想使Delphi可以操作注册表,必须包括registry单元。 ---- 以下是源程序和相关注释: 转自:http://sch转载 2011-08-10 21:39:10 · 405 阅读 · 0 评论 -
Delphi安装和删除控件的方法
基本安装 1、对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;3、对于带*.bpl文件的控件包,I转载 2011-07-26 09:23:57 · 759 阅读 · 0 评论 -
要把一个窗口嵌到另一个窗口中
procedure TForm1.Button2Click(Sender: TObject); var h: HWND; begin h := WIndows.FindWindow(nil, '你所要内嵌的程序的Caption ');转载 2011-07-22 15:04:27 · 728 阅读 · 0 评论 -
delphi程序只允许运行一个实例的三种方法
<br />一、 创建互斥对象<br /> 在工程project1.dpr中创建互斥对象<br />Program project1<br />Uses <br />Windows,Form,<br />FrmMain in 'FrmMain.pas' {MainForm};<br /> {$R *.res}<br /> var<br /> hAppMutex: THandle;//声明互斥变量<br /> begin<br /> hAppMutex转载 2011-05-06 19:33:00 · 542 阅读 · 0 评论 -
FindProcess 查找进程
<br />uses TLHelp32,psapi;<br />function FindProcess(AFileName: string;var ID:Cardinal): boolean;<br />var<br /> hSnapshot: THandle;//用于获得进程列表<br /> lppe: TProcessEntry32;//用于查找进程<br /> Found: Boolean;//用于判断进程遍历是否完成<br />begin<br /> Result :=False;转载 2011-04-18 10:50:00 · 3941 阅读 · 0 评论 -
[Delphi]切换鼠标左右按键
<br />要切换鼠标按钮可以调用 API SwapMouseButton,但这个函数不会改变控制面板中的设置。下面的代码通过修改注册表来实现这个功能:<br /><br /> uses Windows, Registry;<br /> const<br /> LeftButton = ’0’;<br /> RightButton = ’1’;<br /> VaueToRead = ’SwapMouseButtons’;<br /> begin<br /> with TRegist转载 2011-04-19 16:59:00 · 484 阅读 · 0 评论 -
弹框居中 ShowMessage
<br />var<br /> P:Tpoint; <br />begin<br /> p.x := Form1.Left+(Form1.Width div 2)-50; //居中 下同;<br /> p.y := Form1.Top+(Form1.Height div 2)-50;<br /> ShowMessagePos('提示',p.X,p.Y);<br />end;原创 2011-05-27 10:22:00 · 627 阅读 · 0 评论 -
如何给Delphi的CPU调试窗口,增加对应源代码
<br />这篇文章没有讲到Delphi 版本是多少啊?<br /> <br />Delphi在编译程序时,会先将源代码编译成汇编代码,可以通过delphi的cpu窗口看到。通过ide可以开启或者关闭,异常时出不出来CPU窗口。但是,不管什么时候,CPU窗口可以通过View/Debug windows/CPU调出。<br />可能大部分人delphi开发人员对汇编都不是很熟悉,所以,这个功能,可能大部分delphi开发者用不上。即使,对汇编熟的,面对一大堆缺乏上下文的汇编代码,也很难通过CPU窗口得到他需要转载 2011-05-24 18:56:00 · 1003 阅读 · 0 评论 -
delphi 枚举进程,结束进程
<br />//学编程的最好方法,还是看高手写的代码,了解函数是怎么用的,我个人觉得。。。-_-# 最不懂的也可以Copy就用~<br /> <br />uses <br />Tlhelp32;<br /><br />function KillTask(ExeFileName:string):integer; <br />const <br />PROCESS_TERMINATE = $0001; <br />var <br />ContinueLoop: BOOLean; <br />FSnapshotH转载 2011-05-21 11:58:00 · 511 阅读 · 0 评论 -
解决cpu占用率过高的问题
什么代码都没用,CPU占用是windows在分配,与delphi无关,application.processmessage只是处理其他事件而已,cpu同样会占用很高。 无论是用线程还是什么,只要你的cpu闲置,windows就会考虑尽快用更多的cpu将你的指令执行完毕。 唯一的方法是调低自己的程序优先级,将自己降低,但是这也不保证就不占用cpu时间。 所以你不能考虑cpu占用,只需要考虑你的程序在执行大量代码的时候不会阻塞运行就行了。cpu占用你没法调整。另外,楼上说的强制将代码循环停滞也是一种方法,不过这转载 2011-04-01 15:41:00 · 2051 阅读 · 0 评论 -
delphi中单独编译pas生成dcu文件
在网上下载了一个带源码的组件,结果碰到提示说缺少xxx.dcu。一看它的目录下确实没有,那能不能生成一个呢?当然可以!方法是使用delphi的安装目录/bin文件夹下的的dcc32.exe。例如:dcc32 myUnit.pas正常情况下运行上面的命令就会编译myUnit.pas生成 myUnit.dcu文件。(默认生成的.dcu是和.pas在同一文件夹下的)下附该命令的使用方法和详细说明(来自大富翁论坛网友帖子):DCC32的使用方法:文件介绍:Delphi7/Bin/DCC32.EXE:编译器(必要)转载 2011-03-31 11:13:00 · 1277 阅读 · 0 评论 -
实现吸附窗体功能
varHrect:HWND;Rect:TRect; Hrect:=FindWindow(nil,'另一个窗体标题'); GetWindowRect(Hrect,Rect); Form1.Left:=Rect.Left; Form1.Top:=Rect.Top+(Rect.bottom-Rect.Top);//实现吸附另一个窗体 = 计算另一个窗会坐标设置为本窗体坐标 + 另一个窗体的高度 //窗体的左,上就是窗体的左上角坐标; //ShowMessage(IntToStr(Rect.botto原创 2011-03-29 13:20:00 · 930 阅读 · 0 评论 -
全局热键的一些知识
<br />//全局热键的一些知识,程序快捷键也要用到原子。<br />TmpID:Integer;<br />begin<br />TmpID:=GlobalFindAtom(‘MyHotkey’);<br />if TmpID=0 then //查找全局原子.如果返回值不为0,则说明这个全局原子已经被注册;<br />id:=GlobalAddAtom(‘MyHotkey’)<br />else<br />ID:=TmpID;<br />TmpID:=GlobalFindAtom(‘MyHotkey2′转载 2011-03-14 11:06:00 · 546 阅读 · 0 评论 -
怎么建立文件关联
文件关联是指打开一种类型的文件的默认方式比如默认状态下文本文件txt是和记事本程式相关联的我们双击文本文件就能直接运行记事本程式来编辑他。文件的关联是通过注册表得以实现的本例就是利用API函数RegCreateKey和RegSetValue来对注册表进行修改从中能看到这两个函数的用法。 -------------------------------------- 利用WinApi函数实现文件关联 -------------------------------------- 程式说明: 例中利用两转载 2011-02-20 15:57:00 · 1335 阅读 · 0 评论 -
DELPHI 如何执行一个更改了扩展名的EXE文件
正常EXE文件执行时可以用 shellexecute 和 Winexec执行 如果将该EXE文件扩展名改为任意其他扩展名,改如何调用执行 如:原文件名为 fss.exe 现在改名为:fss.dfg 该如何用DELPHI执行fss.dfg? - Yolint 2009-03-06 09:00WinExec('cmd /c d:/fss.dfg') - 若楠薰 2009-03-06 09:00CreateProcess - 珑琉璃 2009-03-06 09:00调用API函数:WinExec 就可以实现了转载 2011-02-20 15:31:00 · 842 阅读 · 0 评论 -
Delphi Ole编程,什么是Ole?
OLE自动化是Windows应用程序之间互相操纵的一种技巧。被操纵的一方称为自动化服务器(也称自动化对象),典型的自动化服务器有MicrosoftWord、Excel和Powerpoint。操纵自动化服务器的一方称为自动化控制器。在开发数据库应有程序中,经常需要借助MicrosoftExcel的强大报表功能,把数据库中的数据输出到Excel表格中。Delphi5.0以前的版本虽然也可以编写自动化控制器和自动化服务器,但编写程序较为复杂,不易掌握。Delphi5.0对于OLE提供了强大的支持,利用Delp原创 2011-02-11 12:09:00 · 1321 阅读 · 0 评论