如何截獲並替換系統最小化功能

2021-07-05 05:18:14 字數 940 閱讀 6210

方法一:捕獲對話方塊的wm_syscommand訊息,在onsyscommand函式中如下實現即可:

void ctestlrcdlg::onsyscommand(uint nid, lparam lparam)

else

}

上面例項是將對話方塊最小化功能替換為對話方塊隱藏,如果主從對話方塊不是父子關係,就可以實現對主對話方塊隱藏,而從對話方塊顯示的效果,同時可以加乙個工作列功能,實現對主對話方塊的顯示。

優缺點分析:此方法可以同時捕獲對話方塊標題欄上的按鈕和系統選單中的按鈕事件,同時可以截斷原按鈕的功能。

方法二:重寫pretranslatemessage函式

bool ctestlrcdlg::pretranslatemessage(msg* pmsg) 

else if ( ( pmsg->wparam & 0xfff0) == sc_maximize )

else if ( ( pmsg->wparam & 0xfff0) == sc_close )

}return cdialog::pretranslatemessage(pmsg);

}

優缺點分析:此方法只能對系統選單中的事件進行響應,無法捕獲對話方塊標題欄上的按鈕

方法三:響應wm_size訊息(onsize函式)

void ctestlrcdlg::onsize(uint ntype, int cx, int cy)

}

優缺點分析:此方法可以同時捕獲對話方塊標題欄上的按鈕和系統選單中的按鈕事件,但是不能阻止原按鈕的功能

類似的還有:

sc_close:關閉按鈕

sc_maximize:最大化按鈕

Android 手機替換系統應用

開發中我們一般使用debug的apk包,但是有時需要安裝release包,如果是普通的應用可以直接刪除,但是如果是系統應用則很難刪除,本文主要介紹在ubuntu系統下替換系統android手機中的系統應用。由於目前ubuntu系統預設的adb最高版本是adb v1.0.31,因此本文分兩個部分介紹如...

safe rm替換系統的rm

替換系統的rm,以防出現rm rf 這樣的毀滅性錯誤。系統centos7系統 wget c 解壓 tar zxf safe rm 0.12.tar.gz cd safe rm 0.12 把safe rm替換系統的rm mv safe rm usr local bin rm chown root ro...

Android 替換系統檔案的方法

adb root取得root許可權,再adb remount 使用ls l可以檢視當前目錄中的檔案及屬性 使用rm filename.apk刪除系統應用程式 按ctrl c退出adbshell介面 輸入adb shell進入到adbshell介面 輸入chmod 777 main.apk修改替換後的...