Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 7

Работа с дисководом и обращение к файлу на диске

04.03.2015, 18:27. Показов 1574. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Собственно, требуется самым простым и легким способом сделать несколько вещей.
Проверяем наличие диска в дисководе - Если нет, то вывести сообщение "Вставьте диск и нажмите Enter", если есть - то выполнить содержащийся на диске "start.exe".
Все это без всяких гуев, в чистой досмашине.
Как можно это сделать, не нагружая систему и не при помощи тонны кода?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2015, 18:27
Ответы с готовыми решениями:

Работа с дисководом
Как работать с дисководом в с++? К примеру, функция, проверяющая, есть ли диск в дисководе, или, к примеру, открывающая дисковод. Какую для...

Путь к файлу на диске
Здравствуйте подскажите как правильно написать путь к thml файлу. Раньше писал етот проект на builder 6 но пришлось перейти на Rad Studio...

Обращение к файлу
Подскажите пожалуйста как можно сделать обращение к файлу каждые 3 секунды ( в моем случае пхп, который проверяет максимальный айди в БД)...

11
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
04.03.2015, 19:27
Dmitriy1995, вот обычное консольное приложение.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <Windows.h>
 
int main()
{
    STARTUPINFO si;
    ZeroMemory(&si, sizeof(si));
 
    si.cb = sizeof(si);
    si.dwX = CW_USEDEFAULT;
    si.dwY = NULL;
    si.dwXSize = CW_USEDEFAULT;
    si.dwYSize = CW_USEDEFAULT;
    si.dwFlags = STARTF_USEPOSITION | STARTF_USESIZE;
        
    PROCESS_INFORMATION pi;             //Путь в createProcess устанавливайте сами. Имя диска у вас может быть другим
    if(!CreateProcess(L"D:\\start.exe", NULL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS,
        NULL, NULL, &si, &pi))
        MessageBox(NULL, L"Cannot run the application, or the disk is not in the CD-ROM", L"Error", MB_OK);
    return 0;
}
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.03.2015, 19:37
Dmitriy1995, Инфорамацию о дисках можно получить функцией GetLogicalDriveString.
Определить тип диска - GetDriveType.
Правда, все это WinAPI
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 7
04.03.2015, 19:42  [ТС]
Байт, спасибо, но, к сожалению, WinAPI никак не проходит, нужно именно на чистую досмашину, причем выполняться это будет из автоэкзек'а сразу после запуска шелла
0
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
04.03.2015, 19:43
Dmitriy1995, стоп-стоп, те функции тоже винапишные. Если на ДОСе запускаете, по идее, ничего не выйдет
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 7
04.03.2015, 19:45  [ТС]
tnk500, да, нужно именно под чистый дос. Есть возможность как-то запустить?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
04.03.2015, 19:48
C++
1
2
3
4
5
6
ifstream stream("a:\start.exe");
if(stream.good())
{
    stream.close();
    system("a:\start.exe");
}
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.03.2015, 20:00
Dmitriy1995, Есть такая функция biosdisk. Первый параметр cmd=16 проверяет готовность диска. Другие значения cmd лучше не использовать, если информация на диске дорога
А определить, есть ли файл, лучше всего функцией access
Ну а запуск - spawn
0
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
04.03.2015, 20:04
Dmitriy1995, увы, я застал лишь Win95, на досе никогда не программировал (наверно, к счастью). Может, поможет директива #pragma comment(lib, "kernel32.lib"), хотя очень-очень сумневаюсь
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
04.03.2015, 20:07
Цитата Сообщение от tnk500 Посмотреть сообщение
Dmitriy1995, увы, я застал лишь Win95, на досе никогда не программировал (наверно, к счастью). Может, поможет директива #pragma comment(lib, "kernel32.lib"), хотя очень-очень сумневаюсь
Не поможет. В Досе dll и lib не было, системные библиотеки вызывались через прерывания.
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 7
04.03.2015, 20:18  [ТС]
Байт, ну, да, :go ECHO y | format a: /u GOTO go
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 7
14.03.2015, 04:06  [ТС]
Продолжаю надоедать уважаемым рукастым программистам. Цель та-же - запуск программы с диска. Но в этот раз не из-под доса.
Каким образом можно сделать сплошное окно (которое закроет весь рабочий стол и даже панель задач и не будет иметь "свернуть\развернуть\закрыть) и четыре кнопки, размещенные на нем (загрузка с диска, просмотр сведений о системе, выключение и пустую, резервную)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2015, 04:06
Помогаю со студенческими работами здесь

Обращение к файлу php
Добрый день! Пытаю обратиться к файлу php и получить от него данные, но сервер молчит =( Может кто подскажет почему)) var...

Обращение к XML-файлу из VB
Даже не знаю в какой форум обращаться... но в программа на VB обращается к XML-файлу. Что это за файлы? И где можно об нем побольше узнать?...

Обращение к загруженному файлу
Пользователь загружает файл через форму (в моем случае изображение). Он сохраняется у меня в папке на сервере. Но потом мне нужно...

Одновременное обращение к файлу
Здравствуйте. Есть информационные терминалы и есть web-служба, которая работает с ними. Терминалы периодически (по таймеру) обращаются к...

Обращение к файлу ресурсов
Всем доброго времени суток. У меня вопрос как можно, и можно ли, обратиться к файлу ресурса моего приложения (изображение) для его...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru