VB中findwindow函数

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:30:23
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long)As Long
Private Sub Timer1_Timer()
Dim hwnd As Long' 储存 FindWindow 函数返回的句柄
hwnd = FindWindow(vbNullString, "Windows Media Player")' 取得进程标识符
If hwnd = 0 Then
Label1.Caption = "未运行"
Else
Label1.Caption = "已运行"
End If
End Sub

第一句声明中Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 老是提示出错,说什么 sub 后面只能追加释词,请大侠帮帮忙,最好复制下代码帮我检验下错在哪里啊,
wynness 我刚才试了下你发的,似乎我也运行不了啊
具体问题是这样的我把全部代码复制下了
Private Sub Form_Load()
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByV

把你最上面的
Private Sub Form_Load()
这句去掉,其他不动

Private Sub Form_Load()
不能写在上面,要去掉。你把sub写在Declare前面是不行的
Declare Function
等函数声明必须写在代码的最顶端,如果在窗体中一定要用 private声明,因为它要作用范围是整个窗体

本人刚才测试好像没有错误,vb6.0+xp sp2

我做程序回答都是自己通过才发的

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long)As Long
Private Sub Timer1_Timer()
Dim hwnd As Long' 储存 FindWindow 函数返回的句柄
hwnd = FindWindow(vbNullString, "Windows Media Player")' 取得进程标识符
If hwnd = 0 Then
Label1.Caption = "未运行"
Else
Label1.Caption = "已运行"
End If
End Sub

你的原码,测试通过,并未发现任何错误

你把你的程序发上来看看,
Timer1_Timer() 没初始化根本就不会运行的
我加出来会和你程序里的不太一样

我在form_load()加入time