Code Trong Vô Thức
Đăng Nhập
Tìm kiếm
Display results as :
Advanced Search

Share
Xem chủ đề cũ hơnXem chủ đề mới hơn
avatar
Blue Knight
Blue Knight
Gender : Nam

Posts Posts : 1118
Thanked : 660
Coins Coins : 6825
Tham Gia : 26/08/2008
Birthday : 05/08/1920

Status Status : Sẽ ra sao nếu như, tao là mày và mày là tao ?
Xem lý lịch thành viên
15022017
Code:

/*! 
 * @brief   リムーバブルディスク挿抜検出イベント処理
*/
LRESULT COperationMonitorDlg::OnMyDeviceChange(WPARAM wParam, LPARAM lParam)
{

    switch(wParam) {
   case DBT_DEVICEARRIVAL:         // system detected a new device
      ChkLogicalDrives("EVT:system detected a new device");
      break;
   case DBT_DEVICEREMOVECOMPLETE:   // device is gone
      ChkLogicalDrives("EVT:device is gone");
      break;
   default:
      break;
   }

   return 0;

}


/*!
 @brief リムーバブルディスク(USBメモリ)検出チェック
 @param [in] p_dev_evt : ログコメント(呼び出し元関数名)
 */
void COperationMonitorDlg::ChkLogicalDrives(char* p_dev_evt)
{

 UINT flag = 1;
 DWORD drives = GetLogicalDrives();
 BOOL is_found = FALSE;

 for (char i = 'A'; i <= 'Z'; i++) {
 // 使用可能なドライブを検索
 if (drives & flag) {
 // リムーバブルディスクかどうか
 char temp_drv[DRV_CNT] = {0};
 wsprintf(temp_drv, "%c:\\", i);
 if (GetDriveType(temp_drv) == DRIVE_REMOVABLE) {
 memcpy(RemDrv, temp_drv, DRV_CNT);
 is_found = TRUE;
 break;
 }
 }
 flag <<= 1;
 }

 if (is_found == TRUE) {
 pErrHdlMng->WriteLog(INFORMATION_TYPE, OM_ERR_NOERR, "%s リムーバブルディスク検出(ドライブ = [ %s ]", p_dev_evt, RemDrv);
 SetDlgItemText(IDC_TXT_DRIVENAME, RemDrv);
 }
 else {
 memset(RemDrv, 0, DRV_CNT);
 pErrHdlMng->WriteLog(WARNING_TYPE, OM_ERR_NOERR, "%s リムーバブルディスク未検出", p_dev_evt);
 SetDlgItemText(IDC_TXT_DRIVENAME, "未検出");
 }

}

Code:
BEGIN_MESSAGE_MAP(COperationMonitorDlg, CDialogEx)
   ON_WM_PAINT()
   ON_WM_QUERYDRAGICON()
   ON_WM_DESTROY()
   ON_WM_TIMER()
   ON_MESSAGE(WM_DEVICECHANGE, OnMyDeviceChange)
END_MESSAGE_MAP()

Share this post on:Excite BookmarksDiggRedditDel.icio.usGoogleLiveSlashdotNetscapeTechnoratiStumbleUponNewsvineFurlYahooSmarking

Comments

No Comment.

Xem chủ đề cũ hơnXem chủ đề mới hơn
Permissions in this forum:
Bạn không có quyền trả lời bài viết