关于FindWindow 函数的用法 急急急急急!!!!!!!!!!!

wzzxq 2004-10-23 02:13:38
Public Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long


lngFlag=FindWindow("XLMAIN", "Microsoft Excel - " & filename)

我用这个函数来判断Excel文件是否已经打开
在win2000 下是正常的
可是在winxp下却怎么也返回0
为什么会这样呢
...全文
136 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzzxq 2004-10-25
  • 打赏
  • 举报
回复
谢谢大家了.xp和2000下使用的确不一样,差别在第二个参数上.xp下不能要文件后缀名,而2000下则必须要.虽然解决问题了,但却不知道为什么会这样??郁闷
wzzxq 2004-10-25
  • 打赏
  • 举报
回复
找到原因了,这和你的系统是否显示文件的后缀名有关系,与系统没有关系.呵呵
DemonLoveLizzy 2004-10-24
  • 打赏
  • 举报
回复
如果只有一个EXCEL,只用类名,不要窗口标题。
lxcc 2004-10-23
  • 打赏
  • 举报
回复
'我这里没有问题
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Dim l As Long
l = FindWindow("XLMAIN", "Microsoft Excel - Book1")
MsgBox l
End Sub

一定要注意Caption一定要完全一致,包括大小写!
wzzxq 2004-10-23
  • 打赏
  • 举报
回复
不用类名还是一样的
我在xp下用spy++得到的类名和在2000下的一样啊
而且格式都一样
hhjjhjhj 2004-10-23
  • 打赏
  • 举报
回复
msgbox "Microsoft Excel - " & filename
与实际显示的对比一下,是不是一样的,看仔细!
tztz520 2004-10-23
  • 打赏
  • 举报
回复
lngFlag=FindWindow(vbNullString, "Microsoft Excel - " & filename)'不用类名试一下
zgvslch 2004-10-23
  • 打赏
  • 举报
回复
lngFlag = FindWindow(vbNullString, "Microsoft Excel")

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧