我在windowsform窗体应用程序中可以控制DOS命令的输入和执行吗?

小白晒太阳 2012-10-10 09:10:13
RT,求大神指导,谢谢!
...全文
207 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小白晒太阳 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C# code

static void Main(string[] args)
{
Console.WriteLine(CMD("ipconfig"));
}

private static string CMD(string command)
{
Process ……
[/Quote]确实可以,如何通过button控件实现进程的开始与结束呢、、
小白晒太阳 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C# code

static void Main(string[] args)
{
Console.WriteLine(CMD("ipconfig"));
}

private static string CMD(string command)
{
Process ……
[/Quote]
    public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}
private static string CMD(string command)
{
Process process = new Process();//创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//设定需要执行的命令
startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
startInfo.UseShellExecute = false;//不使用系统外壳程序启动
startInfo.RedirectStandardInput = false;//不重定向输入
startInfo.RedirectStandardOutput = true; //重定向输出
startInfo.CreateNoWindow = true;//不创建窗口
process.StartInfo = startInfo;
process.Start();//开始进程
process.WaitForExit();//等待进程结束
string result = process.StandardOutput.ReadToEnd();//读取进程的输出
process.Close();
return result;
}

private void button1_Click(object sender, EventArgs e)
{
Console.WriteLine(CMD("javac"));
}
}
}
这样写没反应呢。。求指点,谢谢。。
Dobzhansky 2012-10-11
  • 打赏
  • 举报
回复
最好有独立的线程来跟那个外部进程交互,
小白晒太阳 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C# code

static void Main(string[] args)
{
Console.WriteLine(CMD("ipconfig"));
}

private static string CMD(string command)
{
Process ……
[/Quote]我在windowsform应用程序中如何植入这段代码?我运行后发现没什么变化呢。。求指导,谢谢,我真的什么都不会。。
小白晒太阳 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

可以。

http://www.cnblogs.com/shit/archive/2011/01/19/1938759.html
[/Quote]控制台的代码我不太明白,我想创建windowsformapplication程序,里面就简单的start,stop ,一个textbox控件,点start时就在执行DOS命令,具体命令直接在代码中写好。能给点再具体点的提示吗?谢谢。。
Hauk 2012-10-10
  • 打赏
  • 举报
回复

static void Main(string[] args)
{
Console.WriteLine(CMD("ipconfig"));
}

private static string CMD(string command)
{
Process process = new Process();//创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//设定需要执行的命令
startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
startInfo.UseShellExecute = false;//不使用系统外壳程序启动
startInfo.RedirectStandardInput = false;//不重定向输入
startInfo.RedirectStandardOutput = true; //重定向输出
startInfo.CreateNoWindow = true;//不创建窗口
process.StartInfo = startInfo;
process.Start();//开始进程
process.WaitForExit();//等待进程结束
string result = process.StandardOutput.ReadToEnd();//读取进程的输出
process.Close();
return result;
}


可以参考一下。
threenewbee 2012-10-10
  • 打赏
  • 举报
回复
可以。

http://www.cnblogs.com/shit/archive/2011/01/19/1938759.html
小白晒太阳 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

应该可以的,你winform里面只获取参数,然后内部算法指定一系列的拼接公式,最后点确定或者运行的时候调用个api就可以了
[/Quote]额,我对API什么的一窍不通,我是菜鸟的。能否给点具体的代码例子?谢谢了。。
發糞塗牆 2012-10-10
  • 打赏
  • 举报
回复
应该可以的,你winform里面只获取参数,然后内部算法指定一系列的拼接公式,最后点确定或者运行的时候调用个api就可以了
数据库课程设计报告_学籍管理系统 本次数据库课程设计是以Access数据库作为后台以VB作为前台的应用型设计课程。综合 我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力,作 到了理论与实践相结合。 一、题目说明 学生学籍管理系统是典型的学籍管理系统(MIS),其开发主要包括后台数据库的建立和维 护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数 据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本系统主要完成对学生情况和学生成绩的管理,包括数据库表的添加、删除等。系统 还可以完成对各类信息的浏览、添加、删除、等功能。 系统的核心是数据库各个表联系,每一个表的修改都将联动的影响其它的表,当完成 对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系 统即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件 查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添 加、删除和密码修改功能,并具备报表打印功能。 关键字:窗体、数据库、vb6.0、access2000。 学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作,要求其具有实用性强 、使用方便、效率高和安全可靠等特点。本管理系统正是围绕以上几个方面进行开发的 ,在开发过程充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到 了设计的要求,是一个已具备了实际应用能力的软件。本文主要论述学生学籍管理系统 的开发过程,在涉及到VB及Access的部分知识以举例的方式进行讲解 二. 总体设计 我的总体设计如下: (1)利用Access建立数据库,并在该数据库下创建五张表格,分别是学生表、课程表 、选课表、学生选课表以及口令表。 (2)利用VB来建立界面并对它进行设计和修改,大体框架如下: FORM1 用于首界面 FORM2 用于登陆此系统的登录界面 FORM3 是主窗体,在这上面建立相应的菜单 如:文件——退出、添加用户(FORM4) 数据信息——管理使用(FORM5) 基本操作——学生操作、选课操作、课程操作(FORM6、FORM7、FORM8) (3)对以上的界面进行设计以及对所要操作的部件进行编程。 如图: 三.常用控件的说明 所有的Windows应用程序窗口或对话框,都是由诸如文本框、列表框、命令按扭、滚动 条、命令菜单等组成的。VB通过控件工具箱提供了它们与用户进行交互的可视化部件, 即控件。程序开发人员只需要通过简单的操作,在窗体上安排所需要的控件,完成应用 程序的用户界面设计即可。 序号   名称   功能 1   Label标签   用于说明 2   Textbox文本框   用于文本输入或显示 3  Frame框架  用于组合控件 4  Commandbutton命令按扭  单击执行命令 5  Timer计时期  用于定时 6  Data数据控件  用于访问数据库 三.详细说明 1、数据库的建立与设计 数据库是有结构的数据集合,它与一般的数据文件不同,(其的数据是无结构的)是一 串文字或数字流。数据库的数据可以是文字、图象、声音等。 Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。 (1).表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成 ,表用来存贮数据库的数据,故又称数据表。 (2).查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接 若干个表的字段组成新表。 (3).窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建 子窗体显示相关联的表的内容。窗体也称表单。 (4).报表(Report)——报表的功能是将数据库的数据分类汇总,然后打印出来,以便分 析。 (5).宏(Macro)——宏相当于DOS的批处理,用来自动执行一系列操作。Access列出了一 些常用的操作供用户选择,使用起来十分方便。 (6).模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可 以根据自己的需要编写程序。模块使用Visual Basic编程。 我们利用Access来建立数据库,我们的库有五张表格,其分别是学生表、课程表、选 课表、学生选课表以及口令表。 我们就以学生表为例做一个简单的说明: 我们使用设计器来创建表的,我的这张表有七个字段,每个字段的名称分别是:学号、 班级、姓名、性别、出生年月、民族、地址、电话号码,每个字段有七个数据。我并对 其字段的属性进行了重新的修改,以做到不浪费其空间。 我具体的实施步骤是:启动数据库管理器——建立数据库——建立数据表结构——
学籍管理系统 本次数据库课程设计是以Access数据库作为后台以VB作为前台的应用型设计课程。 综合我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力 ,作到了理论与实践相结合。 一.题目说明: 学生学藉管理系统是典型的学藉管理系统(MIS),其开发主要包括后台数据库的建立和维 护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数 据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本系统主要完成对学生情况和学生成绩的管理,包括数据库表的添加、删除等。系统 还可以完成对各类信息的浏览、添加、删除、等功能。 系统的核心是数据库各个表联系,每一个表的修改都将联动的影响其它的表,当完成 对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系 统即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件 查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添 加、删除和密码修改功能,并具备报表打印功能。 关键字:窗体、数据库、vb6.0、access2000。 学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作,要求其具有实用性强 、使用方便、效率高和安全可靠等特点。本管理系统正是围绕以上几个方面进行开发的 ,在开发过程充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到 了设计的要求,是一个已具备了实际应用能力的软件。本文主要论述学生学籍管理系统 的开发过程,在涉及到VB及Access的部分知识以举例的方式进行讲解 二. 总体设计: 我的总体设计如下: (1).利用Access建立数据库,并在该数据库下创建五张表格,分别是学生表、课程表 、选课表、学生选课表以及口令表。 (2)利用VB来建立界面并对它进行设计和修改,大体框架如下: FORM1 用于首界面 FORM2 用于登陆此系统的登录界面 FORM3 是主窗体,在这上面建立相应的菜单 如:文件——退出、添加用户(FORM4) 数据信息——管理使用(FORM5) 基本操作——学生操作、选课操作、课程操作 (FORM6、FORM7、FORM8) (3)对以上的界面进行设计以及对所要操作的部件进行编程。 三.常用控件的说明: 所有的Windows应用程序窗口或对话框,都是由诸如文本框、列表框、命令按扭、滚动条 、命令菜单等组成的。VB通过控件工具箱提供了它们与用户进行交互的可视化部件,即 控件。程序开发人员只需要通过简单的操作,在窗体上安排所需要的控件,完成应用程 序的用户界面设计即可。 序号 名称 功能 1 Label标签 用于说明 2 Textbox文本框 用于文本输入或显示 3 Frame框架 用于组合控件 4 Commandbutton命令按扭 单击执行命令 5 Timer计时期 用于定时 6 Data数据控件 用于访问数据库 三.详细说明: 1.数据库的建立与设计: 数据库是有结构的数据集合,它与一般的数据文件不同,(其的数据是无结构的)是一串 文字或数字流。数据库的数据可以是文字、图象、声音等。 Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。 (1).表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成 ,表用来存贮数据库的数据,故又称数据表。 (2).查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若 干个表的字段组成新表。 (3).窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子 窗体显示相关联的表的内容。窗体也称表单。 (4).报表(Report)——报表的功能是将数据库的数据分类汇总,然后打印出来,以便分 析。 (5).宏(Macro)——宏相当于DOS的批处理,用来自动执行一系列操作。Access列出了一 些常用的操作供用户选择,使用起来十分方便。 (6).模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可 以根据自己的需要编写程序。模块使用Visual Basic编程。 我们利用Access来建立数据库,我们的库有五张表格,其分别是学生表、课程表、选 课表、学生选课表以及口令表。 我们就以学生表为例做一个简单的说明: 我们使用设计器来创建表的,我的这张表有七个字段,每个字段的名称分别是:学号、 班级、姓名、性别、出生年月、民族、地址、电话号码,每个字段有七个数据。我并对 其字段的属性进行了重新的修改,以做到不浪费其空间。 我具体的实施步骤是:启动数据库管理器——建立数据库——建立数据表结构——输入记录。 最终产生了这样的一个数据库:(如下) 2.
API之网络函数1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称 WNetGetLastError 获取网络错误的扩展错误信息 WNetGetUniversalName 获取网络一个文件的远程名称以及/或者UNC(统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统所有的顶级窗口 GetMessagePos 取得消息队列上一条消息处理完毕时的鼠标指针屏幕位置 GetMessageTime 取得消息队列上一条消息处理完毕时的时间 PostMessage 将一条消息投递到指定窗口的消息队列 PostThreadMessage 将一条消息投递给应用程序 RegisterWindowMessage 获取分配给一个字串标识符的消息编号 ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台 CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件 DeviceIoControl 对设备执行指定的操作 DosDateTimeToFileTime 将DOS日期和时间值转换成一个 win32 FILETIME 值 FileTimeToDosDateTime 将一个 win32 FILETIME 值转换成DOS日期和时间值 FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间 FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构 FindClose 关闭由FindFirstFile函数创建的一个搜索句柄 FindFirstFile 根据文件名查找文件 FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件 FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区 FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘 GetBinaryType 判断文件是否可以执行 GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数 GetCurrentDirectory 在一个缓冲区装载当前目录 GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息 GetDriveType 判断一个磁盘驱动器的类型 GetExpandedName 取得一个压缩文件的全名 GetFileAttributes 判断指定文件的属性 GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制 GetFileSize 判断文件长度 GetFileTime 取得指定文件的时间信息 GetFileType 在给出文件句柄的前提下,判断文件类型 GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息
目录: 1 Uppas40.htm Delphi 4增訂的Object Pascal 19K 2 Api_printer.htm Api函数列表-与打印有关 30K 3 Autocreate.htm 在Delphi3程序自动检测、建立数据库别名 7K 4 Autoxize.htm DELPHI自适应表单的实现 3K 5 Bat.htm 在Delphi利用Tbatch组件完成数据批处理 5K 6 Bde.htm 如何在注册表注册BDE 2K 7 Bjjlb.htm Delphi编辑俱乐部 4K 8 Cgi_1.htm CGI技术及其开发 11K 9 Cgi_2.htm CGI技术及其开发(二) 12K 10 Chang_backmap.htm 用Delphi实现壁纸更换 3K 11 Change_ip_dns.htm 任何动态改变/添加网络设置的 TCP/IP 的 DNS 地址 1K 12 Colorcour.htm 让彩色光标出现在Delphi程序 2K 13 Compon_mk.htm 面向组件的系统开发方法 2K 14 Comtech.htm COM/DCOM如何传递数组 2K 15 Comvsdcom.htm COM/DCOM的区别与联系 2K 16 Cookite.htm Delphi 3Cookie的建立使用 6K 17 Copy_screen.htm 一个实用的Delphi屏幕拷贝程序的设计 11K 18 Create_oracle7.htm 开发基于ORACLE7数据库的管理信息系统 9K 19 Cs_fast.htm 提高客户机/服务器应用系统性能的一些方法 8K 20 Def_color_dlg.htm 用Delphi实现自定义颜色对话框及其构件 12K 21 Def_preview.htm 自定义快速报表的打印预览窗口 6K 22 Delete.htm 如何把文件删除到回收站 1K 23 Delphi_c.htm 在Delphi与C++之间实现函数与对象共享 7K 24 Delphi_err.htm Delphi编译错误文手册 34K 25 Delphi_net1.htm DELPHI与INTERNET 34K 26 Delphi_net2.htm DELPHI与INTERNET 46K 27 Delphi_quick_develop.htm Delphi之快速设计(程序设计篇) 8K 28 Delphi_quick_develop2.htm Delphi之快速设计(界面篇) 3K 29 Delphi23_io.htm 在DELPHI2.0/3.0直接操作端口 3K 30 Delphivspb.htm 开发AS/400应用系统PB5与Delphi3的比较 9K 31 Device_isok.htm 检查驱动器是否就绪 1K 32 Dtccw03.htm 资源文件在DELPHI的使用 10K 33 Dttray.htm 如何创建任务栏的应用程序 11K 34 Edit_sysmenu.htm 控制系统菜单 3K 35 Fix_sybase.htm 如何恢复Sybase SQL Anywhere的数据库 4K 36 Fixsysbase_in.htm 解决sybase用户数据库不能进入故障的一种方法 5K 37 From_move.htm 用Delphi实现无边界窗体的移动 3K 38 Function.htm 部分函数、命令、属性文说明 13K 39 Get_form.htm Win95/98下监控运行的其他程序 2K 40 Get_info.htm 使用Delphi获取系列信息 3K 41 Get_net_friend.htm 如何在程序动态取得Win95/98的网络邻居的工作组及计算机名 12K 42 H_sort.htm 在DELPHI用线程排序 4K 43 Happymouse.htm 用Delphi编制趣味动画鼠标 3K 44 Hint.htm 改造HINT的输出方式 5K 45 Howto_chinese_delphi.htm "Delphi之完全汉语"终结版 6K 46 If.htm Delphi数据集过滤技巧 4K 47 Img.htm Delphi下汉字输入法的编程及使用 5K 48 Index_notf.htm 怎样解决打开一个DBF表时的"Index not found.."错误 3K 49 Install.htm 如何制作Delphi程序安装盘 7K 50 Ip

110,545

社区成员

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

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

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