반응형

* C# 다른 응용 프로그램 실행 시키기 예제...

 

메인화면

전체 소스 코드

Form1.cs

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Runtime.InteropServices;

namespace CSharp_API다른프로그램실행시키기
{
    public partial class Form1 : Form
    {
        [DllImport("Shell32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd);

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //탐색기 실행하기...
            ShellExecute(this.Handle, "open", "explorer.exe", "", "", 4);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //계산기 실행하기...
            ShellExecute(this.Handle, "open", "calc.exe", "", "", 4);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //실행 시킬 파일 열기...
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "EXE File(*.exe) | *.exe";

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                ShellExecute(this.Handle, "open", ofd.FileName , "", "", 4);
            }

        }
    }
}

 

using System.Runtime.InteropServices; <- 선언 후 

아래와 같이 API 함수를 선언 해 줍니다.

[DllImport("Shell32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd);

 

* 예제 결과

 

 

마지막 실행 파일 오픈 버튼 : 바로기가 또는 EXE 파일을 오픈 하여 그 프로그램이 실행 되는 모습을 보실 수 있습니다.

 

 

반응형

+ Recent posts