因為受到經濟危機的影響,我在 bokee.com 的部落格可能隨時出現無法訪問的情況;因此將2023年到2023年間在 bokee.com 撰寫的部落格文章全部遷移到 csdn 部落格中來,本文正是其中一篇遷移的文章。
因為最近我的不良網頁過濾引擎--上帝之手的開發進入實際開發階段,因此開始了很多方面的系統程式設計比如說程序隱藏,視窗隱藏等等,因為這是監控類的軟體,最好是執行在使用者不知情的情況下,所以最好是把視窗隱藏起來,然後通過hotkey來呼喚.在如何實現視窗隱藏的時候,我可以說是費盡周章.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一開始,我想到的是在cmainframe裡的oncreate寫上一句this->showwindow(sw_hide);,問題倒是得到了解決,但是卻出現一閃而過的現象,的確是很不完美.然後我開始在網上找資料,但都有這樣的問題,而且有關於視窗隱藏的很多都是基於dialog的.我決定自己再研究研究.
這麼說來就是在執行這個語句之前視窗已經顯示出來了.因此我在這個語句前面的如下**段設了斷點:
if (!processshellcommand(cmdinfo))
return false;
跟蹤進去,發現: {
bool bresult = true;
switch (rcmdinfo.m_nshellcommand)
{case ccommandlineinfo::filenew:
///.
............
break;
// if we've been asked to open a file, call opendocumentfile()
case ccommandlineinfo::fileopen:
.......................
break;
// if the user wanted to print, hide our main window and
// fire a message to ourselves to start the printing
case ccommandlineinfo::fileprintto:
case ccommandlineinfo::fileprint:
m_ncmdshow = sw_hide;
assert(m_pcmdinfo == null);
opendocumentfile(rcmdinfo.m_strfilename);
m_pcmdinfo = &rcmdinfo;
m_pmainwnd->sendmessage(wm_command, id_file_print_direct);
m_pcmdinfo = null;
bresult = false;
break;
// if we're doing dde, hide ourselves
請注意紅色的那句,我發現case ccommandlineinfo::filenew:時是沒有這執行這一句的,因此我想能不能通過這一句實現視窗隱藏呢?
於是我在
if (!processshellcommand(cmdinfo))
return false;
的麵麵加上一句m_ncmdshow = sw_hide;
然後編譯,執行,視窗不見了!!!也沒有出現一閃而過的情況,我成功了!
VC MFC 一條語句實現程式執行時隱藏視窗
因為受到經濟危機的影響,我在 bokee.com 的部落格可能隨時出現無法訪問的情況 因此將2005年到2006年間在 bokee.com 撰寫的部落格文章全部遷移到 csdn 部落格中來,本文正是其中一篇遷移的文章。因為最近我的不良網頁過濾引擎 上帝之手的開發進入實際開發階段,因此開始了很多方面的...
2 2 執行一條SQL語句
對資料庫執行一條sql語句 1 mixed mysqli query mysqli link,string query,int resultmode mysqli store result 1 對於insert,update,delete等不會返回資料的sql語句,在執行沒有錯誤時返回true 2 ...
一條語句讓程式崩潰
問題 用一條語句讓程式崩潰?面試官答案 int p 0 p 1 1.int p 0 p指向了系統專用區了 p 1 不能修改其內容 使用非法記憶體和指標都這樣 a.int 0x0 0 b.int lp int 0x80000000 lp 0 2.void f 不明白啊 3.void f 無窮遞迴 類似...