ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4441  
Старый 09.12.2009, 10:29
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме:
2823587

Репутация: 106
Отправить сообщение для St0nX с помощью ICQ
По умолчанию

Цитата:
Сообщение от winterfrost  
fclose(fp);
- если файл не открылся, мб и не надо его закрывать? =)
В этом ты прав)

Цитата:
The fopen() function opens a file indicated by fname and returns a stream associated with that file. mode is used to determine how the file will be treated (i.e. for input, output, etc).

If there is an error, fopen() returns NULL.
Если файл не открыт то он пытается закрыть указатель на адрес файла который равен 0 поэтому и получает ошибку сегментации
 
Ответить с цитированием

  #4442  
Старый 09.12.2009, 11:18
winterfrost
Познающий
Регистрация: 18.08.2008
Сообщений: 45
Провел на форуме:
418790

Репутация: 64
По умолчанию

Код:
if ((fp=fopen(files[i],"r+"))==NULL) {
    perror("fopen");
    i++;
    continue; // <--
}
попробуй добавить continue, что-бы перейти к следующей интерации цикла
 
Ответить с цитированием

  #4443  
Старый 09.12.2009, 11:41
InFlame
Участник форума
Регистрация: 27.10.2008
Сообщений: 215
Провел на форуме:
810079

Репутация: 90
По умолчанию

Всем спасибо, исправил.
 
Ответить с цитированием

  #4444  
Старый 09.12.2009, 17:03
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме:
1510937

Репутация: 398
Отправить сообщение для PandoraBox с помощью ICQ
По умолчанию

кто в курсе как проактивно защитить файл от удаления в системе windows ?

типа LockFileEx, ZwLockFileEx, NtLockFileEx
 
Ответить с цитированием

  #4445  
Старый 09.12.2009, 17:13
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме:
424387

Репутация: 142
По умолчанию

Цитата:
кто в курсе как проактивно защитить файл от удаления в системе windows ? типа LockFileEx, ZwLockFileEx, NtLockFileEx
Удаление файла сводиться к отсылке IRP_MJ_SET_INFORMATION c FileInformationClass = FileDispositionInformation.
Вывод: писать драйвер фильтр фс и отклонять такие irp для нужного файла.

Последний раз редактировалось _antony; 09.12.2009 в 17:15..
 
Ответить с цитированием

  #4446  
Старый 09.12.2009, 19:42
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

Подскажите, как в Visual Studio 2008 в PictureControl программно загрузить картинку JPG из файла, на API.
 
Ответить с цитированием

  #4447  
Старый 09.12.2009, 21:28
kopBaJIoJI
Новичок
Регистрация: 10.03.2009
Сообщений: 10
Провел на форуме:
84536

Репутация: 0
По умолчанию

Подскажите функцию, которая при закрытии формы выдавала бы информационное сообщение с кнопками Да, Нет, Отмена. При нажатии да - открывается окно для сохранения файла, при нажатии нет - программа закрывается, при отмене - остаётся всё как было.
 
Ответить с цитированием

  #4448  
Старый 09.12.2009, 21:43
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме:
2823587

Репутация: 106
Отправить сообщение для St0nX с помощью ICQ
По умолчанию

Цитата:
Сообщение от kopBaJIoJI  
Подскажите функцию, которая при закрытии формы выдавала бы информационное сообщение с кнопками Да, Нет, Отмена. При нажатии да - открывается окно для сохранения файла, при нажатии нет - программа закрывается, при отмене - остаётся всё как было.
необходимо перехватить событие закрытие формы и вызвать свою функцию. В Qt допустим достаточно переопределить функцию закрытия формы в классе пример отлично разбирается в книге Qt 4. Программирование GUI на С++. В WinAPI примерно так:
PHP код:
#include <windows.h>

// Объявления функций
BOOL RegClass(WNDPROCLPCTSTRUINT);
LRESULT CALLBACK WndProc(HWND,UINTWPARAMLPARAM); // оконные процедуры

HINSTANCE hInstance;
char szMainClass[] = "MainClass";
char szTitle[] = "Пример 1.2";

// Главная функция приложения
int WINAPI WinMain(HINSTANCE hInstHINSTANCE hPrevInst,
                
LPSTR IpszCmdLineint nCmdShow)
{
    
MSG msg;
    
hInstance hInst;
    
HWND hwnd;
    if (!
RegClass(WndProcszMainClassCOLOR_DESKTOP))
        return 
FALSE;
    
// До создания окна узнаём габариты экрана в пикселях
    
int w GetSystemMetrics(SM_CXSCREEN) - 1// Ширина
    
int h GetSystemMetrics(SM_CYSCREEN) - 1// Высота 
    
hwnd CreateWindow(szMainClassszTitle,
        
WS_POPUPWINDOW WS_CAPTION |
        
WS_MINIMIZEBOX WS_VISIBLE,
        
00wh00hInstanceNULL);
    if (!
hwnd) return FALSE;
    while (
GetMessage(&msg000)) DispatchMessage(&msg);
    return 
msg.wParam;
}

BOOL RegClass(WNDPROC ProcLPCTSTR szNameUINT brBackground)
{
    
WNDCLASS wc;
    
wc.style wc.cbClsExtra wc.cbWndExtra 0;
    
wc.lpfnWndProc Proc;
    
wc.hInstance hInstance;
    
wc.hIcon LoadIcon(NULLIDI_APPLICATION);
    
wc.hCursor LoadCursor(NULLIDC_ARROW);
    
wc.hbrBackground = (HBRUSH)(brBackground 1);
    
wc.lpszMenuName = (LPCTSTRNULL;
    
wc.lpszClassName szName;
    return (
RegisterClass(&wc) != 0);
}

LRESULT CALLBACK WndProc(HWND hwndUINT msg,
                         
WPARAM wParamLPARAM lParam)
{
    switch (
msg)
    {
    case 
WM_DESTROY:
        {
        
PostQuitMessage(0);
        return 
0;
        }
    case 
WM_CLOSE:
        {
        
// ТУТ ТВОЙ МЕСАДЖ БОКС И ЕГО ОБРАБОТКА
        
return 0;
        }
    }
    return 
DefWindowProc(hwndmsgwParamlParam);

 
Ответить с цитированием

  #4449  
Старый 09.12.2009, 21:46
kopBaJIoJI
Новичок
Регистрация: 10.03.2009
Сообщений: 10
Провел на форуме:
84536

Репутация: 0
По умолчанию

Благодарю!
 
Ответить с цитированием

  #4450  
Старый 09.12.2009, 21:58
becensed
Новичок
Регистрация: 02.12.2009
Сообщений: 16
Провел на форуме:
101734

Репутация: 21
По умолчанию

MessageBox не подходит?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ