VB我想实现 运行EXE文件 直接自动右击粘贴数字啊 内容是:123456
我想运行VB后能直接对准光标 右击粘贴,在框中粘贴 :123456
思路是先运行
Private Sub Form_Load()
Shell "C:\WINDOWS\system32\notepad.exe ", vbNormalFocus
End Sub
怎么能右击 粘贴呢 代码怎么写啊
最后再回车下 ·····
VB 右击 粘贴功能
答案:3 悬赏:80 手机版
解决时间 2021-01-29 11:16
- 提问者网友:暮烟疏雨之际
- 2021-01-29 06:21
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-01-29 06:43
Private Sub Form_Load()
Clipboard.SetText "123456"
Shell "C:\WINDOWS\system32\notepad.exe", vbNormalFocus
DoEvents
SendKeys "^V",True
End Sub
Clipboard.SetText "123456"
Shell "C:\WINDOWS\system32\notepad.exe", vbNormalFocus
DoEvents
SendKeys "^V",True
End Sub
全部回答
- 1楼网友:杯酒困英雄
- 2021-01-29 07:01
你的需求描述不清楚。你是要运行一个VB程序,弹出界面上有一个文本输入框,输入“123456“?还是要运行VB程序,使其调用nodepad,打开一个记事本程序?
前者(TEXT框):
form上加一个TEXT框,比如叫text1:
Private Sub Form_Load()
text1.setfocus
End Sub
private text1_mouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
if button=2 then
text1.text="123456" & vbNewLine
end if
end sub
后者(记事本notepad):
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal uCmd As Long) As Long
Private Sub form_load()
'运行记事本程序
If Shell("notepad.exe", vbNormalFocus) = 0 Then
MsgBox "您的系统没有安装记事本程序"
Exit Sub
End If
Dim Str As String
Dim hwnd As Long
Dim hTxtWnd As Long
hwnd = GetForegroundWindow
If hwnd = 0 Then
MsgBox "记事本程序有问题。", vbCritical
Exit Sub
End If
hTxtWnd = GetWindow(hwnd, 5)
If hTxtWnd <> 0 Then
Str = ”123456“ & vbNewLine
SendMessage hTxtWnd, &HC, 0, Str
End If
End Sub
- 2楼网友:神也偏爱
- 2021-01-29 06:55
private sub command2_click()
sendkeys "^v" '将剪贴板的文本内容复制到text1
end sub
好像是这样,模拟按下ctrl+v(粘贴的快捷键),如果不成功就换一种方法模拟按键(用api),我没什么时间就不写了,你自己看看sendkeys的用法,应该很简单的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯