30/09/2018, 16:47

Cần giúp về Class process trong C#

Em cần viết một chương trình truyền 2 giá trị vào một file exe, và lấy ra kết quả là là tổng 2 số đó. File exe của em đã có chức năng tính tổng rồi. Em chỉ biết là dùng class Process thôi ạ. Có ai biết kĩ thuật này gọi là gì không ạ. Giúp em với.
Em cảm ơn.

Phạm Hoàng Tuấn viết 19:04 ngày 30/09/2018

Theo a tìm hiểu thì kỹ thuật này thường dùng để gọi chạy 1 chương trình khác trong C#, ví dụ e có thể mở trình duyệt GoogleChorme và search 1 từ khóa nào đó bằng C#.
A k hiểu mục đích của e ở đây là gì, tại sao fai làm 1 chương trình chỉ để tính tổng, thường trong các trường hợp vậy, ng ta sẽ làm 1 thư viện sau đó xuất ra 1 file có đuôi là .dll để sử dụng lại.
Nhưng a vẫn demo cho e thấy về Process trong C#.

Project 1 sẽ là chương trình tính tổng, e truyền 2 số vào và trả về tổng của 2 số đó :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoStrartProcess_Lib
{
    class Program
    {
        static int Main(string[] args)
        {
            int iArgv1 = Convert.ToInt32(args[0]);
            int iArgv2 = Convert.ToInt32(args[1]);
            return iArgv1 + iArgv2;
        }
    }
}

Project 2 sẽ sử dụng Process để truyền tham số và file .exe và nhận giá trị trả về :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace DemoStartProcess_CallLib
{
    class Program
    {
        static void Main(string[] args)
        {
            Process process = new Process();
            process.StartInfo.FileName = @"E:\BlogicSystems\DemoStrartProcess_Lib\DemoStrartProcess_Lib\bin\Debug\DemoStrartProcess_Lib.exe";
            process.StartInfo.Arguments = "1 2";
            process.Start();
            process.WaitForExit();
            int resuilt = process.ExitCode;
        }
    }
}

Hy vọng giúp dc e !

nguyenhoangvi000 viết 18:54 ngày 30/09/2018

Anh ơi cho em hỏi nếu như file exe tạo bằng C++ thì cũng tương tự phải không ạ?
Em cảm ơn.

Phạm Hoàng Tuấn viết 18:55 ngày 30/09/2018

E làm thử xem ? ý tưởng có lẽ e hiểu rồi, a cũng chưa thử nữa, mà a ngĩ là dc. hi

nguyenhoangvi000 viết 18:48 ngày 30/09/2018

Anh ơi em thử truyền vào hàm void main(string arg[]) trong C++ thì không được hay do cơ chế truyền biến của C++ khác với C#

Bài liên quan
0