问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB中,这段代码为什么WIN7 中无法使用,只能在XP中使用,谁能帮我修改下...

发布网友 发布时间:2024-10-03 06:02

我来回答

6个回答

热心网友 时间:2024-10-19 09:40

你这样试下就明白了:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long

Dim mHwnd As Long

Private Sub Form_Load()
mHwnd = FindWindow(vbNullString, "帮助.txt - 记事本")

hDCWindow = GetDC(mHwnd)

'Dim mHwnd As Long
'hWnd = FindWindow(vbNullString, "张志晨.txt - 记事本")
If mHwnd Then
MsgBox ("找到窗口!")
Else
MsgBox ("未找到窗口!")
End If

End Sub

Private Sub Timer1_Timer()
Text1.Text = Hex(GetPixel(hDCWindow, 100, 100))

End Sub

当然也可以这样:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long

Dim mHwnd As Long

Private Sub Form_Load()
mHwnd = FindWindow("Notepad", vbNullString)
hDCWindow = GetDC(mHwnd)
If mHwnd Then
MsgBox ("找到窗口!")
Else
MsgBox ("未找到窗口!")
End If

End Sub

Private Sub Timer1_Timer()
Text1.Text = Hex(GetPixel(hDCWindow, 100, 100))

End Sub

热心网友 时间:2024-10-19 09:32

可以啊朋友,你给的代码我的没有问题,我的是 win7 旗舰版,是不是其它代码不行啊

热心网友 时间:2024-10-19 09:33

没安装win7 你QQ又不知道答案 无法加

热心网友 时间:2024-10-19 09:38

把代码发给我吧。www.512482872@qq.com
我看看能不能帮到你。

热心网友 时间:2024-10-19 09:38

获取这个窗体的X.Y坐标的像素的RGB颜色值?
你调试一下。我估计是mHwnd无效值。
可能和系统有关,是因为不同的系统。显示的文件标题不一样。
换成"计算器"试试看。FindWindow(nil,"计算器");

热心网友 时间:2024-10-19 09:33

应该是两个系统api接口不同了,你这样试试:把xp上所需dll放到win7的固定位置(如C盘根目录),声明的时候这样写:
... GetPixel Lib "C:\gdi32" ...

热心网友 时间:2024-10-19 09:40

你这样试下就明白了:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long

Dim mHwnd As Long

Private Sub Form_Load()
mHwnd = FindWindow(vbNullString, "帮助.txt - 记事本")

hDCWindow = GetDC(mHwnd)

'Dim mHwnd As Long
'hWnd = FindWindow(vbNullString, "张志晨.txt - 记事本")
If mHwnd Then
MsgBox ("找到窗口!")
Else
MsgBox ("未找到窗口!")
End If

End Sub

Private Sub Timer1_Timer()
Text1.Text = Hex(GetPixel(hDCWindow, 100, 100))

End Sub

当然也可以这样:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long

Dim mHwnd As Long

Private Sub Form_Load()
mHwnd = FindWindow("Notepad", vbNullString)
hDCWindow = GetDC(mHwnd)
If mHwnd Then
MsgBox ("找到窗口!")
Else
MsgBox ("未找到窗口!")
End If

End Sub

Private Sub Timer1_Timer()
Text1.Text = Hex(GetPixel(hDCWindow, 100, 100))

End Sub

热心网友 时间:2024-10-19 09:34

可以啊朋友,你给的代码我的没有问题,我的是 win7 旗舰版,是不是其它代码不行啊

热心网友 时间:2024-10-19 09:39

没安装win7 你QQ又不知道答案 无法加

热心网友 时间:2024-10-19 09:32

把代码发给我吧。www.512482872@qq.com
我看看能不能帮到你。

热心网友 时间:2024-10-19 09:34

应该是两个系统api接口不同了,你这样试试:把xp上所需dll放到win7的固定位置(如C盘根目录),声明的时候这样写:
... GetPixel Lib "C:\gdi32" ...

热心网友 时间:2024-10-19 09:32

获取这个窗体的X.Y坐标的像素的RGB颜色值?
你调试一下。我估计是mHwnd无效值。
可能和系统有关,是因为不同的系统。显示的文件标题不一样。
换成"计算器"试试看。FindWindow(nil,"计算器");
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我老是容易出汗,不管夏天还是冬天,只要一活动就出汗。这样要怎么... 一年四季长期爱出汗,一动就大汗淋淋 交通事故次要责任可以构成工伤认定吗 ...认定工伤九级,付次要责任那企业一次性伤残就业补助金也按_百度知... 交通事故次要责任工伤赔偿标准 才生下来的乌龟吃什么 大蒜四月份管理要点 HR要学什么 HR所需的法律 耳夹式耳机有哪些优点?蛇圣星环耳夹式耳机实测分享 VB编的程序,以前在xp系统下没问题,但是到了win7输入框就黑色了如下图... 三国功夫最厉害的五个人都有谁? ...通过灯泡的电流是0.18A。这个灯泡的电阻是多少欧? ...3.6W”字样,闭合开关S,电灯L正常工作,电流表A的示数为1.6A.求... 108位好汉谁的功夫最好? ...表示___,“40”表示的是灯泡___.此灯泡正常工作时的电_ ...字样的电灯接在照明电源电路中,求 1.电灯正常工作时等死电阻... ...720Ω,求这盏灯正常工作时,通过它的电流为多少? 2. 一只小灯泡正常... 真正能管住孩子的家长是怎么样的? ...中,求:(1)电灯的灯丝的电阻是多大?(2)正常工作3小时消 孩子顽皮,学校老师能管住吗? 婴儿腹泻时可以吃辅食吗 1岁宝宝拉肚子能喝哪些粥? 大众凌渡加玻璃水的位置在哪里? 五月份适合种什么植物 2023雪花摩天轮和超级大滑梯游玩攻略 附预约、收费等详情 下颚骨长痘痘是什么原因 厦门明发广场的摩天轮票价多少,有没学生价,是不是长期开放? ...中梁山好汉武艺最好的前十位马上将和步下将都是谁,他们各用何兵器... 常州环球港需要门票吗要多少元 程序在xp上运行正常,放到win7下去运行在关闭退出程序的时候会弹出R6025... 用vbe实现bat静默运行,在WIN7系统上可以正常运行,在win10系统上无法正 ... 北方5月种植什么蔬菜最好 win7下运行Register的VBS文件,出现错误,但是在XP下运行无错,这是管理... 北方5月份适合种什么? 北方五月种什么蔬菜北方五月种蔬菜选择 为什么我关闭CF游戏后电脑会自动黑屏或自动关机重启。。答案说对我给... 为什么我一退出CF电脑就自动关机? 为什么穿越火线玩着玩着就自动关机 改变过去的懒惰重新开始奋斗的文案【收藏】 为什么我的电脑开机进不了系统?求大神解答。 ...去系统,显示选择设备,硬关机后再启动可以进去系统,请问是哪的故障... 我是1985年农历三月十二,子时出生,佩戴什么样饰品挂件 属牛三月出生,属牛哪个时辰出生最好 ...闷闷不乐,反应慢,己经两年了,吃奥氮平百忧解好过,停药反复几次_百度... 什么朝代的铜马最值钱 ...如果水通过的速度是每秒6米,1分钟流过多少立方米的水? 水管内直径为2CM,管内水料速度为没秒25CM,小强要接满2.1L水至少要多少... ...我今天无意中用支付宝把钱转到已经注销的邮政银行卡上了,而且已经提... 水管外直径长52cm,管壁厚1cm,自来水流过管的速度是6cm/秒。水管中的...