//一、開啟cd-rom
mcisendstring("set cdaudio door open wait",null,0,null);
//二、關閉cd_rom
mcisendstring("set cdaudio door closed wait",null,0,null);
//三、關閉計算機
osversioninfo osversioninfo; //包含作業系統版本資訊的資料結構
osversioninfo.dwosversioninfosize = sizeof(osversioninfo);
getversionex(&osversioninfo); //獲取作業系統版本資訊
if(osversioninfo.dwplatformid == ver_platform_win32_windows)
//四、重啟計算機
typedef int (callback *shutdowndlg)(int); //顯示關機對話方塊函式的指標
hinstance hinst = loadlibrary("shell32.dll"); //裝入shell32.dll
shutdowndlg shutdowndialog; //指向shell32.dll庫中顯示關機對話方塊函式的指標
if(hinst != null)
//五、列舉所有字型
logfont lf;
lf.lfcharset = default_charset; // initialize the logfont structure
strcpy(lf.lffacename,"");
cclientdc dc (this);
// enumerate the font families
::enumfontfamilie***((hdc) dc,&lf, (fontenumproc) enumfontfamproc,(lparam) this,0);
//列舉函式
int callback enumfontfamproc(lpenumlogfont lpelf,
lpnewtextmetric lpntm,dword nfonttype,long lparam)
//其中m_ctlfontlist是乙個列表控制項變數
//六、一次只執行乙個程式例項,如果已執行則退出
if( findwindow(null,"程式標題")) exit(0);
//七、得到當前滑鼠所在位置
cpoint pt;
getcursorpos(&pt); //得到位置
//八、上下文選單事件觸發事件:oncontextmenu事件
//九、顯示和隱藏程式選單
cwnd *pwnd=afxgetmainwnd();
if(b_m) //隱藏選單
else
//十、獲取可執行檔案的圖示
hicon hicon=::extracticon(afxgetinstancehandle(),_t("notepad.exe"),0);
if (hicon &&hicon!=(hicon)-1)
destroyicon(hicon);
//十一、視窗自動靠邊程式演示
bool adjustpos(crect* lprect)
if(iy < rcwa.top + detastep && iy!=rcwa.top)
if(ix + lprect->width() > rcwa.right - detastep && ix !=rcwa.right-lprect->width())
if(iy + lprect->height() > rcwa.bottom - detastep && iy !=rcwa.bottom-lprect
->height())
return false;
}//然後在onmoveing事件中使用所下過程呼叫
crect r=*prect;
adjustpos(&r);
*prect=(rect)r;
//十三、執行其它程式
//1、執行email或**
char szmailaddress[80];
strcpy(szmailaddress,"mailto:[email protected]");
shellexecute(null, "open", szmailaddress, null, null, sw_shownormal);
//2、執行可執行程式
winexec("notepad.exe",sw_show); //執行計事本
//十四、動態增加或刪除選單
cstring str ;
for(int i=(mainmenu->getsubmenu (0))->getmenuitemcount()-1;i>=0;i--) //取得選單的項數。
}//十
五、改變應用程式的圖示靜態更改:
//修改圖示資源idr_mainframe。它有兩個圖示,乙個是16*16的,另乙個是32*32的,注意要一起修改。
//十六、另一種改變視窗標題的方法
//使用語句 cwnd* m_pcwnd = afxgetmainwnd( ),然後,再以如下形式呼叫setwindowtext()函式:
setwindowtext( *m_pcwnd,(lpctstr)m_windowtext);// m_windowtext可以是乙個cstring類的變數。
//十七、剪下板上通過增強元檔案拷貝影象資料下面**拷貝通過元檔案拷貝影象資料到任何應用程式,
//其可以放置在cview派生類的函式中。
cmetafiledc * m_pmetadc = new cmetafiledc();
m_pmetadc->createenhanced(getdc(),null,null,"whatever");
//draw meta file
//do what ever you want to do: bitmaps, lines, text...
//close meta file dc and prepare for clipboard;
henhmetafile hmf = m_pmetadc->closeenhanced();
//copy to clipboard
openclipboard();
emptyclipboard();
::setclipboarddata(cf_enhmetafile,hmf);
closeclipboard();
//deletemetafile(hmf);
delete m_pmetadc;
//十八、剪下板上文字資料的傳送把文字放置到剪接板上:
cstring source;
//put your text in source
if(openclipboard())
//從剪接板上獲取文字:
char * buffer;
if(openclipboard())
closeclipboard();
//十九、將捕捉螢幕影象到剪下版中
void cshowbmpindlgdlg::oncutscreen()
showwindow(sw_show);
}hbitmap cshowbmpindlgdlg::copyscreentobitmap(lprect lprect)
}//二
十、如何將位圖縮放顯示在static控制項中
//在staic控制項內顯示位圖
void cshowbmpindlgdlg::showbmpinstaic()
{cbitmap hbmp;
hbitmap hbitmap;
//將pstatic指向要顯示的地方
cstatic *pstaic;
pstaic=(cstatic*)getdlgitem(idc_image);
//裝載資源 mm.bmp是我的乙個檔名,用你的替換
hbitmap=(hbitmap)::loadimage (::afxgetinstancehandle(),"mm.bmp",
image_bitmap,0,0,lr_loadfromfile
VC開發小技巧20個
vc開發小技巧20個 一 開啟cd rom mcisendstring set cdaudio door open wait null,0,null 二 關閉cd rom mcisendstring set cdaudio door closed wait null,0,null 三 關閉計算機 o...
vc 20個小技巧
一 開啟cd rom mcisendstring set cdaudio door open wait null,0,null 二 關閉cd rom mcisendstring set cdaudio door closed wait null,0,null 三 關閉計算機 osversioninf...
VC小技巧15個
vc小技巧15個 一 一次只執行乙個程式例項 二 裝載游標 三 獲得主框架 獲得應用程式主視窗的指標 example afxgetmainwnd showwindow sw showmaxmized 使程式最大化 四 重新建立字型的 if m fontlogo.m hobject m fontlog...