wshshell.SendKeys能传递汉字吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wshshell.SendKeys能传递汉字吗相关的知识,希望对你有一定的参考价值。

1楼的大哥啊~

你的思路很好~~
可是运行后却提示 错误:缺少对象 'clipboard'

参考技术A 似乎不可以,不过可使用这个方法:
将VB剪贴板设置上要传递的汉字,然后用【wshshell.SendKeys "^V"】 (即Ctrl+V粘贴)过去:


'代码:

Private Sub Command1_Click()
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")

Clipboard.Clear '清空剪贴板
Clipboard.SetText "要传递的汉字" '向剪贴板输入
'要传递的汉字
WshShell.SendKeys "^v" '发送Ctrl+v粘贴

End Sub

本回答被提问者采纳
参考技术B Private Sub Command1_Click()
Text1.SetFocus
SendKeys "貌似可以哦"
End Sub
参考技术C 直接
sendkeys "好",True

你能传递比函数预期更多的参数吗?

【中文标题】你能传递比函数预期更多的参数吗?【英文标题】:Can you pass more parameters than a function expects? 【发布时间】:2011-08-28 10:08:04 【问题描述】:

如果您有两个类扩展同一个基类,并且需要让其中一个类覆盖一个函数以获取附加参数。在任一类上调用函数时始终传递附加参数是否可以?

一些伪代码来帮助演示......

如果我们有 3 个类和函数

foo::doSomething() foo_subclass_one::doSomething() foo_subclass_two::doSomething($input)

我有这三个之一的实例,我可以打电话吗 $instance.doSomething($input)

我 - 认为 - 发生的事情是 foo 和 foo_subclass_one 会忽略附加参数,而 foo_subclass_two 会使用它。它是否正确?如果我有很多子类并且真的想避免接触 10 多个文件,有没有更好的方法可以做到这一点?

谢谢!

【问题讨论】:

【参考方案1】:

是的,你可以。用func_get_args()收集他们

【讨论】:

【参考方案2】:

有两种方法可以做到这一点:

扩展方法以使用默认参数:

public function doSomething($input=null) 

请注意,您需要对所有实例执行此操作,即使未使用它也是如此。

在这种情况下,您可能需要使用方法的参数数组:

public function doSomething() 
  $args = func_get_args();
  if (isset($args[0]))  $this->doSomethingElse();

【讨论】:

以上是关于wshshell.SendKeys能传递汉字吗的主要内容,如果未能解决你的问题,请参考以下文章

有谁帮我弄个重复按键VBS脚本

编程错误,请帮忙

VBS整蛊代码

VBSCRIPT 保存

vbs keys

娱乐时刻--VBS脚本连续发送消息