MoveFileEx+MoveFileEx

Тема в разделе "WASM.BEGINNERS", создана пользователем Semiono, 4 июн 2009.

  1. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Код (Text):
    1. section '.code' code readable executable
    2. start:
    3.         invoke MoveFileEx,\
    4.                lpExistingFileName,\
    5.                NULL,\
    6.                MOVEFILE_DELAY_UNTIL_REBOOT
    7.         invoke  ExitProcess,0
    8.  
    9.         lpExistingFileName db '\\?\C:\New Text Document (2).txt',0
    а много файлов как можно красиво удалить?

    lpExistingFileName db '\\?\C:\New Text Document.txt' + '\\?\C:\New Text Document (2).txt',0
    такое не пошло конечно :)
    Чтоли лупом назначать переменную? Или структуру замутить, дык она вся не влезет в апи?
    =)
    По десять раз вызывать инвок чтоли? Кстати он что-то дважды не стал писать в регистри,
    хотя может потомучто я секцию данных не заводил? Кстати без '.data' код чуть меньше получается ;-
     
  2. Dian

    Dian Member

    Публикаций:
    0
    Регистрация:
    19 июн 2008
    Сообщения:
    222
    Что мешает вызвать функцию столько раз, сколько это будет нужно?
     
  3. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Ничего. Но вместе с определениями данных это уже хтмл будет а не фасм? )))
    Хотя не знаю может так и нормально...
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Если тебе много писать - записывай в ключ PendingRenameOperations сам столько файлов, сколько нужно
     
  5. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    А как приписать "!" до преффикса?
    1. Так или иначе не получается -
    lpExistingFileName db '!','\\?\C:\New Text Document (2).txt',0 или так -
    lpExistingFileName db '!',0,'\\?\C:\New Text Document (2).txt',0
    Вообще сам преффикс чудеса творит, если его убрать, то весь путь от директории исходника
    почему-то в реестр пишется.
    2. Кстати импорт MoveFileExW вообще абракадабру выдаёт, посему юзаю только MoveFileExA
    3. "!" это насколько я понимаю какая то опция раз она не нужна, хотелось бы знать всётаки значение.

    "записывай в ключ PendingRenameOperations" ОК, пригодиться тоже!
     
  6. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Код (Text):
    1. section '.code' code readable executable
    2. start:
    3.         invoke GetEnvironmentVariable,"systemroot",lpBuffer,MAX_PATH
    4.  
    5.         invoke MessageBox,NULL,lpBuffer,'systemroot is here:         ',,MB_OK
    6.  
    7. section '.data' data readable writeable
    8.         lpBuffer dd ?
    Как можно туда втащить lpBuffer + '\SysWOW6432', пажалусто подскажите??
    Я не умею соединить всяки переменные в одну строку...
    Напр. '\\?\' + var1 + 'Folder' или как это... ?
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Код (Text):
    1. start:
    2.         invoke GetEnvironmentVariable,"systemroot",lpBuffer,MAX_PATH
    3.  
    4.         invoke lstrcat, lpBuffer, "\SysWOW6432"
    5.  
    6.         invoke MessageBox,NULL,lpBuffer,'systemroot is here:         ',MB_OK
    7.  
    8. section '.data' data readable writeable
    9.         lpBuffer dd ?
     
  8. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Ай, яй, простите из головы вылетело, яж прежде видел такоу функцию, но забыл!. THNX!