游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1517|回复: 1

请问为什么这样的一个程序就是运行不下去呢

[复制链接]

2

主题

10

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-11-21 09:56:00 | 显示全部楼层 |阅读模式
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long


Private Sub Check1_Click()
    Call keybd_event(VK_shift, MapVirtualKey(VK_shift, 0), 0, 0)            '只要按住shift就行
End Sub

Private Sub Form_Load()
Dim hwnd As Long
Dim pid As Long
Dim pHandle As Long
hwnd = FindWindow(vbNullString, "test")
If (hwnd = 0) Then
MsgBox "Window not found!"
Exit Sub
End If       '得到handle

GetWindowThreadProcessId hwnd, pid       '得到程序id


pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)          '打开程序
If (pHandle = 0) Then
MsgBox "Couldn't get a process handle!"                    '这里出错了,就是得不到handle,我觉
Exit Sub                                                                 '得没错呀,请给我看看啊
End If
End Sub

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2004-11-21 20:54:00 | 显示全部楼层

Re:请问为什么这样的一个程序就是运行不下去呢

PROCESS_ALL_ACCESS 这个,程序不认识,你把常量拿来,或是直接给值!
否则他永远是0
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 09:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表