C# 关闭本程序并打开新程序

C# 关闭本程序并打开新程序,第1张

新开一个线程,在线程里面打开外部程序,在本线程干掉自己!

WinForm版本:

new System.Threading.Thread(() =>

System.Diagnostics.Process.Start(@"C:\Program Files\Tencent\QQ\Bin\QQ.exe")).Start()

Application.Exit()

WPF版本:

new System.Threading.Thread(() =>

System.Diagnostics.Process.Start(@"C:\Program Files\Tencent\QQ\Bin\QQ.exe")).Start()

Application.Current.Shutdown()

#include <iostream>

#include <windows.h> // 这个必须要有 

#include <string> // 字符串处理函数 

using namespace std

int main() {

    char szFileName[256] = "" // 待会存完整路径 

    string strAnotherExe = "pipe.exe" // 要执行的另外一个exe的名称 

    

    // 获得程序的运行路径,包含本程序名 

    GetModuleFileNameA(NULL, szFileName, 256)

    string strFileName = szFileName // 用string处理比较方便

    

    // 删掉本程序名,只保留路径

    size_t slashIndex = strFileName.rfind('\\')

    strFileName.erase(slashIndex+1)

    

    // 拼接要启动的程序的完整文件名

    strFileName += strAnotherExe

    cout<<"Another exe path : "<<strFileName<<endl

    

    // 在当前程序中启动外部程序,输出会进入本程序

    //system(strFileName.c_str()) 

    // 在新的窗口中打开外部程序

    strFileName = "start "+strFileName

    system(strFileName.c_str())

    

    return 0

}

主要思路是GetModuleFileNameA获得程序运行时的绝对路径,包含程序名。

因此只要删掉程序名,然后拼接上另外的一个程序名就可以了。

用system("程序名")可以启动一个子进程,然后主进程卡在system处,等子进程结束,主进程才继续往下走。

用system("start 程序名")可以在新窗口中打开进程,不等子进程结束,主进程就继续往下走。

PS:如果编译器提示没有system函数,请包含stdlib.h头文件。

企业并购的基本流程为:明确并购动机与目的制定并购战略成立并购小组选择并购顾问寻找和确定并购目标聘请法律和税务顾问与目标公司股东接洽签订意向书制定并购后对目标公司的业务整合计划开展尽职调查谈判和起草并购协议签约、成交。企业并购的步骤包括战略决策、并构准备、并构实施和公司融合四个过程,具体为:(一)战略决策:明确并购动机和目的并且进行市场观察和调查。(二)准备:1.锁定目标。2.确定收购方式。3.成立内部并购小组。4.签订并购意向书。(三)并构实施1.对收购项目进行初步评估,包括行业市场、目标公司的营业和盈利、对收购后的设想和预期值、资金来源和收购程序,初步确定收购定价。2.开展尽职调查。3.提出最终评估报告。4.谈判、签约。5.资产移交。(四)融合。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11054663.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存