Delphi中三种方法获取Windows任务栏的高度
第一种:需要引用Windows单元
ShowMessage(IntToStr(GetSystemMetrics(SM_CYSCREEN)-GetSystemMetrics(SM_CYFULLSCREEN)-GetSystemMetrics(SM_CYCAPTION)));
第二种:需要引用Windows单元
function GetSystemTaskBarHeight:Integer;
var
R:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@R,0);
Result:=Screen.Height-R.Bottom;
end;
第三种:要引用ShellAPI单元
function GetTaskBarRect: Integer;
var
TBData: TAPPBARDATA;
begin
TBData.cbSize := SizeOf(TAPPBARDATA);
SHAppBarMessage(ABM_GETTASKBARPOS, TBData);
Result :=Screen.Height-TBData.rc.Top;
end;
相关文档:
帮助页在http://delphi.about.com/cs/adptips2003/a/bltip0203_2.htm
自己在实现的过程中的具体过程如下:
function InstallInf(const PathName: string; hParent: HWND): Boolean;
var
instance: HINST;
begin
instance := ShellExecute(hParent,
PChar('open ......
最近在调试代码,发现一个问题.应该算是bug吧. 呵,如果不算bug,那就是我对其实现原理的误解.
如果把返回参数Result作为另一函数的输入参数,result的初值是不确定...
function fun(str:string):string;
begin
fun2(result);
end; ......
有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些
建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。
一.建立工程目录
&n ......
Delphi U盘插入拨出检测:
1、新建工程;
2、在form1上放一个Label;
3、定义一个私有过程
procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
完整代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics ......
Delphi 中 FindWindow 和 FindWindowEx 的语法和用法
FindWindow(
lpClassName, {窗口的类名}
lpWindowName: PChar {窗口的标题}
): HWND; {返回窗口的句柄; 失败返回 0}
//FindWin ......