将剪贴板中的文本发送到应用程序,如记事本(C#或Powershell)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将剪贴板中的文本发送到应用程序,如记事本(C#或Powershell),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1906字,纯文字阅读大概需要3分钟。
内容图文
![将剪贴板中的文本发送到应用程序,如记事本(C#或Powershell)](/upload/InfoBanner/zyjiaocheng/971/dc5fcbe3b5db45309ce3a9529ef604c7.jpg)
我希望能够将Windows中的剪贴板上的文本发送到应用程序.例如,我正在编写记事本中的文本文件,我想将一部分复制到一个新文件中..我想将其复制到剪贴板,然后使用热键启动发送的应用程序或powershell脚本将文本复制到记事本的新实例.
我怎样才能在C#或Powershell中实现这一目标?
解决方案:使用AutoHotKey
^+c::
Send ^c
Run Notepad
WinWait Untitled - Notepad
WinActivate
Send ^v
return
最佳答案:
我有2个解决方案,一个使用PowerShell,另一个使用Autohotkey.
Autohotkey版本
我会使用这个;)您定义绑定到键的自定义键和操作.我的文件包含以下代码:
^#n::
Run, Notepad
WinWaitActive Untitled - Notepad2
Send !e
Send p
return
它运行notepad2,然后模拟按Alt E和P.粘贴字符串的方式与您自己按下它的方式相同.出于某种原因,我在按下’Ctrl V’时遇到了一些问题(我不记得了).有关更多信息,请查看Autohotkey的网站.
PowerShell版本
您需要使用像Notepad2这样的编辑器.使用switch / c启动Notepad2并粘贴剪贴板中的文本.
为了使它更有用,我使用如下定义的函数tnp:
(请注意,您需要使用-sta参数运行PowerShell,否则它们将无法正常工作)
function tnp {
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[object]
$InputObject
)
begin { $objs = @() }
process { $objs += $InputObject }
end {
$old = Get-clipboard # store current value
$objs | out-string -width 1000 | Set-Clipboard
notepad /c
sleep -mil 500
$old | Set-Clipboard # restore the original value
}
}
function Set-Clipboard {
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)][object]$s
)
begin { $sb = new-object Text.StringBuilder }
process {
$s | % {
if ($sb.Length -gt 0) { $null = $sb.AppendLine(); }
$null = $sb.Append($_)
}
}
end { Add-Type –a system.windows.forms; [windows.forms.clipboard]::SetText($sb.Tostring()) }
}
function Get-Clipboard {
Add-Type –a system.windows.forms
[windows.forms.clipboard]::GetText()
}
使用这些功能,您可以运行以下内容:
# gets list of members, opens Notepad2 and pastes the content (members list)
(get-date) | gm | tnp
换句话说 – 如果某些信息将被返回并格式化为屏幕,您可以获取它并粘贴到记事本.
内容总结
以上是互联网集市为您收集整理的将剪贴板中的文本发送到应用程序,如记事本(C#或Powershell)全部内容,希望文章能够帮你解决将剪贴板中的文本发送到应用程序,如记事本(C#或Powershell)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。