C#:控制台程序与窗口程序的区别

要写一个程序:程序功能,连接设备,发送文件。1.实现发送功能的API没有回调函数,调用成功就会退出,所以如要写一个程序:程序功能,连接设备,发送文件。1.实现发送功能的A... 要写一个程序:程序功能,连接设备,发送文件。1.实现发送功能的API没有回调函数,调用成功就会退出,所以如
要写一个程序:程序功能,连接设备,发送文件。
1.实现发送功能的API没有回调函数,调用成功就会退出,所以如果整个程序放在控制台下,需要在最后通过Console.ReadLine();让程序暂停,等发送完成后,手动退出程序。
2.windows消息------在文件发送完成后,发送程序会收到一个消息。所以,如果整个程序放在窗口中,通过WndProc()可以很容易实现需要的功能。
3.由于某种原因,现在就是要将程序设计为控制台程序,本人想法,在程序的最后通过Application.Run(new Form1());调用窗口,再执行发送功能,希望可以通过这个窗口中的WndProc(),接收到消息。但事实上,发送成功,但没有接受到消息。
4.分析了一下控制台程序与窗口程序,发现差不多,为什么编译成窗口的程序可以收到消息,编译成控制台程序中的窗口收不到消息。
展开
 我来答
兰花草GN
推荐于2017-10-05 · 超过18用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:47.5万
展开全部
Windows应用程序是windows窗体应用程序,就是有图形化的GUI、有Windows消息循环机制的。控制台应用程序多了一个控制台,是命令行的CUI(那个黑黑的Dos窗口)。
程序的文件头某个位置指定了该程序是IMAGE_SUBSYSTEM_WINDOWS_GUI还是IMAGE_SUBSYSTEM_WINDOWS_CUI。图形化的GUI,或
命令行的CUI。如果是CUI,那么该程序就是控制台程序,它启动的时候就会被自动分配给一个控制台(Console)。在GUI程序中,窗口不是必要的,虽然绝大部分程序都有。准确的说,控制台程序也可以创建窗口(MessageBox.Show("")就可以了)。窗口程序也可以拥有一个控制台(AllocConsole API)。
我爱北方的风
2014-01-17
知道答主
回答量:28
采纳率:0%
帮助的人:8.6万
展开全部
控制台的话是仿dos,单任务;window窗口是消息机制多窗口。
若是console的话,vs里进行可执行文件的代码前,产生该窗口;
若是window的话,vs不产生console窗口,应用成雪的窗口由用户自己创建
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qinnan851
2014-01-17 · TA获得超过104个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:179万
展开全部
你要明白Console其实只能在#标准输入流、输出流和错误流的其中做一些操作。都不做的话Console就会return 然后流捕获到return的值。Console退出。你现在应该做是创建一个线程让连接设备,发送文件这些代码封装起来把委托交给新线程操作,让Cosole挂起或者异步等待"活"干完,而不是写个ReadLine();ReadKey()傻等着他都不知道具体啥时候"活"才干完。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式