C# Winform 脱离 Framework (二)
第一个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 (二)的更多相关文章
- C# Winform 脱离 Framework (一)
Linker是一个命令行工具,它以将我们的.net程序生成可脱离.net framework环境运行的程序 . Linker不支持中文的路径,在程序中也不能有中文的标识符. Linker 有2种部署方 ...
- SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework
1.调用前组装参数 2.调用发送信息服务脚本 .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...
- 简单方法打包.net程序集脱离framework
最近业余捣鼓monogame,自然而然就关注到了.net程序脱离framework发布的问题上了, 度娘,谷歌娘 都经过一番查找,无非分为如下几类方法: 1.直接使用mono运行时,附带 bin.li ...
- winform窗体(二)——控件
一.窗体的事件 每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码 位置:1)右键属性→事件→load 双击进入 2)双击窗体任意一个位置进入 删除事件:先将事件页面里面的挂好的事件删除,再删 ...
- C# WinForm多线程(二)ThreadPool 与 Timer
本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer 一 ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个 ...
- C# PDF、winform 生成解析二维码
PDF 生成.解析二维码 界面样式: 第一步:下载ThoughtWorks.QRCode.dll 类并引用 地址 http://download.csdn.net/detail/liwb1987/8 ...
- Django Rest Framework(二)
•基于Django 先创建一个django项目,在项目中创建一些表,用来测试rest framework的各种组件 models.py class UserInfo(models.Model): &q ...
- Entity Framework二、 模型优先 ,ObjectContext类
https://www.cnblogs.com/ejiyuan/archive/2009/05/27/1490786.html 1.ObjectContext 封装.NET Framework和数据库 ...
- Winform GDI+绘图二:绘制旋转太极图
大家好,今天有时间给大家带来Winform自绘控件的第二部分,也是比较有意思的一个控件:旋转太极图. 大家可以停下思考一下,如果让你来绘制旋转的太极图,大家有什么样的思路呢?我今天跟大家展示一下,我平 ...
随机推荐
- 电脑技巧:Win8/Win10无法打开这个应用|无法使用内置管理员账户的完美解决方法
现在装win10系统的同伴越来越多了,相比于win7,win10在某些设置方面也有些变化,比如我们在使用win8或者win10时,会碰到如图所示的对话框: Windows10/Windows8无法使用 ...
- css中 Span 元素的 width 属性无效果原因及多种解决方案
先运行下程序看下: <span style='width:300px;'>123</span> 输出:123 可以看到 span会自动根据包含的内容来变化宽度 这是因为:对于内 ...
- uC/OS-II内存(OS_mem)块
/*************************************************************************************************** ...
- Windows XP SP3 Professional 微软(MSDN)官方原版系统
Windows XP SP3 Professional 微软(MSDN)官方原版系统 Windows XP(版本号:5.1,开发代号:Whistler)是微软公司推出供个人电脑使用的操作系统,其RTM ...
- mysql锁
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...
- vim 快捷键 以及技巧
[root@centos01 biji]# vim + 1.txt 打开文件,光标定位到最后一行[root@centos01 biji]# vim +5 1.txt 打开文件,光标定位到第5行[roo ...
- eclipse里怎么用命令行输入args
eclipse中给java应用传args参数的方法如下:1.先写好Java代码,比如文件名为IntArrqy.java:2.在工具栏或菜单上点run as下边有个Run Configuration:3 ...
- php 生成随机字符串 abcdeft....789
) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str = &quo ...
- 获取ip的ip138.com
代码: function get_onlineip() { $ch = curl_init('http://iframe.ip138.com/ic.asp'); curl_setopt($ch, CU ...
- winform的扩展的带有截图功能picturebox
using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using Sys ...