版本 2支持库 iext支持库 eAPI程序集 窗口程序集1子程序 __启动窗口_创建完毕超级列表框1类型 = 3超级列表框1显示表格线 = 真' ok,记得给超级列表框设置报表列,分别为 :窗口标题 和 窗口句柄。' 否则没有用。- -。子程序 _按钮1_被单击局部变量 n, 整数型局部变量 窗口句柄组, 文本型, , "0"局部变量 x, 整数型窗口句柄组 = 取所有窗口列表 ()计次循环首 (取数组成员数 (窗口句柄组), n) x = 超级列表框1插入表项 (, 取窗口标题 (到数值 (窗口句柄组 [n])), , , , ) 超级列表框1置标题 (x, 1, 窗口句柄组 [n]) 计次循环尾 ()
Dll命令:获得程序句柄 ※ 获取一个应用程序或动态链接库的模块句柄
返回值类型:整数型
Dll库文件名:kernel32dll
在Dll库中的命令名:GetModuleHandleA
参数:模块名 数据类型:整数型
※ 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPADEXE程序的模块文件名就叫作NOTEPAD。只有在当前进程的场景中,这个句柄才会有效。
打开开始菜单中Spy++工具,路径一般在:
"\ Microsoft Visual Studio 20XX \ Visual Studio Tools \ Spy++"
64位的朋友应该有一个“Spy++ (64 位)”,功能没有区别。
Spy++主界面上有一个望远镜的图标,点开望远镜,d出“查找图像窗口”。上面有一个“瞄准星”一样的图标,这个图标是可以鼠标拖动的。
将“瞄准星”拖动到目标窗口;看一下左面显示的窗口标题是不是你要找的窗口;如果是,点击“确定”。
“窗口属性”对话框d出,有“常规、样式、窗口、类、进程”五个选项卡。
“常规”选项卡显示窗口的基本信息;
“窗口”选项卡显示当前窗口句柄,父窗口以及子窗口句柄;
“进程”选q卡显示该窗口的进程和线程ID。
点击“关闭”退出到Spy++主界面。在主界面中可以找到以树状结构显示的窗口隶属关系。右键点击条目,在d出的菜单中选择“消息”,d出消息对话框。消息对话框中显示该窗体或控件接受到的消息。
Set sh = CreateObject("ShellApplication")
Set fd = shBrowseForFolder(MehWnd, "选择您想将“VeryCD”复制到的地方,然后单击“复制”按钮", 0)
'MehWnd是“选择文件夹”对话框的父窗口句柄,不关闭对话框不能返回父窗口。改为0没这个效果。
'第三个参数0改为512不显示“新建文件夹”按钮
If TypeName(fd) = "Folder3" Then MsgBox "选择的文件夹是" & fdSelfPath
CTestDlg 类中 声明 CTestA NewForm;
然后
void CTestDlg::OnButton1()
{
NewForm=new CTestA;
NewForm->Create(IDD_TestA_DIALOG,this);
NewForm->ShowWindow(SW_SHOW);
}
然后
void CTestDlg::OnButton2()
{
if(::IsWindow(NewForm->GetSafeHwnd()))
{
if(::IsWindowVisible(NewForm->GetSafeHwnd()))
{
AfxMessageBox("窗体存在");
}
else
{
AfxMessageBox("窗体不存在");
}
}
}
最后别忘了在新窗口中重载
void CTestADlg::PostNcDestroy()
{
delete this;
CDialog::PostNcDestroy();
}
你需要用到以下API
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal IParam As String) As Integer
Public Declare Function SendMessage2 Lib "user32" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal IParam As StringBuilder) As Integer
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As IntPtr, ByVal hWndChildAfter As IntPtr, ByVal IpszClass As String, ByVal IpszWindow As String) As IntPtr
具体用途,请自行百度。
以上就是关于易语言怎么获取句柄全部的内容,包括:易语言怎么获取句柄、如何获取对话框句柄spy++、VB高手看! 如何调用“选择文件夹”的对话框 ,如图所示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)