Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual C++

Войти
Регистрация
Восстановить пароль
 
рино
#1

Отловить подключение съемного носителя - Visual C++

25.01.2010, 08:10. Просмотров 808. Ответов 0
Метки нет (Все метки)

я смотрел. но не нашел примера проверки автозагрузки. Меня интересует команда при которой моя программа будет следить за сканером виндоус хр, как это происходит в вирусах авторанах. то есть я хочу создать прогу отслеживающую подключение любого переносного носителя и выдающее предупреждение на экран. Может ли подойти Сканер портов?
// MFCScanDlg.cpp : implementation file
//

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include "stdafx.h"
#include "MFCScan.h"
#include "blyyycpp.h"
#include "ClientSocket.h"
 
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
 
 
// CAboutDlg dialog used for App About
 
class CAboutDlg : public CDialog
{
public:
    CAboutDlg();
 
// Dialog Data
    enum { IDD = IDD_ABOUTBOX };
 
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
 
// Implementation
protected:
    DECLARE_MESSAGE_MAP()
};
 
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
 
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
}
 
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
 
 
// CMFCScanDlg dialog
CMFCScanDlg::CMFCScanDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CMFCScanDlg::IDD, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
 
void CMFCScanDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_LIST1, PortsList);
}
 
BEGIN_MESSAGE_MAP(CMFCScanDlg, CDialog)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_BN_CLICKED(IDC_SCAN_BUTTON, OnBnClickedScanButton)
END_MESSAGE_MAP()
 
 
// CMFCScanDlg message handlers
 
BOOL CMFCScanDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 
    // Add "About..." menu item to system menu.
 
    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);
 
    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        CString strAboutMenu;
        strAboutMenu.LoadString(IDS_ABOUTBOX);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }
 
    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);         // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon
 
    // TODO: Add extra initialization here
 
    return TRUE;  // return TRUE  unless you set the focus to a control
}
 
void CMFCScanDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        CAboutDlg dlgAbout;
        dlgAbout.DoModal();
    }
    else
    {
        CDialog::OnSysCommand(nID, lParam);
    }
}
 
// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.
 
void CMFCScanDlg::OnPaint() 
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting
 
        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
 
        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;
 
        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}
 
// The system calls this function to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMFCScanDlg::OnQueryDragIcon()
{
    return static_cast<HCURSOR>(m_hIcon);
}
 
void CMFCScanDlg::OnBnClickedScanButton()
{
    // TODO: Add your control notification handler code here
    CClientSocket *pSocket;
    CString ip;
    CString messtr;
    int port;
 
    pSocket=new CClientSocket();
    pSocket->Create();
 
    GetDlgItemText(IDC_EDIT1,ip);
    port=1;
    while (port<100)
    {
        if(pSocket->Connect(ip, port))
        {
            messtr.Format("Port=%d  opened", port);
            PortsList.AddString(messtr);
            pSocket->Close();
            pSocket->Create();
        }
        port++;
    }   
}
или мне стоит искать что-то ещё?
как запрещать автозагрузку с них тоже надо бы, но обнаружение мне щас важнее)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2010, 08:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отловить подключение съемного носителя (Visual C++):

Восстановить статус съемного носителя - Flash-память
После записи на флэку iso-образа программой UltraISO по методу USB-HDD+ флэшка превратилась в съемный жесткий жесткий диск, и определяется...

Автоматический запуск приложения со съемного носителя - Администрирование Windows
Вот появился такой вопрос: как запустить приложение со съемного носителя? autorun.inf крутил, но на ХР удалось только метку тома...

Не меняется стандартная иконка съемного носителя - Windows 7
Подскажите пожалуйста, задал при помощи файла Autorun.inf иконку и название для съемного usb. Не работает на некоторых компьютерах - все...

Копирование в новую папку данных со съемного носителя - CMD/BAT
Здравствуйте. Такая беда. У меня есть фотоаппарат. Хочу сделать батник. Вставляю USB запускаю батник, создаётся папка на диске, копируется...

Не получается скопировать файлы со съемного носителя на диск С - Windows 8, 8.1
Всем привет! Не получается скопировать файлы со съемного носителя на диск С. Система Windows 8. При копирование файлов, как общей кипой так...

Не отображается тип съемного носителя в проводнике после ноябрьского обновления - Windows 10
После последнего обновления Windows 10 (ноябрьское, 1511) в папке Мой Компьютер не показывается тип подключенного устройства. К примеру я...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2010, 08:10
Привет! Вот еще темы с ответами:

пропал значок съемного носителя(dvd) после установки UltraISO. - Носители информации
помогите пожалуйста!я установила программу ultraiso и у меня в папке &quot;мой компьютер&quot; пропал значок съемного носителя(dvd) потом я ultraiso...

Разрешать запуск сторонней программы, проверив серийный номер съемного носителя - C#
Здравствуйте!)) У меня такая проблема. В общем, есть прога на C# (консольное приложение). Она проверяет наличие USB по серийнику, и если он...

Отловить событие подключения/отключения USB-носителя - C#
Может кто нибуть четко написать что и где вписать (читал что нада менять код в главном Program.сs, но вроде есть и другие методы, тоже...

Отловить подключение/отключение флешки - Visual Basic .NET
Приветствую господа, идея в том чтобы при подключении флешки производился поиск музыки на ней, в исходнике есть программа которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru