Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Cách kill một process trong lập trình C#?

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    27

    Mặc định Cách kill một process trong lập trình C#?

    Các bạn cho mình hỏi chút! Mình muốn viết một chương trình C# hiển thị các Process file Word đang mở và lựa chọn tắt từng file Word thì viết như thế nào??? Bạn nào biết xin giúp đỡ!
    Thanks!

  2. #2
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Visual C# Code:
    1.             Process[] processes = Process.GetProcessesByName("word");
    2.             if (processes.Length > 0)
    3.             {
    4.                     foreach (var process in processes )
    5.                     {
    6.                         process.Kill();
    7.                     }
    8.             }

  3. #3
    Ngày gia nhập
    05 2011
    Bài viết
    43

    bạn thử thế này xem
    Code:
    Process.GetProcessById(id).Kill();
    // id: id của chương trình trong Process

  4. #4
    Ngày gia nhập
    03 2011
    Bài viết
    27

    Cảm ơn các bạn nhiều! Nhưng ý của mình là mình muốn mở nhiều file word cùng lúc rồi tắt đi một file trong số những file word đó thôi! Chứ mấy cách trên thì nó tắt hết tất cả các file!

  5. #5
    Ngày gia nhập
    07 2010
    Bài viết
    99

    muốn kill process thì bạn xác định ID của process trước rồi dùng cách mà mấy bạn đã làm ở trên là được mà.
    Never try, never know

  6. #6
    Ngày gia nhập
    03 2011
    Bài viết
    27

    Mặc định Cách kill một process trong lập trình C#?

    Trích dẫn Nguyên bản được gửi bởi nhquynam Xem bài viết
    muốn kill process thì bạn xác định ID của process trước rồi dùng cách mà mấy bạn đã làm ở trên là được mà.

    Nhưng quan trọng một điều là có hàm nào để xác định id của từng file không bạn!

  7. #7
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Bạn có thể xác định thông qua window text của Word. Vì window text của Word có chứa tên file *doc hoặc *docx mà nó đang mở.

    Có thể sử dụng :
    Visual C# Code:
    1. [DllImport("user32.dll", SetLastError = true)]
    2. static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

    Và :

    Visual C# Code:
    1. [DllImport("user32.dll", SetLastError=true)]
    2. static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

    Để có được ProcessID.

  8. #8
    Ngày gia nhập
    07 2010
    Bài viết
    99

    Trích dẫn Nguyên bản được gửi bởi mrjone_07 Xem bài viết
    Nhưng quan trọng một điều là có hàm nào để xác định id của từng file không bạn!
    bạn có thể duyệt qua tất cả các process của MS Word, dựa vào MainWindowTitle của nó để xử lý.

    Visual C# Code:
    1. foreach (Process prc in Process.GetProcessesByName("WINWORD"))
    2. {
    3.     if (prc.MainWindowTitle.Contains("something to compare"))
    4.     {
    5.         //Xử lý ở đây
    6.         prc.Kill();
    7.     }
    8. }
    Never try, never know

  9. #9
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Trích dẫn Nguyên bản được gửi bởi nhquynam Xem bài viết
    bạn có thể duyệt qua tất cả các process của MS Word, dựa vào MainWindowTitle của nó để xử lý.

    Visual C# Code:
    1. foreach (Process prc in Process.GetProcessesByName("WINWORD"))
    2. {
    3.     if (prc.MainWindowTitle.Contains("something to compare"))
    4.     {
    5.         //Xử lý ở đây
    6.         prc.Kill();
    7.     }
    8. }
    Cách này tuyệt hơn cách của mình

  10. #10
    Ngày gia nhập
    03 2011
    Bài viết
    27

    Cảm ơn các bạn nhiều để mình thử xem sao!

    Cho mình hỏi cái này nữa! Có cách nào mình lấy luôn cả đường dẫn file Word đó ra được ko bạn!
    Đã được chỉnh sửa lần cuối bởi mrjone_07 : 11-05-2012 lúc 11:44 PM.

Các đề tài tương tự

  1. Gọi và đóng một exe file khi click button trong C# (kill process) như thế nào?
    Gửi bởi tiendv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 17-07-2013, 10:55 AM
  2. Làm sao để ẩn một process bằng c# mà không phải kill process đó
    Gửi bởi thanhctim trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 17-10-2012, 02:20 PM
  3. How to kill timer from other process ?
    Gửi bởi langman trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 17-08-2010, 08:46 PM
  4. Kill Process bằng việc Kill toàn bộ thread của Process đó trên VC++ như thế nào?
    Gửi bởi AdminPro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 22-05-2009, 05:44 PM
  5. Cách chống Kill Process như thế nào?
    Gửi bởi vduck trong diễn đàn Lập trình Virus & Anti-Virus
    Trả lời: 3
    Bài viết cuối: 10-02-2009, 09:43 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn