两个小问题!(50分)

  • 主题发起人 主题发起人 cansim
  • 开始时间 开始时间
C

cansim

Unregistered / Unconfirmed
GUEST, unregistred user!
1怎么获得某个窗口或控件的句柄?
其实我不是太了解句柄这个问题,是不是就是代表这个WINDOWS的元素?
也就是窗口,按键等?把它理解为指向它的指针可不可以?
2获得句柄用destroywindow(HWnd)是不是就可以关闭程序?
如果不是那怎么用一个程序关闭别的程序?谢谢
 
1.获得窗口句柄findwindow(Hwnd).
2.关闭整个程序,halt
关闭窗口close
 
book523你好!FIADWINDOW函数我知道,我想问的是HWND该写什么?
例如有个程序叫A。EXE那我该怎么在程序中找到它?
另外我是要在一个程序中关闭另外的程序哦!
 
例:
h:=FindWindow(nil,'未标题 - 记事本');
PostMessage(h,WM_CLOSE,0,0);

FindWindow说明
寻找窗口列表中第一个符合指定条件的顶级窗口
返回找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
参数 类型及说明
lpClassName PChar,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
lpWindowName PChar,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题

PostMessage说明
将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送
如消息投递成功,则返回TRUE(非零)。会设置GetLastError
参数 类型及说明
hwnd Longint,接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
wMsg Longint,消息标识符
wParam Longint,具体由消息决定
lParam Longint,具体由消息决定
 
句柄 =form.handle;
PostMessage(句炳,WM_CLOSE,0,0);
 
hParent := FindWindow(nil,'窗口名称');// 发现窗口句柄
hMemo := ChildWindowFromPointEx(hParent, Point(xpoint,ypoint), CWP_ALL);//通过坐标找到控键句柄
hButton := FindWindowEx(hParent,0,nil,'控件名称');//通过名称找到控件句柄
SendMessage(hParent,WM_CLOSE,0,0);//发送关闭窗体消息
TerminateProcess(handle,0);//关闭进程
给我加分!
要不下次我不再回答你们的问题了!
 
多人接受答案了。
 
后退
顶部