| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 590 人关注过本帖
标题:[求助]通配符一问
只看楼主 加入收藏
CPPBOY
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
收藏
 问题点数:0 回复次数:5 
[求助]通配符一问
编写一进程动态修改程序,在使用FindWindow这个API时遇到如下问题:

例如进程窗口名称为"ABC 1.01"(1.01为版本号),即API调用语句为

FindWindow(vbNullString, "ABC 1.01")

我想编写的程序也对"ABC 1.00"这样的其它版本也有效,所以使用通配符"*",即

FindWindow(vbNullString, "ABC*")

不知道这样使用是否正确?

=============================

[此贴子已经被作者于2007-2-5 12:08:14编辑过]

搜索更多相关主题的帖子: 符一 
2007-02-05 12:07
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
这样是找abc*的吧。估计连 1.01都找不到可能.

快上课了……
2007-02-05 15:50
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

这种问题 你自己代码跑一下试试不就有答案了吗?


2007-02-05 17:39
CPPBOY
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
收藏
得分:0 
以下是引用Kendy123456在2007-2-5 17:39:25的发言:

这种问题 你自己代码跑一下试试不就有答案了吗?

用"*"不行啊~~~

要怎么写才正确呢???

2007-02-05 20:52
121038
Rank: 1
等 级:新手上路
威 望:2
帖 子:414
专家分:0
注 册:2005-8-3
收藏
得分:0 
可以把所有窗口穷举出来,然后再判断前3位是不是abc嘛

2007-02-05 21:50
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

参数 类型及说明
lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题


好像没发现可以使用通配符 估计函数本身不支持.

你如果是想在程序需要的时候(比如启动) 检测有没有其它版本的在运行中, 可以先确定自己发布程序版本号的规则, 然后用循环一个一个的找吧 (100个总够用了吧, 比如每次就从1.0 循环到2.0 step 0.01, 当前运行使用的版本号除外).



2007-02-06 14:18
快速回复:[求助]通配符一问
数据加载中...
 
   



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

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