① vb实现输入窗口句柄就能找到指定窗口并显示窗口信息的程序
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Command1_Click()
Dim n As Long
Dim str1 As String
Dim h As Long, h1 As String
Dim p As RECT
h1 = InputBox("请输入窗口句柄", , Me.hwnd)
If IsNumeric(h1) Then
If Int(h1) = Val(h1) Then
h = h1
Else
MsgBox "非整数"
Exit Sub
End If
Else
MsgBox "非整数"
Exit Sub
End If
str1 = String(255, 0)
n = GetWindowText(h, str1, 255)
If n <> 0 Then
MsgBox "窗口标题:" & Left(str1, InStr(str1, Chr(0)) - 1)
Else
MsgBox "错误"
End If
GetWindowRect h, p
MsgBox "窗口位置:Left=" & p.Left & " Top=" & p.Top & vbCrLf & "大小是:" & p.Right - p.Left & "X" & p.Bottom - p.Top
End Sub
② 急:我得到了窗口句柄,如何通过这个窗口句柄获取对应的窗口实例
问题是这样的:我现在只能得到了一个窗口句柄,我又想通过这个窗口句柄创建它的MDI子窗口,但我得不到MDI子窗口的Parent和Owner(其实,就是对应这个窗口句柄的相应相应实例)???谢谢
③ 由程序进程id或窗口句柄如何获得程序名
有id的话,
1、用OpenProcess通过ID打开进程,获得进程句柄(windows.h,kernel32.lib)
2、用GetProcessImageFileName获得程序名(psapi.h,kernel32.lib或psapi.lib)
④ 通过窗口句柄怎么获得其所属的应用程序实例句柄
用GetWindowThreadProcessId来获取
进程ID
然后用
OpenProcess
来获取进程
句柄
,当然你要有足够的权限
⑤ 易语言怎么通过取一个窗口的句柄就让这个易程序在这个窗口下运行 解决问题了给30分
.版本
2
.支持库
eAPI
.支持库
iext
.子程序
__启动窗口_创建完毕
.局部变量
进...
⑥ 获得其他程序的句柄以后如何判断它是什么程序
句柄是windows分配给每一个程序中的每一个组件的唯一编码标识,你能看到的一个窗口他有句柄,窗口内部的按钮菜单背景音乐、图像等等。。。。。都有句柄,对于一个程序,只有运行起来以后,才会由windows制定分配一个进程,并拥有pid,pid才是程序运行的唯一标识,如果你想知道程序的窗口句柄是否改变,那么你需要调用winapi,不停地findwindow,随时获取窗口句柄进行比对
⑦ 在WINDOWS中有办法通过窗口句柄HWND得到其窗口过程WndProc吗
可以
使用GetWindowLong,第二个参数用GWL_WNDPROC。
具体使用可以参照下msdn,或者往上搜一下GetWindowLong的使用
⑧ 在C#中,如何根据主窗口的句柄,获取该窗口所属进程或者是进程的名字
The GetProcessHandleFromHwnd function retrieves a process handle from a window handle. HANDLE WINAPI GetProcessHandleFromHwnd( HWND hwnd, ); 这个函数通过窗口句柄获得进程句柄。有了进程句柄,PID是不是就知道怎么获得了?什么?不知道?那我告诉你,GetProcessId可以通过进程句柄获得进程ID: DWORD WINAPI GetProcessId( __in HANDLE Process );
⑨ 如何通过窗体句柄获取对应进程的名字
只能获取最前的那个窗口句柄
.版本 2
.子程序 进程_名取句柄0, 整数型, , 找不到将返回0
.参数 进程名, 文本型
.局部变量 sHandle, 整数型
.局部变量 Pn, PROCESSENTRY32
.局部变量 lpTe, THREADENTRY32
.局部变量 Found, 整数型
.局部变量 ret, 整数型
.局部变量 sThread, 整数型
.局部变量 tFound, 整数型
sHandle = CreateToolhelp32Snapshot (15, 0)
Pn.dwsize = 296
Found = Process32First (sHandle, Pn)
.判断循环首 (Found ≠ 0)
.如果真 (到小写 (到文本 (Pn.szExefile)) = 到小写 (进程名))
sThread = CreateToolhelp32Snapshot (4, 0)
lpTe.dwSize = 28
tFound = Thread32First (sThread, lpTe)
.判断循环首 (tFound ≠ 0)
.如果真 (lpTe.th32OwnerProcessID = Pn.th32ProcessID)
EnumThreadWindows (lpTe.th32ThreadID, &EnumThreadWndProc, ret)
跳出循环 ()
.如果真结束
tFound = Thread32Next (sThread, lpTe)
.判断循环尾 ()
CloseHandle (sThread)
跳出循环 ()
.如果真结束
Found = Process32Next (sHandle, Pn)
.判断循环尾 ()
CloseHandle (sHandle)
返回 (ret)
.子程序 EnumThreadWndProc, 整数型
.参数 hwnd, 整数型
.参数 lParam, 整数型, 参考
.局部变量 lHwnd1, 整数型
.局部变量 lHwnd2, 整数型
lHwnd1 = GetParent (hwnd)
.判断循环首 (lHwnd1 ≠ 0) ' 用取父窗口的方法,循环找到他祖宗.... :)
lHwnd2 = lHwnd1
lHwnd1 = GetParent (lHwnd1)
.判断循环尾 ()
.如果真 (lHwnd2 ≠ 0)
lParam = lHwnd2
返回 (0)
.如果真结束
返回 (1)
.版本 2
.DLL命令 CreateToolhelp32Snapshot, 整数型
.参数 dwFlags, 整数型
.参数 th32ProcessID, 整数型
.DLL命令 Process32First, 整数型
.参数 hSnapShot, 整数型
.参数 uProcess, PROCESSENTRY32
.DLL命令 Thread32First, 整数型, "KERNEL32.DLL", "Thread32First"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 EnumThreadWindows, 整数型, "user32", "EnumThreadWindows"
.参数 dwThreadId, 整数型
.参数 lpfn, 子程序指针
.参数 lParam, 整数型, 传址
.DLL命令 Thread32Next, 整数型, "KERNEL32.DLL", "Thread32Next"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 CloseHandle, 整数型, "kernel32"
.参数 hObject, 整数型
.DLL命令 Process32Next, 整数型
.参数 hSnapShot, 整数型
.参数 uProcess, PROCESSENTRY32
.DLL命令 GetParent, 整数型, "user32", "GetParent"
.参数 hwnd, 整数型
.版本 2
.数据类型 PROCESSENTRY32
.成员 dwsize, 整数型, , , 296
.成员 cntusage, 整数型, , , 引用数
.成员 th32ProcessID, 整数型, , , 进程标识符
.成员 th32defaultheapid, 整数型, , , 默认堆ID
.成员 th32moleid, 整数型, , , 进程模块标识符
.成员 cntthreads, 整数型, , , 线程数
.成员 th32ParentProcessID, 整数型, , , 父进程标识符
.成员 pcpriclassbase, 整数型, , , 线程优先权
.成员 dwflags, 整数型
.成员 szExefile, 字节型, , "260", 进程名称
.数据类型 THREADENTRY32
.成员 dwSize, 整数型
.成员 cntUsage, 整数型
.成员 th32ThreadID, 整数型
.成员 th32OwnerProcessID, 整数型
.成员 tpBasePri, 整数型
.成员 tpDeltaPri, 整数型
.成员 dwFlags, 整数型