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.

1 Like

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 !

4 Likes

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. :smile:

1 Like

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

1 Like

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#

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?