C# 使用sendkeys.sendwait()模拟键盘,输出汉字到dos下出错

xusen1013 2014-08-25 10:25:56
使用sendwait("中国“);提示
System.ComponentModel.Win32Exception: 拒绝访问。
在 System.Windows.Forms.SendKeys.SendInput(Byte[] oldKeyboardState, Queue previousEvents)
在 System.Windows.Forms.SendKeys.Send(String keys, Control control, Boolean wait)
在 System.Windows.Forms.SendKeys.SendWait(String keys)
在 KeybdTest.Form1.button1_Click(Object sender, EventArgs e) 位置 D:\工作项目\KeybdTest\KeybdTest\Form1.cs:行号 50
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

但是sendwait("zhongguo123");正确
不知道怎么回事,网上收拾。net没有权限,我是wpf/c# winform来处理的
private void button1_Click(object sender, EventArgs e) {

this.Hide();
SendKeys.SendWait("徐瑟");//有错
SendKeys.SendWait("{Enter}");
}
...全文
658 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xs767461 2014-09-17
  • 打赏
  • 举报
回复
试试这个钩子 http://www.cnblogs.com/Charles2008/archive/2010/04/05/1700094.html
xusen1013 2014-08-26
  • 打赏
  • 举报
回复
哎!还是没有找到答案
xusen1013 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
要么你就直接sendmessage发消息过去,要模拟键盘你就老老实实的发送键盘上有的按键
不知道请不要乱发言,肯定是可以的,我的程序开发机器上都可以,我换了一个机器出现这样的问题
於黾 2014-08-25
  • 打赏
  • 举报
回复
要么你就直接sendmessage发消息过去,要模拟键盘你就老老实实的发送键盘上有的按键
於黾 2014-08-25
  • 打赏
  • 举报
回复
既然你知道这是模拟键盘,键盘上有中国这两个键么??
zhouzangood 2014-08-25
  • 打赏
  • 举报
回复
「已注销」 2014-08-25
  • 打赏
  • 举报
回复
如果只是权限问题 可尝试右键用管理员权限运行exe 如果可以解决 参考此文 http://www.cr173.com/html/11557_1.html
「已注销」 2014-08-25
  • 打赏
  • 举报
回复
如果是一定要模拟的话。 可以尝试用 郑码。 即 按住 alt 加6个数字键  比如 釦 这个是按住alt 然后依次按下 1 2 3 4 5 6
「已注销」 2014-08-25
  • 打赏
  • 举报
回复
是dos还是命令提示符 命令提示符的话可以后台传参 不需要 模拟输入。而且sendmessage是前台模拟。 这样很不好。
内容概要:本文档聚焦于基于Peng-Robinson状态方程的化工热力学计算研究,系统介绍了利用Matlab代码实现纯组分及多组分系统的压缩因子(z因子)和逸度系数的计算方法,并进一步拓展至泡点压力与露点压力的数值求解。资源涵盖了从状态方程推导、非线性方程求根、相平衡条件判断到迭代算法实现的完整技术路线,提供了可运行的Matlab程序代码,有助于深入理解实际工程中物性参数的计算原理与实现过程; 适合人群:具备化工热力学基础知识和一定Matlab编程能力的高校学生、科研人员及工程技术人员,尤其适合从事过程系统模拟、油气田开发、精馏设计及相关领域研究的专业人士; 使用场景及目标:① 掌握Peng-Robinson方程在真实气体物性计算中的应用;② 实现多组分混合体系的相平衡计算与泡/露点预测;③ 为Aspen Plus等商用流程模拟软件提供底层算法验证与教学参考;④ 支持科研论文复现、课程设计、毕业设计及工业过程优化中的热力学数据支撑需求; 阅读建议:建议读者结合经典化工热力学教材同步学习,重点理解立方型状态方程的根判别、迭代收敛策略与相平衡准则的数学表达,动手调试并运行所提供的Matlab代码以掌握算法细节,还可将其扩展应用于其他状态方程(如SRK、vdW)的对比分析研究。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧