Программа для .iso файлов с открытым исходным кодом для windows
Посоветуйте софт для работы с iso образами, которые имеют открытый исходный код
Дополнено (1). Программа нужна только для монтирования. Инструменты по работе с оптическими дисками не интересуют
Для работы? В смысле создания образов? Просто для их открытия вообще ничего не нужно. Сама винда уже официально поддерживает монтирование образов без сторонних программ.
Так все функции давно описаны и расписаны.
Например:
#include
#include
#include
const unsigned int SECTOR_SIZE = 2048; //размер сектора для CD
#ifdef _WIN32
#include
void GetDiskMetrics(const char* disk, unsigned int* pBlockSize, uint64_t* pTotalSize){
char path[MAX_PATH]="";
strcpy(path, disk);
strcat(path, ":\\");
unsigned long dwSectorsPerCluster, dwBytesPerSector, dwNumberOfFreeClusters, dwTotalNumberOfClusters;
unsigned int blocksize;
uint64_t totalsize;
//найдем размер сектора и объем данных на диске
int res = GetDiskFreeSpaceA(path, &dwSectorsPerCluster, &dwBytesPerSector,
&dwNumberOfFreeClusters, &dwTotalNumberOfClusters);
//вычислим размер блока, кратный размеру сектора, и общий объем данных в байтах
if (res){
blocksize = dwBytesPerSector * 20;
totalsize = dwSectorsPerCluster * dwBytesPerSector * (uint64_t)dwTotalNumberOfClusters;
}
else{
printf("GetDiskFreeSpace error %d", GetLastError());
blocksize = SECTOR_SIZE * 20;
totalsize = 4700307456; //DVD
}
*pBlockSize = blocksize;
*pTotalSize = totalsize;
}
bool OpenDevice(const char* disk, void** phFile){
char path[MAX_PATH]="";
sprintf(path, "\\\\.\\%s:", disk); //формат имени файла для открытия тома
//открываем том для прямого доступа на чтение
HANDLE handle = CreateFileA(path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (handle == INVALID_HANDLE_VALUE) {
fprintf(stderr, "CreateFileA error %d", GetLastError());
return false;
}
else {
*phFile = handle;
return true;
}
}
bool ReadDevice(void* hFile, void* lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead){
BOOL res = ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, NULL);
if (res == FALSE){
fprintf(stderr, "ReadFile error %d", GetLastError());
return false;
}
else return true;
}
void CloseDevice(void* hFile){
CloseHandle(hFile);
}
#endif
void CreateISO(const char* disk, const char* outfile){
char* buf;
unsigned long dwRead = 0;
uint64_t count = 0;
unsigned int blocksize;
uint64_t totalsize;
GetDiskMetrics(disk,&blocksize,&totalsize);
buf = (char*)malloc(blocksize);
//открываем том для прямого доступа на чтение
void* handle=NULL;
bool res = OpenDevice(disk,&handle);
if (res == false) goto End;
//открываем файл для записи
FILE* target = fopen(outfile, "wb");
while (true){
dwRead = 0;
memset(buf,0,blocksize);
//считаем блок данных
res = ReadDevice(handle, buf, blocksize, &dwRead);
if (res == false) goto End;
if (dwRead == 0) break; //конец считывания
count += dwRead;
printf(" Creating image: %5.1f%% [%10.2f KB / %10.2f KB]\r",
(count * 100.0f / totalsize),
(count / 1024.0f),
(totalsize / 1024.0f));
//запишем блок в файл
fwrite(buf, dwRead,1,target);
}
End: CloseDevice(handle);
fclose(target);
free(buf);
printf("\n");
}
int main(int argc, char **argv)
{
CreateISO("K", "c:\\distr\\image.iso");
getchar();
return 0;
}
Источник: https://ru.stackoverflow.com/questions/1054552/qt-c-Создание-iso-образа
На Windows 7 использую https://pcprogs.net/36-ultraiso.html
- Как на ноутбуке сделать так чтобы все файлы удалились, чтобы система пришла к исходным настройкам но виндовс остался Можно сказать как заводские установки не телефоне то же самое как сделать только на пк просто весь компьютер забит, хочу с нового листа начать
- Возвращение Винды 10 к исходным параметрам. После первой перезагрузки на окне Привет ничего не происходит Крутятся точки загрузки на окне "Привет" (установка страны, региона, языка, часового пояса"). Дальше ничего не происходит очень долгое время. Что делать в таком случае?
- Программа для Windows (Для поиска файлов и возможности выполнения команд) Открывается при нажатии 2х конпок, по середине экрана появляется строчка для ввода, команд, или названия файла/программы или через? G вроде можно было загуглить, Раньше пользовался но потерялд после переустановки, подскажите, если кто понял о чем я
- Программа для изменения иконок для всех типов файлов Windows Года 2 назад юзал программу, в которой можно менять все иконки для любого типа файлов. Заходишь, выбираешь например формат "txt" или "rar", выбираешь картинку и он заменяет все иконки файлов с этим расширением на пк. Знает кто-нибудь название проги?