vb sendmessage 问题,为什么代码没有反应。

PrivateDeclareFunctionSendMessageLib"USER32"Alias"SendMessageA"(ByValhWndAsLong,ByVal... Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindowEx Lib "USER32" Alias "FindWindowExA" (ByVal Hwnd1 As Long, ByVal Hwnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Sub Macro1()
Dim Hwnd1 As Long
Dim Hwnd2 As Long
Hwnd1 = FindWindow(vbNullString, "无标题 - 记事本")
Hwnd2 = FindWindowEx(Hwnd1, 0, "EDIT", vbNullString)
SendMessage Hwnd2, WM_LBUTTONDOWN, 0, 0
SendMessage Hwnd2, WM_LBUTTONUP, 0, 0
End Sub

求指出错误,各位可以试一试,真的没有反应。(解决了有额外奖赏)
展开
 我来答
网海1书生
科技发烧友

2016-05-23 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
我用你同样的代码在VB6中运行是没问题的。你是在VBA中运行的吗?Macro1子过程你是怎么调用的呢?
更多追问追答
追问
我是在EXCEL附带的宏中运行的,就直新建一个模块,写入上面的代码,直接在窗口点击运行按钮,没有建任何窗体,难道这样会有差别吗?求指教!
追答
你这个代码会使空白记事本获得输入焦点,但并不会使记事本窗口变成前台窗口,所以如果记事本处在其它窗口的后面,你是看不到效果的,但代码实际上执行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式