Как открыть свой exe файл монопольно?

Тема в разделе "WASM.BEGINNERS", создана пользователем slow, 22 янв 2007.

  1. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    вызов CreateFile(path_to_exe,GENERIC_READ,0,nil,OPEN_EXISTING,0,0); возвращает INVALID_HANDLE_VALUE.
     
  2. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    из мана:
    вот наиболее подходящий:0, // do not share

    в принципе верно!

    вот может поможет:
    Код (Text):
    1. hFile = CreateFile(TEXT("myfile.txt"),     // file to create
    2.                    GENERIC_WRITE,          // open for writing
    3.                    0,                      // do not share
    4.                    NULL,                   // default security
    5.                    CREATE_ALWAYS,          // overwrite existing
    6.                    FILE_ATTRIBUTE_NORMAL | // normal file
    7.                    FILE_FLAG_OVERLAPPED,   // asynchronous I/O
    8.                    NULL);                  // no attr. template
     
  3. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    CreateFile(pchar(s),GENERIC_READ,0,nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);
    те же яйца вид сбоку
     
  4. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    Переформулирую задачу!
    Как запретить переименование запущенного файла :) А то не дай бог подумаете трояна пишу :)
     
  5. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    Сорри, ступил!
    Вот решение:
    Код (Text):
    1. CreateFile(pchar(s),GENERIC_READ,[b]FILE_SHARE_READ[/b],nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED or FILE_SHARE_READ,0);
    вместо выделенного стоял 0 т.е. попытка открыть файл монопольно - что в данном контексте невозможно.