导航

心动吧DELPHI网络书

自发研究:须要多维思想而且要想不可能为可能的人才能做到

[置顶] {下载}本站提供delphi下载

  下载的时候最好不要用迅雷,要不然很容易断线.

  提供多个控件下载:

[原创]明生小记之delphi错误处理

作者:心动吧明生KISS

转载请注明:http://www.abcxd.com   

在使用delphi很多情况下,我们需要使用到错误机制以保证程序继续往下执行.所以这一节记录了一下错误机制的大致方法    Try //写进你的代码 Except //出错时运行这里的代码 End;   从上面的一段代

常用API 函数:进程和线程函数

...

CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作
CallNamedPipe

GetMessage休眠后如何唤醒

while GetMessage(MsgRec, 0, 0, 0) do

begin

TranslateMessage(MsgRec);

DispatchMessage(MsgRec);

//Sleep(1000);

if abool=true then  Break;

end;



当我发送了消息队列的时候,发送完之后,线程会处于休眠状态,这时候该怎么样做才可以让线程重新唤醒或者结束他呢?



个人想法:

  在主窗中插入一个定时器,然后在定时器执行的代码中写入

  PostThreadMessage(ThreadId,WM_QUIT,0,0) //僵哥代码

  到一定的时候就执行一下上面的代码让他退出他



  而这时候的问题来了.

  PostThreadMessage当中的Threadid参数我如何获得,从上面的循环中我看中了一个msgrec我是否能够替换Treadid呢?替换成下面的

            PostThreadMessage(MsgRec,WM_QUIT,0,0)

      替换后,我发现WM_QUIT出现提示

            incompatible types: 'cardinal' and 'tagMsg'

    简单来说就是类型不一样无法替换...



问题1:我在主窗体内写这样的代码会不会有其他的问题存在?

问题2:应该怎么解决休眠问题和如何传递参数到主窗体的定时器中 

 

键盘鼠标对应码表-delphi键值

在操作API的时候很多时候需要用到我们键盘上的按键,这里是对照的

常数名称 十六进制值 十进制值 对应按键
VK_LBUTTON 01 1 鼠标的左键
VK_RBUTTON 02 2 鼠标的右键
VK-CANCEL   03 3 Ctrl+Break(通常不需要处理)
VK_MBUTTON 04 4 鼠标的中键(三按键鼠标)
VK_BACK 08 8 Backspace键
VK_TAB 09 9 Tab键
VK_CLEAR 0C 12 Clear键(Num Lock关闭时的数字键盘5)
VK_RETURN 0D 13 Enter键
VK_SHIFT 10 16 Shift键
VK_CONTROL 11 17 Ctrl键
VK_MENU 12 18 Alt键
VK_PAUSE 13 19 Pause键
VK_CAPITAL 14 20 Caps Lock键

 

      更多

 

windows Api学习

得到WINDOWS的SYSTEM路径:     方法:             var                  MySysPath : PCHAR ;             begin                     GetMem(MySysPath,255);                     GetSystemDirectory(MySysPath,255);             end;    注:MySysPath为SYSTEM路径 得到程序的路径   ExtractFileDir(Application.Exename); 察看文件是否存在   FileExists(FileName:String):Boolean;

个人认为评论很有价值:查句柄

#1楼  2008-08-14 09:18 ls [未注册用户]

万一老师,您太还好了,非常感谢,,,,万分感谢

     

#2楼  2008-08-14 12:00 uiuxt [未注册用户]

请教万一老师,同一窗体内的相同的控件如果找句柄,怎么找啊

     

#3楼 [楼主] 2008-08-14 12:35 万一     

@uiuxt

同一窗体内的控件是不可以重名的.

你说的是相同类型吗? 譬如: Button1.Handle; Button2.Handle 这就是句柄了.

    

#4楼  2008-08-14 13:39 uiuxt [未注册用户]

是同一窗休里面有很多子窗体,子窗体的类名都是父窗体的一样,子窗体没标题,如何得到指定字窗体内的某个控件的句柄呢?

Windows 消息

明生注:我们知道点击某一些软件的图标。他就会打开。但是你知道当你点击后。系统需要发送多少个命令才能实现到你点击的功能吗?这只是一个很小的举例。看了这一个之后。你会学到更多消息值 注释 WM_NULL$0000 WM_CREATE$0001 WM_DESTROY$0002 WM_MOVE$0003 WM_SIZE$0005 WM_

Delphi获取句柄sendmessage

查找另外一个窗口的句柄: handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄查找子窗体:childHandle := FindWindowEx(handle,0,'子窗体类','子窗体标题');

DELPHI7.0获取硬盘、CPU、网卡序列号

//引用及TYPE变量申明usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls,nb30; {重要引用}typePASTAT = ^TASTAT;TASTAT = recordadapter : TAdapterStatus;name_buf : TNameBu

分页:[«]1[»]

日历

<< 2010-5 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

站内搜索

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved