系統相關功能開發(八) 訊息

2021-08-07 09:54:58 字數 1819 閱讀 6480

// 21.8.1(ok)

#define wm_my_message wm_user + 66 // 自定義訊息

void cmessagesendsampledlg::onbuttonsendmymessage() // 傳送自定義訊息函式

lresult cmessagesendsampledlg::windowproc(uint message, wparam wparam, lparam lparam) // 程式處理函式

return cdialog::windowproc(message, wparam, lparam);

}

傳送

void cmessagesendsampledlg::onbuttonregmessage()			// 註冊訊息函式	

接收

bool cmessagereceivesampledlg::oninitdialog()

lresult cmessagereceivesampledlg::windowproc(uint message, wparam wparam, lparam lparam)

lresult

sendmessage/

postmessage(

hwnd hwnd,//指定接收訊息的對話方塊的控制代碼

uint msg,//指定傳送的訊息型別

wparam wparam,//訊息引數

lparam lparam);//訊息引數

wparam=(wparam) (hwnd)hwnd;//傳送對話方塊控制代碼

lparam=(lparam) (

pcopydatastruct) pcds;//結構資料指標

typedef struct tagcopydatastruct

pcopydatastruct;

傳送

struct mescontent				// 訊息內容結構

;void cmessagesendsampledlg::onbuttonsendcopydata() // 通過wm_copydata訊息傳送資料

mescontent msdata=; // 定義訊息結構變數

strcpy(msdata.sender, m_sender.getbuffer(50)); // 賦值訊息傳送者

strcpy(msdata.content,m_content.getbuffer(500)); // 賦值訊息內容

copydatastruct cpd; // 定義傳送結構變數

cpd.dwdata = 0; // 傳送整數值為0

cpd.cbdata = sizeof(msdata); // 傳送資料的長度

cpd.lpdata = &msdata; // 傳送資料內容

pwnd->sendmessage(wm_copydata, null, (lparam)&cpd); // 傳送wm_copydata訊息

}

接收

struct mescontent				// 訊息內容結構

;bool cmessagereceivesampledlg::oncopydata(cwnd* pwnd, copydatastruct* pcopydatastruct) // wm_copydata訊息處理函式

系統相關功能開發(二) 磁碟操作

void cdiskoperdlg onbuttonmonitordisk 監視硬碟 sleep 100 findclosechangenotification dwchangehandle void cdiskoperdlg onbuttonformat 格式化磁碟 dword dwresult ...

系統相關功能開發(一) 獲取磁碟資訊

void cdiskinfodlg onbuttongetvol 獲取驅動器卷標 存放卷標資訊的字元陣列 if getvolumeinformation m diskname,szvolume,max path,null,null,null,null,0 獲取卷標 writelog 驅動器 s的卷標...

系統相關功能開發(九) 剪貼簿

void cclicpboardsampledlg onbuttonenumclformat 列舉剪貼簿中資料型別 writelog 剪下板中支援的資料型別有 輸出提示資訊 uint uiformat enumclipboardformats 0 開始列舉剪下板資料型別 tchar szname m...