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~