子、主线程之间消息发送
摘要://数据同步线程
TThreadUpdateData = class(TThread)
public
lSendHandle :HWND;
//线程创建过程,参数CreateSuspended表示创建时线程是否挂起,
constructor Create(CreateSuspended: Boolean);
//线程销毁
阅读全文
posted @
2009-08-28 16:05
on_road
阅读(552)
推荐(0) 编辑
delphi窗口的双缓冲绘制浅析收藏
摘要:有时,在有大量图片或者复杂的界面下,会出现界面闪烁。这是由于windows默认在绘制界面前会用背景色清空,然后重绘。
因为默认背景色一般是白色的,当重绘速度慢时,看起来界面就在闪烁了。
那有没有在不提高界面绘制速度的情况下,防止闪烁呢,常用的办法就是启用双缓冲机制。
双缓冲绘制,就是在内存预先绘制好图形,再拷贝到界面上。中途不再清白背景。
delphi的wincontrol组件提供了双
阅读全文
posted @
2009-08-28 16:04
on_road
阅读(2220)
推荐(0) 编辑
模拟按键批量发送函数
摘要:从一个序列号自动输入程序里找到的好东西.
procedure MySendKeys(Keys: PChar);
procedure SendKeyDown(VKey: Byte);
var ScanCode: Byte;
begin
ScanCode := Lo(MapVirtualKey(VKey, 0));
keybd_event(VKey, ScanCode, 0, 0);
end;
阅读全文
posted @
2009-08-28 15:53
on_road
阅读(345)
推荐(0) 编辑
建立快捷方式的函数: CreateShortcut
摘要:{测试 3: 在开始菜单的程序文件夹下建立快捷方式}
procedure TForm1.Button4Click(Sender: TObject);
begin
CreateShortcut(Application.ExeName, '', '', CSIDL_PROGRAMS);
end;
阅读全文
posted @
2009-08-28 15:45
on_road
阅读(239)
推荐(0) 编辑
后台调用外部程序的完美实现
摘要:最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本矿设置一些文字,再点击一个按钮就可以了。
说到这里,相信你也有了对该功能的一些初步设想了,没错,其基本思路就是:
1)调用CreateProcess()打开目标程序。
2)用FindWindow()找到目标程序的窗口Handle。
3)找到文本框的Handle,以及按钮的MessageID,用SendMessage(
阅读全文
posted @
2009-08-20 21:56
on_road
阅读(674)
推荐(0) 编辑
WinXP启动过程内幕
摘要:这篇文章是摘抄自《非安全黑客手册上的》,感觉对自己挺有用就抄下来了,文章版权属于原作者。
一、自检和初始化部分
1.加电自检(Powser On Self Test,Post),cpu复位
功能是检测电脑是否良好,通常完整的post自检包括对Cpu、640K基本内存、1M以上的扩展内存、ROM、主板、CMOS存储器、显示卡、软硬盘子系统、各种插接口(串口、并口、USB口)和输入设备进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。对于严重错误,计算机将不给出任何提示或信号
阅读全文
posted @
2009-08-12 20:27
on_road
阅读(956)
推荐(1) 编辑
winsock 函数声明大全
摘要:
一、 基本Socket函数
1.accept()* //响应连接请求,并且新建一个套接字,原来的套接口返回监听状态
accept(s: TSocket; addr: PSockAddr; addrlen: PInteger): TSocket; stdcall;
2.bind() // 把一个本地的名字和无名的套接字捆绑起来
bind(s: TSocket; var addr: TSockAddr; namelen: Integer): Integer; stdcall;
3.CloseSocket() //关闭套接字
阅读全文
posted @
2009-08-10 20:56
on_road
阅读(1556)
推荐(0) 编辑
Winsock常用结构
摘要://===================
//1. sockaddr_in结构
//===================
sockaddr_in = record
case Integer of
0: (sin_family: u_short; //u_short即Word类型,这里必须设置成AF_INET
sin_port: u_short;
阅读全文
posted @
2009-08-10 20:54
on_road
阅读(564)
推荐(0) 编辑
Socket的错误码和描述(中英文翻译)
摘要://下面是Socket Error的错误码和描述:
Socket error 0 - Directly send error
Socket error 10004 - Interrupted function //call 操作被终止
Socket error 10013 - Permission denied //c访问被拒绝
阅读全文
posted @
2009-08-10 20:53
on_road
阅读(32050)
推荐(0) 编辑
对Object Pascal的指针的一些总结
摘要:核心提示:Pascal语言本身也是支持指针的。从最初的Pascal发展至今 的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。...
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针.........
阅读全文
posted @
2009-06-17 12:10
on_road
阅读(275)
推荐(0) 编辑