当前位置: 首页 > news >正文

自己做网站排版/南宁seo优化公司排名

自己做网站排版,南宁seo优化公司排名,山东省日照市有专业做网站的,精品网站建设公司实现进程之间煲电话粥的方式,有好几种,比如,你可以用这些方案: 1、使用socket来传递。这个好像很无聊,本地进程之间也用socket?不过,通过本机回环网络确实可以进程之间通信。 2、WCF&#xff0c…

实现进程之间煲电话粥的方式,有好几种,比如,你可以用这些方案:

1、使用socket来传递。这个好像很无聊,本地进程之间也用socket?不过,通过本机回环网络确实可以进程之间通信。

2、WCF,与上面的相似,也是利用本机回环地址来在进程间通信。

3、内存映射文件。这个可能有些朋友不太熟,毕竟平时装逼时也装不上这个。内存映射文件类似于磁盘中的物理文件,只不过它是存在于内存中的,一旦引用文件的最后一个进程退出,内存映射文件就会释放。多个进程间可以共享内存映文件来分享银行卡上的钱。

 

本文老周还介绍第 4 种方案——通过标准的输入/输出流来读写。输入流是向一个进程写入数据,相反地,输出流就是从某个进程读取数据。

原理不复杂,实现起来也不难,只需要用到一个我们都很熟悉的类:Console,这个类不仅可以在控制台应用程序中输入/输出文本,也可以用于标准流。

 

好,老周用一个例子来说明一下。

这个例子是这样的,假设有一个可执行文件,它没有UI,只是用于安装,在安装过程中,它会实时输出安装进度。然后,有另外一个程序,有窗口,这个程序会调用前面那个程序进行安装,并实时读出安装进度,显示到进度条控件上。

 

首先实现第一个程序,无窗口无UI无房无车,纯屌丝一个。

    class MainClass{static void Main(){BinaryWriter writer = new BinaryWriter(Console.OpenStandardOutput());byte p = 0;do{writer.Write(p);Thread.Sleep(50);p++;}while (p <= 100);writer.Close();}}

获取标准流,可以调用 OpenStandardOutput,或OpenStandardInput,这两个方法返回的流对象,可以灵活操作。还可以访问 Out / In 属性来获取标准流,它返回的是 TextReader 或 TextWriter,这用于读写文本较方便。

此处,老周只考虑写一个数值(0 - 100),所以,用 BinaryWriter 类操作会快乐一点。

这个项目,你既能生成为控制台应用程序,也可以是Windows应用程序,只要是.exe即可。

 

随后,我们实现有窗口有UI有房有车,纯壕一个。

            string exePath = @"..\..\..\SampleApp\bin\Debug\SampleApp.exe";IProgress<int> prgs = new Progress<int>(p =>{progressBar1.Value = p;});……await Task.Run(() =>{ProcessStartInfo start = new ProcessStartInfo();start.FileName = exePath; //要执行的.exe文件start.CreateNoWindow = true; //无窗口start.UseShellExecute = false; //非Shell行为start.RedirectStandardOutput = true; //必须,否则连毛都不出来Process p = Process.Start(start);BinaryReader reader = new BinaryReader(p.StandardOutput.BaseStream);while (true){byte prs = reader.ReadByte();prgs.Report(prs);if (prs == 100) break;}reader.Close();p.WaitForExit();p.Close();});……

IProgress<T>是个好东西,它的实现类是 Progress<T>,只要我们在UI线程上把它实例化(即它的实例属于UI线程),那么在跨线程报告进度时会简便很多。实例化时,传一个Action<T>委托实例,用来回调进度。

启动进程前要准备一个 ProcessStartInfo,它可以设置一些参数。

如:

                ProcessStartInfo start = new ProcessStartInfo();start.FileName = exePath; //要执行的.exe文件start.CreateNoWindow = true; //无窗口start.UseShellExecute = false; //非Shell行为start.RedirectStandardOutput = true; //必须,否则连毛都不出来

反正安装程序是没有UI的,就让CreateNoWindow为真,不创建主窗口。另外,RedirectStandardOutput属性必须为真,不然我们代码就无法访问输入/输出流,只有重定向后的标准流才能在代码中使用。

 

运行结果如下图所示。

 

 当然,你也可以用标准流来读写文本,或其他数据,这里读写数值,只作演示。

示例代码下载地址

 

http://www.lbrq.cn/news/780139.html

相关文章:

  • 汽车b2c网站建设/优化设计答案五年级上册
  • 微餐饮网站建设/武汉seo排名
  • 网站建设进度及实过程/站长之家工具高清
  • 网站除了做流量还需要什么软件/职业技能培训班
  • 东营企业网站建设/郑州网站建设制作
  • 网络服务合同纠纷司法解释/保定百度推广优化排名
  • 个人设计师网站 青春/网站优化排名易下拉软件
  • 做预算查价格的网站是哪个好/公司优化是什么意思
  • html制作静态网站模板/链接推广
  • 正规的专业高端网站建设/百度关键词搜索排名帝搜软件
  • 怎么用axure做自适应网站/百度推广客户端app
  • 北京最大做网站的公司/营销的主要目的有哪些
  • 织梦网站上传步骤/百度推广代理查询
  • wordpress千万数据/关键词自动优化
  • 做网站的那些高清图上哪里找/网站优化分析
  • 做网站需要掌握的软件/国家免费职业培训平台
  • 免费授权企业网站源码/seo整站优化方案案例
  • 做网站二级页面的/seo优化专家
  • 网站支付链接怎么做的/永久免费wap自助建站
  • wordpress手机版网页/抖音优化公司
  • 智慧政务门户网站建设/北京网站优化经理
  • 怎样做网站分析总结/免费seo推广软件
  • 如何查询网站主机信息/个人建网站步骤
  • 邯郸建设网站公司/网络营销软件商城
  • 做国外网站注册工作靠谱吗/快链友情链接平台
  • labview可以做网站吗/抖来查关键词搜索排名
  • 远程教育网站开发/近期新闻大事
  • IT做网站工资怎么样/品牌整合营销方案
  • 虎门做网站公司/专业搜索引擎seo服务
  • 企业网站用什么套站/线上培训机构
  • 香橙派 RK3588 部署千问大模型 Qwen2-VL-2B 推理视频
  • 客户端攻击防御:详解现代浏览器安全措施
  • 华为USG防火墙双机,但ISP只给了1个IP, 怎么办?
  • C++信息学奥赛一本通-第一部分-基础一-第2章-第5节
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(中)
  • 人工智能与智能家居:家居生活的变革