C# 向批处理文件输入字符

先记录个无关标题哒~

刚刚学习用C#,在用VS进行图形界面编程时,点界面中添加的空间,VS界面右侧会出现该控件的属性页,但是这个属性页并不全,

只列出了部分重要的属性,一开始还以为是没有对应的属性方法呢,后来就去百度发现有这个属性,但是不能每次都百度这么麻烦吧,

问了同事,知道了想要看控件的全部属性有两个方法:

一个是在VS中编辑时输入控件名和.,出来的列表即是全部属性;

另一个是查看MSDN,输入控件名,查看members就可以了。

————————————————————————————————————————————————————————————

需求是这样:在C#工具中输入参数,点击按钮,调用bat并将刚刚输入的参数传入bat中执行。

本来考虑了是否需要在调出bat后把bat手动置为活动窗口,然后发送参数,但是后来发现有点麻烦,

需要FindWindow、SetForeground等操作,试了下没成功所以放弃了。想了一下,

一般调出bat后不动,应该焦点就在bat了。只需要:

1 Process.Start(a.txt);
2 SendKeys.SendWait(par1);
3 SendKeys.SendWait({ENTER}");

在VS里试了一下,可以正常执行。

但是出了一个小问题,当双击编译出的exe时,就卡在bat界面没有输入传的参数,为什么呢?

猜了一下,可能在外部环境运行时,要输入参数时活动窗口已经不是bat了,传参传的有点儿慢

尝试在1、2行之间加入一句:

Thread.Sleep(1000);

编译后,双击exe,成功了,可以正常向bat输入参数。

有个问题出现了几次,没解决,记录下:比如向bat输入0,可能会出现两个0~