delphi GetKeyState】的更多相关文章

GetKeyState(VK_CAPITAL) & 0x0001 0x8000 是键有否按下0x0001 是键的翻转状态 var bF1Down: Boolean;begin bF1Down := (GetKeyState(VK_SPACE) and $8000 > 0);…
WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForward; //前进 WebBrowser1.Navigate('...'); //打开指定页面 WebBrowser1.Navigate('about:blank'); //打开空页面 //打开空页面, 并写入... WebBrowser1.Navigate('about:<head><ti…
键盘键与虚拟键码对照表 字母和数字键 数字小键盘的键 功能键 其它键 键 键码 键 键码 键 键码 键 键码 A 65 0 96 F1 112 Backspace 8 B 66 1 97 F2 113 Tab 9 C 67 2 98 F3 114 Clear 12 D 68 3 99 F4 115 Enter 13 E 69 4 100 F5 116 Shift 16 F 70 5 101 F6 117 Control 17 G 71 6 102 F7 118 Alt 18 H 72 7 103…
DELPHI下API简述 http://zero.cnbct.org/show.asp?id=144 auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属设备数量 auxGetVolume API 获取当前卷设置 auxOutMessage API 向输出设备发送消息 auxSetVolume API 设置附属设备卷 AbortDoc API 终止一项打印作业 AbortPath API 终止或取消DC中的一切路径 AbortPrinter API…
Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); 也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击) Value Meaning ssShift The Shift key is held…
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThreadInput 连接线程输入函数 BeginDeferWindowPos 启动构建一系列新窗口位置的过程 BringWindowToTop 将指定的窗口带至窗口列表顶部 CascadeWindows 以层叠方式排列窗口 ChildWi…
auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属设备数量 auxGetVolume API 获取当前卷设置 auxOutMessage API 向输出设备发送消息 auxSetVolume API 设置附属设备卷 AbortDoc API 终止一项打印作业 AbortPath API 终止或取消DC中的一切路径 AbortPrinter API 删除打印机缓冲文件 AbortSystemShutdown API 停止系统工作 AccessChec…
Delphi 3开始有了TWebBrowser构件,不过那时是以ActiveX控件的形式出现的,而且需要自己引入,在其后的4.0和5.0中,它就在封装好shdocvw.dll之后作为Internet构件组之一出现在构件面板上了.常常听到有人骂Delphi的帮助做得极差,这次的TWebBrowser又是Microsoft的东东,自然 这里有平时我自己用TWebBrowser做程序的一些心得和上网收集到的部分例子和资料,整理了一下,希望能给有兴趣用TWebBrowser编程的朋友带来些帮助.----…
Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); 也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击) Value Meaning ssShift              The Shif…
Delphi中DLL的创建和使用     1.DLL简介:   2.调用DLL:   3.创建DLL:   4.两个技巧:   5.初始化:   6.例外处理.            1.DLL简介     DLL是Dynamic-Link   Libraries(动态链接库)的缩写,库里面是一些可执行的模块以及资源(如位图.图标等).可以认为DLL和EXE基本上是一回事,只是DLL不能直接执行,而必须由应用程序或者其他DLL调用.DLL为应用程序间的资源共享提供了方便,同时也是多语言混合编程的…
在Windows大行其道的今天,windows界面程序受到广大用户的欢迎.对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制.有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入,而用程序来模拟键盘及鼠标的输入呢?答案是肯定的.这主要是通过两个API函数来实现的. 下面以Delphi为例来介绍一下如何实现这两个功能.模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数.大家不用担心,在delphi里调用api函数是很方便的事. 先介绍一…
因项目需要准备对LISTVIEW的滚动条进行自绘.于是在网上搜了一下,问题没解决,却搜出一篇令人不愉快的帖子 .确实,那时候实力是不够的,但现在应该是没问题了,为这个目的才不断磨练自己的. LISTVIEW控件的滚动条是系统自带的,它不创建窗口.对LISTVIEW窗口本身进行子类化后,要处理一些跟滚动条有关的消息. 首先是要骗过WM_NCPAINT消息.这个十分容易.WM_NCPAINT消息的wParam是一个区域的句柄.当它不为1时,从它里面CLIP 掉滚动条的区域,再传给原窗口过程即可.当它…
Delphi 判断按键状态 http://blog.sina.com.cn/s/blog_54da9cc001015di1.html (2012-04-05 14:22:50) 标签: 杂谈 分类: Delphi 调用GetKeyState(nVirtKey:integer)函数,可以判断是否按下了Alt.Ctrl.Shift键,如果函数返回值<0则表示按下了. 参数: nVirtKey     指定一个键.如果指定字母或数字键,nVirtKey 必须为该字符的 ASCII 码值.如:判断‘a’…
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWindows 排列一个父窗口的最小化子窗口AttachThreadInput 连接线程输入函数BeginDeferWindowPos 启动构建一系列新窗口位置的过程BringWindowToTop 将指定的窗口带至窗口列表顶部CascadeWindows 以层叠方式排列窗口ChildWindowFro…
第一章 DLL简单介绍由于在目前的学习工作中,需要用到DLL文件,就学习了下,在这里作个总结.首先装简单介绍下DLL:1,减小可执行文件的大小DLL技术的产生有很大一部分原因是为了减小可执行文件的大小.当操作系统进入Windows时代后,其大小已经达到几十兆乃至几百兆.试想如果还是使用DOS时代的单执行文件体系的话一个可执行文件的大小可能将达到数十兆,这是大家都不能接受的.解决的方法就是采用动态链接技术将一个大的可执行文件分割成许多小的可执行程序.2,实现资源共享这里指的资源共享包括很多方面,最…
输入 procedure TypeKeyString(s: string); var c: Char; i: integer; off: integer; vkw: Word; begin to Length(s) do begin c := s[i]; ) then begin vkw := VkKeyScan(c); off := ; = $ then keybd_event(VK_SHIFT, , off, ); = $ then keybd_event(VK_CONTROL, , off…
最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看7z,在windows下有dll那么就用它吧. 下载7z.dll,还有一个delphi的开发sdk文件,sevenzip.pas.有这两个就可以了. 压缩 使用超级简单 procedure TForm1.Button1Click(Sender: TObject); var Arch: I7zOutA…
针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by Name asc) as [序号], Name,Gender,Birthday,Mobile,Tel,Ctfld from dbo.name where Gender = @Gender OR @Gender IN ( NULL, '', '-1' ) END 二.打开delphi,先添加几个控件…
在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, 因此在安装Delphi 2010正常运行后,需要备份相应的文件 而安装好Delphi XE后,先清空此目录下的文件,然后再用activator.exe执行一下reset.activator一下,运行好Delphi xe,再备份好相应文件 这样就有两份文件了,需要运行哪个,就先恢复一下相应的lice…
VER300    Delphi Seattle / C++Builder Seattle    23    230    (Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)        VER290    Delphi XE8 / C++Builder XE8    22    220    (Delphi:Win32/Win64/OSX/iOS32/iOS…
现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout都试过了,网上找了一圈,有人提出修改源码,我没试,应该也可以. 我采用的是把idhttp.get方法放到线程里,在主线程定时检查返回状态,这样就可以控制超时时间了,伪代码如下. strResult:=''; Tthread.CreateAnonymousThread( procedure begin…
Delphi Code Editor 之 编辑器选项 可从Code Editor的右键菜单中选择“Properties”菜单项来查看编辑器选项.也可以从主菜单[Tools | Editor Options…]打开编辑器选项对话框.如下图: 下面分别来讲述各个页面. 1.General页面 这两个页面用于控制编辑器的工作方式.其中包括很多选项. 页面下面的“Editor SpeedSetting”组合框,可从里面选择多种设置,如下图: 如果改变此组合框的设置,上面的“Editor options”…
Delphi是一个可视化的编程工具,ADO编程也是这样,所以话不多言,直接通过代码.截图和语言来说明. 我的数据库是Oracle,为了测试,先建一个表:create table practice(uno varchar(8), uname varchar(20));  这个表比较简单,只有两个字段. 我的Oracle数据库是安装在虚拟机上的(操作系统是Redhat),所以需要先在服务器上配置好,另外需要在Windows上进行相关的配置(监听程序配置和本地网络服务名配置).否则后面就没有办法配置数…
先介绍一个可能比较常用的方法,获取当前时间 var datetime: string; begin datetime:= FormatDateTime('yyyy-mm-dd hh:mm:ss', Now); ShowMessage(datetime); end; 其中的Now 函数是获取当前的时间,FormatDateTime 用于将Now获取的时间信息格式化为想要的格式. 这个方法可以获取当前时间,并且格式化为例如 2008-09-10 09:10:58 的格式. 在介绍能够获取毫秒信息的方…
当使用了长字符串类型的参数.变量时,如string,要引用ShareMem. 虽然Delphi中的string功能很强大,但若是您编写的Dll文件要供其它编程语言调用时,最好使用PChar类型.如果您要坚持使用string类型的参数时.变量甚至是记录信息时,就要引用ShareMem单元,而且这个单元必须是第一个引用的,即在uses语句后的第一个单元. 下面通过一个项目示例来讲解怎么使用ShareMem. 先新建一个DLL项目 先新建一个DLL项目,然后再新建一个Unit1单元. 工程文件是这样的…
我是参考了万一的博客里面的关于TStringGrid学习的教程,但是我也结合自己的实际操作和理解,加入了一些个人的补充,至少对我有用! 学用TStringGrid之——ColCount.RowCount.Cells 本例中使用到了Panel控件,只是比较简单的拖拽到界面上(比如可以在Panel上面放按钮……),详细的知识并没有涉及到,还是先学习TStringGrid. 本例的功能: 1.获取StringGrid的行数.列数 2.给单元赋值 运行效果图 : 代码如下: unit Unit1; in…
最近在开发中使用到了UpDown这个控件,但是因为之前没有使用过,所以很不熟悉,于是就编写了一个简单的demo来学习UpDown以及其结合TEdit的用法. 初步的常用功能的简介 目前(2015.08.07)只是涉及到其简单的用法,因为目前我所需要使用的就只有这些内容,系统化的使用和知识将会在以后需要的时候再补充. 目前涉及到的内容有UpDown组件与TEdit组件的配合使用.UpDown的Position属性. 寻找UpDown: 如下图,Win32下,用红色框框出来的 先看一下这个程序的运行…
首先看TThread源码中关于OnTerminate的代码: public .... property OnTerminate: TNotifyEvent read FOnTerminate write FOnTerminate; ... end; 再看Delphi自带的帮助手册中对于OnTerminate的解释: Occurs after the thread's Execute method has returned and before the thread is destroyed. p…
先介绍ExtractFilePath和ParamStr ParamStr 该函数的原型是:function paramstr(i: Integer): String; 对于任何的application,paramstr(0)都默认代表的是应用程序的绝对路径.假如你这个编译号的exe 文件在 d:\delphi下,名字叫做 project1.exe.那么 在该应用程序中paramstr(0)返回:d:\delphi\project1.exe.这个值是变的,exe程序在哪,这个值就变为哪儿. 那么有…
转载自:http://www.cnblogs.com/mumble/archive/2011/05/25/2056462.html Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 其实在看Delphi的Format函数的时候,可以与C 里面的printf 函数的格式化相关的知识进行类比. 首先看它的声明: function Format(const Format: string; const Args: array o…