Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 24 kết quả

Đề tài: [VC++] Viết chương trình xóa icon của IDM

  1. #1
    Ngày gia nhập
    08 2006
    Bài viết
    60

    Mặc định [VC++] Viết chương trình xóa icon của IDM

    IDM là internet dowloadmanager.
    Tui muốn xóa icon của nó ra khỏi system tray. Hiện tại, tui chỉ có thể xóa icon do tui tạo ra thôi! Còn icon của người khác thì làm 0 được. . Do mỗi lần xóa thì phải cung cấp hwnd mà tui làm sao biết hwnd của IDM. Hiện tui đang dùng hàm shell no tify để làm chuyện này
    Tui tính đóng process explorer.exe . Nhưng nếu làm vậy thì 1 số chương trình khác sẽ mất luôn icon.

    Ai biết chỉ dùm! Cảm ơn nhiều!

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Muốn biết cán của các chương trình khác. Thử dùng cái Microsoft Spy++ kèm sẵn trong bộ Visual studio xem.

    Việc đóng cái process_explorer.exe là không hiệu quả. Trước đây Dreaminess cũng đã từng thử rồi. Mà định đóng cái này làm mục đích gì vậy? Không tính viết Virus đó chứ. He he
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    07 2006
    Bài viết
    166

    Vừa đọc qua, chẳng hiểu gì cả :((

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    Rừng Amazon
    Bài viết
    101

    Trong VS có đi kèm cái tool Spy++ như Dreamess nói đó. Dùng cái tool đó kéo cái ô giống như điểm ngắm của súng ý, thả vào cái cửa sổ của IDM. Sau đó nó sẽ cung cấp thông tin về cái cửa sổ đó bao gồm HWND, ClassName, ... nhưng ta chú ý nhất đến cái ClassName. Sau đó ta viết chương trình dùng hàm FindWindows với cái ClassName đó để lấy HWND của cái IDM. Sau đó làm thế nào thì tùy.

  5. #5
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    cũng không hiểu ý đồ của tác giả :((

  6. #6
    Ngày gia nhập
    08 2006
    Bài viết
    60

    Mặc định [VC++] Viết chương trình xóa icon của IDM

    cám ơn mọi người nhe!
    Có vẻ vinhhie47 và nguyentuan2 chưa bao giờ "phá phách" nên 0 hiểu thôi!
    Hai người chắc là biết cái IDM chứ gì ? Khi chạy, thằng này luôn có icon ở system tray. Chỗ này được chứ ?
    Bây giờ, tui muốn viết chương trình xóa icon đó đi! Tui coi MSDN thì chỉ có 1 hàm duy nhất có thể "đụng chạm" tới icon là shellnotify. Hàm này cần đối số là HWND. Như vậy làm sao biết được HWND của IDM ?
    Nếu mình đóng process explorer.exe thì icon của số chương trình sẽ 0 hiện ở system tray nữa! Trong số này, có IDM. Nhưng tui 0 thích cách này vì sẽ làm mất luôn icon của các chương trình khác. Tui muốn chỉ icon của IDM mất mà thôi!
    ctr + alt+ del , process, chọn explorer.exe, end process. Vinhhien47 và nguyentuan2 sẽ hiểu ý tui. Khi đóng tiến trình này thì Window sẽ tự gọi lại, nếu nó 0 tự làm thì mình làm . Sau khi, thằng này được gọi lên---> icon của 1 số chương trình sẽ 0 xuất hiện ở system tray nữa, mặc dù nó vẫn chạy.

  7. #7
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    yêu cầu thì đã hiểu còn mục đích thì chưa rõ!

    theo mình thì đúng là phải dùng Shell_NotifyIcon. Hàm này có 1 đối số trong đó có HWND của cửa sổ sở hữu cái icon trên taskbar

    Để biết được Handle này thì sử dụng tool Spy, đây chỉ là cách làm bằng tay.
    Còn coding, mình nghĩ bạn có thể dùng
    ::FindWindow(tên lớp, tên cửa sổ)
    ví dụ
    HWND hwnd = ::FindWindow(NULL, "Internet Download Manager x.y");

    Nếu không muốn chỉ rõ tên lớp thì để NULL, vì tên lớp khá khó nhớ, dễ nhất là mở Spy ra xem tên lớp trong đó, chính là chuỗi cuối cùng của mỗi handle

  8. #8
    Ngày gia nhập
    08 2006
    Bài viết
    60

    chời ! VC có cái hàm Findwindow hả ? Vậy là tui tưởng là xài cái chức năng Findwindow của Spy
    Tui mới coi kĩ hơn nữa thì còn 1 thông số nữa! Đó là handle của icon! Trời ơi! khổ quá!
    Còn yêu cầu mà 0 hiểu hả ? Không rõ ? Tui đã xài thử một số chương trình nhưng tụi này chỉ có khả năng hide icon mà thôi! Tức là nó dồn lại! Muốn xem thì nhấn mũi tên ở system tray. Ý của tui: xóa icon luôn!

  9. #9
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    Ừ, xóa icon luôn thì dùng Shell_NotifyIcon(NIM_DELETE, ...

    hình như không cần handle của icon trong trường hợp xóa, bạn thử kiểm tra lại xem

    ::Findwindow là Win API

    có thể dùng EnumWindow hay vài hàm liên quan khác

  10. #10
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Phải cần Handle và uID để định nghĩa cái structure NIM_DELETE. Hàm Shell này sử dụng gián tiếp mà. Nếu có dùng thì dùng hàm FindWindowEx mới được, nhưng chỉ cần xóa Icon của IDM thì không cần thiết phải dùng đến hàm FindWindowEx này.

    Dreaminess dạo này không dùng cái IDM không nhớ nó thế nào. Nếu nó dùng một chương trình con để hiện cái Icon (System Tray Icon) thì chỉ cần đóng cái đó đi là được. Có thể không cần đao to búa lớn làm gì. Thường một chương trình lớn họ có tùy chọn để đóng System Tray Icon mà.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

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

  1. Làm sao để tạo icon cho file exe của mình trong resoure icon?
    Gửi bởi luongtankhang123 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 25-01-2012, 07:54 PM
  2. code hiển thì icon từ 1 folder để chèn vào bài viết.
    Gửi bởi conbogamco6590 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 25-08-2011, 06:08 PM
  3. Graphic Thắc mắc Icon bị nhòe khi chọn Large Icon trong ListView
    Gửi bởi manocanh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 16-04-2011, 11:36 PM
  4. Viết code cho menu view để xem file dưới dạng thumbnail, large icon... bằng menustrip
    Gửi bởi Sentenced trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 30-08-2009, 11:18 AM
  5. [Icon] Bộ icon hỗ trợ visual studio 2005
    Gửi bởi nhc1987 trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 4
    Bài viết cuối: 13-05-2008, 10:41 AM

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