| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2771 人关注过本帖
标题:已经通过FindWindow找到窗体句柄,现在要取窗体文件路径+文件名
只看楼主 加入收藏
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:12 
已经通过FindWindow找到窗体句柄,现在要取窗体文件路径+文件名
谢谢各位,,请帮我下
搜索更多相关主题的帖子: 路径 文件名 窗体 FindWindow 句柄 
2009-11-10 22:48
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:7 
[取窗体文件路径+文件名]
没能理解.
是与窗体程序文件有关的文件路径?
2009-11-10 23:09
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
楼上,我来了
2009-11-10 23:16
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
2楼,我的意思是

 我要写个 程序  取 第3方软件,  我现在可以取 软件的窗口 句柄,  然后 通过句柄 我想 找到  这个软件 所在的 路径和文件名字,请给我个代码吧,谢谢
2009-11-10 23:17
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
程序代码:
Option Explicit
Private Declare Function GetWindowModuleFileName Lib "user32" (ByVal hWnd As Long, ByVal lpszFileName As String, ByVal cchFileNameMax As Long) As Long

Private Sub Form_Load()
Dim sBuf$
sBuf = String$(261, 0)
GetWindowModuleFileName Me.hWnd, sBuf, 260
sBuf = Left$(sBuf, InStr(1, sBuf, vbNullChar) - 1)
Debug.Print sBuf
End Sub
= =;
好像不是你要的。

[ 本帖最后由 bczgvip 于 2009-11-10 23:35 编辑 ]
2009-11-10 23:18
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
挖,是斑竹哦,,,太感动了
2009-11-10 23:20
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
回复 5楼 bczgvip


我测试下
2009-11-10 23:42
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
'这个代码不对,还是不行
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowModuleFileName Lib "user32" (ByVal hWnd As Long, ByVal lpszFileName As String, ByVal cchFileNameMax As Long) As Long

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Dim hWnd As Long

If hWnd = FindWindow("ShImgVw:CPreviewWnd", vbNullString) > 0 Then

 

Dim sBuf$
sBuf = String$(261, 0)
GetWindowModuleFileName Me.hWnd, sBuf, 260
sBuf = Left$(sBuf, InStr(1, sBuf, vbNullChar) - 1)
Debug.Print sBuf
MsgBox sBuf


 End If


End Sub
2009-11-10 23:46
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
程序代码:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowModuleFileName Lib "user32" (ByVal hWnd As Long, ByVal lpszFileName As String, ByVal cchFileNameMax As Long) As Long

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Dim lhWnd As Long
lhWnd = FindWindow("ShImgVw:CPreviewWnd", vbNullString)
If lhWnd Then
    Dim sBuf$
    sBuf = String$(261, 0)
    GetWindowModuleFileName lhWnd , sBuf, 260
    sBuf = Left$(sBuf, InStr(1, sBuf, vbNullChar) - 1)
    Debug.Print sBuf
End If
End Sub 


[ 本帖最后由 bczgvip 于 2009-11-11 00:43 编辑 ]
2009-11-11 00:42
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
斑竹, 我这个程序目的 是,  查找 电脑里 是否 打开一个图片,XP系统默认打开是用  "WINDOWS 图片和传真查看器",  找到 句柄后, 就要 找出 这个图片  的路径和文件名来,,,谢谢, 你楼上这个程序,我运行了,不显示东西
2009-11-11 01:07
快速回复:已经通过FindWindow找到窗体句柄,现在要取窗体文件路径+文件名
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027798 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved