一个非常简单的问题求帮忙
vb.net吧
全部回复
仅看楼主
level 11
wmxaii 楼主
做一个小程序,希望在点击button时使目录下或指定目录下某c语言程序运行(运行完后会在同一目录下形成txt文件),在网上搜了很多,查到使用shell调用,可是调用后只显示一个黑框,不生成文件啊,求大神帮忙,图片里打过的代码都试过了[泪],没有成功的
网上还查到将c程序封装成dll然后调用,如果shell不可用的话求指导此方法啊[泪]
2014年12月12日 09点12分 1
level 13
Dim myProcess As Process = System.Diagnostics.Process.Start("c:\web\002.exe")
2014年12月12日 12点12分 3
不行啊,还是和上面一样只有黑框,不运行,图在四楼
2014年12月12日 12点12分
level 11
wmxaii 楼主
2014年12月12日 12点12分 4
level 13
别再调试里运行, 生成后在运行试试
2014年12月12日 13点12分 5
也不行,和调试的情况一样
2014年12月12日 14点12分
level 8
你的调用的C程序要传参数么?传参数的检查下参数,有些参数vb.net和c要求不一样,如果不要参数,你最好把c代码贴一下,或者是c代码里的问题呢,还有,生成c程序的时候要用release生成,不要用debug
2014年12月12日 15点12分 6
调成了release还是一样。 这个程序是解力学题,前几个form将输入的参数存在txt1、2、3中,本页调用c程序运行将计算的结果写入新生成的txt4中,下一页将txt4结果读取并显示。 c代码贴在下一页,几个人调试过都没问题,在codeblocks里写的,将几个文件放在一个文件夹中,运行生成结果。
2014年12月12日 15点12分
百度不让发代码,我私信给你吧
2014年12月12日 15点12分
level 11
wmxaii 楼主
c语言代码在6楼回复中,c程序运行后自动生成结果,我的目的就是在某个form中点击button后那个结果文件能生成就行,整个程序就差一步了
2014年12月12日 16点12分 9
level 13
把文件名都带上目录试下
2014年12月13日 02点12分 10
是把文件名也输入地址栏吗,这个试过了,我把vb.net程序生成然后直接将路径输入打开就成功了,但双击打开就和调试一样。
2014年12月13日 05点12分
而且如果把路径换为一个商业软件的exe文件是可以直接运行的
2014年12月13日 05点12分
level 11
wmxaii 楼主
感觉不是调用的问题,因为程序生成后直接在地址栏中输入C:\***\***\***.exe将程序打开运行c语言程序计算能得出结果
如果到生成的文件夹下双机打开***.exe就出现了和调试时一样的情况
2014年12月13日 04点12分 11
子程序应该是运行了,只是中间生成的文件所在目录和你预想的不一致。
2014年12月13日 06点12分
回复 zhengtiger2003 :奇葩事出现了,我把vb生成的exe文件拷出来和c程序的exe文件放在一起就没问题了,而且两个文件不管放哪个文件夹下都没问题,感觉跟路径的设置根本没关系啊。
2014年12月13日 07点12分
回复 zhengtiger2003 :大神,我还想问一个问题,我在试图让text读取txt文本时如何不显示乱码
2014年12月13日 07点12分
回复 zhengtiger2003 :text代码在楼下
2014年12月13日 07点12分
level 11
wmxaii 楼主
Dim f As System.IO.FileStream
Dim r As System.IO.StreamReader
Dim mylength As Integer
Dim i As Integer
Dim mybuffer(300) As Char
f = New System.IO.FileStream("c:\web\0004.txt", IO.FileMode.Open, IO.FileAccess.Read)
r = New System.IO.StreamReader(f)
TextBox1.Text = r.ReadToEnd()
f.Close()
r.Close()
2014年12月13日 07点12分 12
Encoding.GetString
2014年12月13日 08点12分
回复 zhengtiger2003 :加到哪里额,在MSDN上查到的资料完全看不懂[泪]
2014年12月13日 09点12分
回复 wmxaii :没必要写那么复杂 Dim file As New System.IO.StreamReader("c:\test.txt", System.Text.Encoding.Default) Dim vaule As String = file.ReadToEnd file.Dispose() 这样写直接以系统默认字符编码打开文件,应该没错
2014年12月13日 14点12分
level 13
你的c语言程序有问题所以那个c语言程序没生成文本文件
2014年12月13日 10点12分 13
c程序没问题,独立运行都正常的。看11楼回复,问题解决了,原因还不清楚,跟调用的路径没关系。
2014年12月13日 10点12分
level 8
我又亲自写了一遍,感觉没什么大问题,引用绝对路径,相对路径都没问题,[不高兴]是不是楼主电脑本身的问题阿.....
2014年12月13日 15点12分 14
改写DLL也试过了,一样没问题....
2014年12月13日 15点12分
回复 杨宇成12345 :难道真的是我的电脑的问题[惊哭],估计安装时什么环境没配置好,找的代码各种提示运行环境错误,才勉强编了大概。大神,能把工程文件打包发一下吗&私信一下邮箱,我发几个steam礼物
2014年12月13日 16点12分
回复 wmxaii :游戏就不要了,不太需要[哈哈]
2014年12月14日 10点12分
回复 杨宇成12345 :云盘里文件木有了,能不能发到邮箱里,地址私信了
2014年12月14日 10点12分
1