第一个Method:

 //启动应用程序
VOID RunApplication(LPTSTR lpFilename, LPTSTR args)
{
//WinExec(lpFilename, SW_SHOW);
//return;
SetErrorMode(SEM_FAILCRITICALERRORS);
PROCESS_INFORMATION pi;
::ZeroMemory(&pi, sizeof(pi)); //初始化进程信息pi
STARTUPINFO si;
memset(&si,,sizeof(si));
si.cb=sizeof(si);
si.wShowWindow=SW_HIDE;
si.dwFlags=STARTF_USESHOWWINDOW;
CreateProcess(lpFilename, args, NULL, NULL, FALSE, , NULL, NULL, &si, &pi);
/*
HWND hWnd;
GetWindowThreadProcessId(hWnd,&pi.dwProcessId);
*/
WaitForSingleObject(pi.hProcess, INFINITE); DWORD ExitCode;
//是否退出
GetExitCodeProcess(pi.hProcess,&ExitCode);
//0-返回正常 or 返回异常
if(ExitCode == )
{
RunApp(_T("baodian.rsm"));
}
else
{
RunApp(_T("baodian.vms"));
} CloseHandle(pi.hThread);
CloseHandle(pi.hProcess); }

第二个Medthd:

 VOID RunApp(LPTSTR lpFilename, LPTSTR args)
{
//WinExec(lpFilename, SW_SHOW);
//return; PROCESS_INFORMATION pi;
::ZeroMemory(&pi, sizeof(pi)); //初始化进程信息pi
STARTUPINFO si;
memset(&si,,sizeof(si));
si.cb=sizeof(si);
si.wShowWindow=SW_SHOW;
si.dwFlags=STARTF_USESHOWWINDOW;
::CreateProcess(lpFilename, args, NULL, NULL, FALSE, , NULL, NULL, &si, &pi);
SAFE_CLOSE(pi.hProcess); //关闭进程句柄
}

C# Winform 脱离 Framework (二)的更多相关文章

  1. C# Winform 脱离 Framework (一)

    Linker是一个命令行工具,它以将我们的.net程序生成可脱离.net framework环境运行的程序 . Linker不支持中文的路径,在程序中也不能有中文的标识符. Linker 有2种部署方 ...

  2. SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework

    1.调用前组装参数 2.调用发送信息服务脚本   .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...

  3. 简单方法打包.net程序集脱离framework

    最近业余捣鼓monogame,自然而然就关注到了.net程序脱离framework发布的问题上了, 度娘,谷歌娘 都经过一番查找,无非分为如下几类方法: 1.直接使用mono运行时,附带 bin.li ...

  4. winform窗体(二)——控件

    一.窗体的事件 每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码 位置:1)右键属性→事件→load 双击进入 2)双击窗体任意一个位置进入 删除事件:先将事件页面里面的挂好的事件删除,再删 ...

  5. C# WinForm多线程(二)ThreadPool 与 Timer

    本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer 一  ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个 ...

  6. C# PDF、winform 生成解析二维码

    PDF 生成.解析二维码 界面样式: 第一步:下载ThoughtWorks.QRCode.dll 类并引用 地址  http://download.csdn.net/detail/liwb1987/8 ...

  7. Django Rest Framework(二)

    •基于Django 先创建一个django项目,在项目中创建一些表,用来测试rest framework的各种组件 models.py class UserInfo(models.Model): &q ...

  8. Entity Framework二、 模型优先 ,ObjectContext类

    https://www.cnblogs.com/ejiyuan/archive/2009/05/27/1490786.html 1.ObjectContext 封装.NET Framework和数据库 ...

  9. Winform GDI+绘图二:绘制旋转太极图

    大家好,今天有时间给大家带来Winform自绘控件的第二部分,也是比较有意思的一个控件:旋转太极图. 大家可以停下思考一下,如果让你来绘制旋转的太极图,大家有什么样的思路呢?我今天跟大家展示一下,我平 ...

随机推荐

  1. HDU4348 To the moon

    Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Description Backgrou ...

  2. Android——PULL解析XML

    简介 Android中常常使用XML文件保存用户的APP设置信息.因此需要对XML文件的相关操作进行了解.本文将以<学生信息管理系统>为案例背景进行介绍相关的XML解析的介绍,以及其他相关 ...

  3. redis安装,配置

    下载 cd /usr/local/src wget http://download.redis.io/releases/redis-3.0.7.tar.gz     安装 yum install je ...

  4. python时间模块-time和datetime

    时间模块 python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数:格式化后的时间字符串:时间struct_time 元组. struct_time元组中元素主要包括 ...

  5. django 快速搭建blog

    如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是“最适合开发 ...

  6. hibernate----(Hql)另一种查询---利用Criteria类

    package com.etc.test; import java.util.List; import org.hibernate.Criteria;import org.hibernate.Sess ...

  7. Git / 程序员需要知道的12个Git高级命令

    众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...

  8. 9.13 JS循环

    循环:循环操作某一个功能(执行某段代码) 四要素: 循环初始值 循环条件 状态改变 循环体       for  穷举     迭代            i++;等价于i=i+1;  ++I;等价于 ...

  9. Win7、Ubuntu双系统正确卸载Ubuntu系统

    正确的删除ubuntu方法如下: 第1步,修复MBR 1.进入win7,下载个软件MbrFix,放在C:windowssystem32文件夹中 2.点击开始>所有程序>附件>命令提示 ...

  10. 在spark-shell里用集群方式启动时加入用户需要的jar

    希望在spark-shell中测试集群方式的elasticsearch操作, # 1 首先下载相关的jar # 2 启动spark-shell时用--jars ./bin/spark-shell –m ...