Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Làm ẩn cửa sổ ứng dụng Console trong lập trình C#

  1. #1
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Smile Làm ẩn cửa sổ ứng dụng Console trong lập trình C#

    - Đầu tiên tạo 1 ứng dụng Console Application
    - Thêm vào namespace sau nhé:
    Visual C# Code:
    1. using System.Runtime.InteropServices;

    - Bây giờ, trong code editor, thêm vài dòng lệnh cơ bản sau:
    Visual C# Code:
    1.         [DllImport("user32.dll")]
    2.         public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
    3.         [DllImport("user32.dll")]
    4.         static extern bool ShowWindow(IntPtr hWnd, int cmdShow);
    5.  
    6.         //tao phuong thuc lam an cua so Console
    7.         public static void HideConsole(bool visible, string tittle)
    8.         {
    9.             IntPtr hWnd = FindWindow(null, tittle);
    10.             if (hWnd != IntPtr.Zero)
    11.             {
    12.                 if (!visible)
    13.                     ShowWindow(hWnd, 0);
    14.                 else
    15.                     ShowWindow(hWnd, 1);
    16.             }
    17.         }

    Sau khi đã có phương thức ẩn cửa sổ rồi, thì còn chờ gì nữa, mang vào Main() mà xài
    Visual C# Code:
    1.         static void Main(string[] args)
    2.         {
    3.             Console.Title = "My Console Application";
    4.             HideConsole(false, Console.Title);
    5.         }

    OK, nhấn F5 để thấy kết quả.

    @^ ^, chương trình đã được ẩn khỏi taskbar rồi, "làm sao tui tắt nó đây?". Muốn tắt nó thì chỉ còn cách vào task manager thôi
    Thật ra, thủ thuật này hỗ trợ cho Windows Forms, nó đi kèm với NotifyIcon control. Khi người dùng nhấn nút Minimize thì chương trình sẽ ẩn khỏi taskbar, thu gọn thành 1 icon ở system tray, muốn cho nó xuất hiện trở lại thì nhấn vào icon này. Các bạn thử làm đi nhé.

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hà nội
    Bài viết
    204

    Thực ra đây cũng chỉ là dùng các hàm API của window, mà window thì có cả nghìn hàm API ấy chứ, mỗi cái có 1 chức năng, cái nào cũng thú vị cả, vậy ko nên viết nhiều tutorial về dùng riêng lẻ các hàm API mà nên hướng dẫn làm thế nào để sử dụng hàm API trong C#, rồi giới thiệu về các hàm API thôi, ko cần viết code.
    Life:\> dir

  3. #3
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi hoanglinh9466 Xem bài viết
    Thực ra đây cũng chỉ là dùng các hàm API của window, mà window thì có cả nghìn hàm API ấy chứ, mỗi cái có 1 chức năng, cái nào cũng thú vị cả, vậy ko nên viết nhiều tutorial về dùng riêng lẻ các hàm API mà nên hướng dẫn làm thế nào để sử dụng hàm API trong C#, rồi giới thiệu về các hàm API thôi, ko cần viết code.
    Mình mới mày mò API được 1 tuần thôi, làm gì đủ kinh nghiệm để post 1 đống hàm API lên chứ
    Về việc sử dụng thì dùng namespace: using System.Runtime.InteropServices;
    Sau đó dùng [DllImport("<tên thư viện liên kết động>")]

  4. #4
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Console API có hàm GetConsoleWindow, lấy trực tiếp HWND của console window. Hàm này lúc trước là hàm undocument của MS, sau cũng lòi ra. Thông tin về nó trên MSDN.

  5. #5
    Ngày gia nhập
    05 2007
    Bài viết
    55

    Neverland tìm tòi được nhiều API rất hay. Song song với tìm tòi đó bạn thử tìm luôn những chức năng tương tự .net có hỗ trợ ko. Đôi khi sẽ đạt những điều rất thú vị. Cách học đó tôi thường gọi theo thuật ngữ từ y học là "Đông Tây kết hợp".

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

  1. Lỗi ghi đè phương thức Console.WriteLine() trong C# Console
    Gửi bởi Boyloichoi27 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 02-05-2013, 08:32 PM
  2. Hỏi cách sử dụng mảng trong C#(console)
    Gửi bởi voluong0thaicuc trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 8
    Bài viết cuối: 10-02-2012, 06:43 PM
  3. Algorithm sự khác nhau giữa Console.readLine và Console.readKey ; giữa Console.write và console.writeLine
    Gửi bởi trangkizd_91 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-10-2011, 05:48 PM
  4. Close console trên C# | Giúp mình về Console Application trên C# với?
    Gửi bởi letheson trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 15-05-2009, 12:28 AM
  5. Dừng màn hình trong ứng dụng console
    Gửi bởi dieucay555 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 31-05-2008, 10:54 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