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ố 28 kết quả

Đề tài: Tìm Handle của cửa sổ tắt máy trên Windows như thế nào?

  1. #1
    Ngày gia nhập
    10 2008
    Nơi ở
    sài gòn
    Bài viết
    422

    Mặc định Tìm Handle của cửa sổ tắt máy trên Windows như thế nào?

    định làm như lời của TQN trong đây
    có thể Hook để tìm thời điểm chuẩn bị tắt máy không

    VD ở đây mình muốn tìm class của cửa sổ tắt máy để chặn việc tắt máy lại,nhưng do cửa sổ đó là cửa sổ tắt máy nên windows nó block hết bàn phím và chuột vì thế không thế lấy được class,ai có cách gì giúp mình không
    Đã được chỉnh sửa lần cuối bởi haian : 11-01-2009 lúc 11:21 AM.

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

    Ý tui chỉ là giải pháp thôi. Để có thời gian, tui sẽ tìm hiểu và debug xem cái window shutdown đó từ đâu ra, hoạt động ra sao.
    Trước mắt cậu đọc về GINA thử xem có đề cập đến vấn đề này không ?
    Còn cách FindWindow thì tệ lắm, đừng làm thử, cố làm tới nơi tới chốn thử đi haian !
    Đã được chỉnh sửa lần cuối bởi TQN : 11-01-2009 lúc 07:26 PM.

  3. #3
    No Avatar
    ngocbig Khách

    Mình đã tìm ra cách lấy handle của Dialog tắt máy rồi haian ạ. Mới đầu mình tưởng phức tạp hóa ra lại cực kỳ đơn giản.
    Bạn chạy code này và mở của sổ turn off đó nhé.
    C Code:
    1. #include <iostream>
    2. #include <Windows.h>
    3.  
    4. int main()
    5. {
    6.     HWND hwnd;
    7.     RECT r,wndRect;
    8.     POINT p;
    9.     int i=20,width;
    10.     while (i>0)
    11.     {
    12.         GetCursorPos(&p);
    13.         hwnd = WindowFromPoint(p);
    14.         GetClientRect(hwnd,&r);
    15.         GetWindowRect(hwnd,&wndRect);
    16.         width=(r.right-r.left);
    17.         std::cout<<"hwnd:"<<(int)hwnd
    18.             <<" - width:"<<width<<std::endl;       
    19.         if(width==312)break;
    20.         i--;
    21.         Sleep(500);
    22.     }
    23.     if(i)
    24.     {
    25.         SetWindowLong(hwnd,GWL_STYLE,WS_OVERLAPPEDWINDOW|WS_VISIBLE);
    26.         UpdateWindow(hwnd);
    27.         SetWindowPos(hwnd,
    28.             HWND_TOPMOST,
    29.             wndRect.left,
    30.             wndRect.top,
    31.             wndRect.right-wndRect.left,
    32.             wndRect.bottom-wndRect.top+30,
    33.             SWP_NOMOVE);
    34.  
    35.     }
    36.     return 0;
    37. }
    Đã được chỉnh sửa lần cuối bởi ngocbig : 12-01-2009 lúc 01:02 PM.

  4. #4
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Thế nếu bật Task Manager > Shutdown > Turn Off thì sao các bác nhỉ

  5. #5
    No Avatar
    ngocbig Khách

    Thế nếu bật Task Manager > Shutdown > Turn Off thì sao các bác nhỉ
    Hi. Haian chỉ muốn lấy đc hwnd của cái cửa sổ đó thôi mà

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Mặc định Tìm Handle của cửa sổ tắt máy trên Windows như thế nào?

    Nói chung là giải pháp bắt sự kiên click button Turn Off như của bác TQN có vẻ không ổn lắm.

  7. #7
    Ngày gia nhập
    10 2008
    Nơi ở
    sài gòn
    Bài viết
    422

    GINA là File DLL chuyên chịu trách nhiệm khởi động máy tính,nhưng làm sao mà em có thể debug nó đây

  8. #8
    No Avatar
    ngocbig Khách

    GINA là File DLL chuyên chịu trách nhiệm khởi động máy tính,nhưng làm sao mà em có thể debug nó đây
    Remote debug cậu ạ. Dùng WinDbg có chế độ debug kernel từ máy khác. Syser cũng có kernel debug mode
    Đã được chỉnh sửa lần cuối bởi ngocbig : 11-01-2009 lúc 11:06 PM.

  9. #9
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Chắc screen capture trước khi show shutdown dialog rồi sau đó lấy làm background cho một cái form nào đó và để FullScreen, và làm xám dần cái hình trên form.
    Phá toái hư không - Bạch nhật thăng thiên.

  10. #10
    No Avatar
    ngocbig Khách

    Chắc chắn là đc capture rồi. Khi move cái dialog lên góc trên thì vẫn thấy hình của nó ở vị trí cũ

    Đã được chỉnh sửa lần cuối bởi ngocbig : 11-01-2009 lúc 10:46 PM.

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

  1. Thiết kế giao diện giống Windows Explorer trên Windows XP như thế nào?
    Gửi bởi thptquochoc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 27-03-2013, 12:22 PM
  2. Lấy handle của nhiều control trên chương trình khác như thế nào ?
    Gửi bởi kid1412qt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 08-05-2012, 11:13 PM
  3. Lấy handle Control trong Windows bằng sử dụng C#?
    Gửi bởi tomahutbui trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 30-03-2011, 11:13 PM
  4. Lấy handle Control trong Windows bằng sử dụng C#?
    Gửi bởi tomahutbui trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 27-03-2011, 07:23 PM
  5. Phân Biệt Handle và HWND trong lập trình Windows
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 8
    Bài viết cuối: 05-01-2009, 09:11 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