Всем доброго. Подскажите Что не так?При компиляции происходит ошибка. (Код должен убить notepad.exe) Код (Text): format PE GUI 4.0 include 'win32a.inc' entry start TOKEN_QUERY_TOKEN_ADJUST_PRIVILEGES =28h TH32CS_SNAPPROCESS = 2 struct PROCESSENTRY32 dwSize dd ? cntUsage dd ? th32ProcessID dd ? th32DefaultHeapID dd ? th32ModuleID dd ? cntThreads dd ? th32ParentProcessID dd ? pcPriClassBase dd ? dwFlags dd ? szExeFile db 260 dup(?) ends PrivilegeCount dd ? pLocalId dd ? Attributes dd ? phToken dd ? hSnapshot dd ? prcs PROCESSENTRY32 PrcList db 'notepad.exe',0 Privilege db 'SeDebugPrivilege',0 start: invoke GetCurrentProcess invoke OpenProcessToken,eax,TOKEN_QUERY_TOKEN_ADJUST_PRIVILEGES,phToken invoke LookupPrivilegeValue,0,Privilege ,pLocalId mov [PrivilegeCount],1 mov [Attributes],2 invoke AdjustTokenPrivileges,[phToken],0,PrivilegeCount ,0,0,0 mov [prcs.dwSize],sizeof.PROCESSENTRY32 invoke CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS, 0 mov [hSnapshot], eax invoke Process32First,[hSnapshot],prcs f: mov edi,PrcList invoke StrStrI,prcs.szExeFile, edi cmp eax,0 je _NextProc call kill _NextProc: invoke Process32Next,[hSnapshot],prcs cmp eax,0 jne f invoke ExitProcess,0 kill: invoke OpenProcess,PROCESS_TERMINATE,0,[prcs.th32ProcessID] invoke TerminateProcess,eax,0 retn data import library kernel32,'KERNEL32.DLL',\ advapi32,'ADVAPI32.DLL',\ shell32,'SHELL32.DLL' include 'API\kernel32.inc' include 'API\advapi32.inc' include 'API\shell32.inc' end data
Бага в инклудах фасма. Добавь в include/api/shell32.inc в строку ~115 после StrRStrIW,'StrRStrIW',\ строки: Код (Text): StrStrA,'StrStrA',\ StrStrW,'StrStrW',\ StrStrIA,'StrStrIA',\ StrStrIW,'StrStrIW',\ И отпишись в разделе багрепортов на форуме фасмы, если хочешь, чтобы пофиксили в дистрибутиве.
в инклюдах штатной поставки есть пробелы типа: отсуствует CommandLineToArgvW,'CommandLineToArgvW',\ в shell32.inc Я честно говоря уж не знаю что делать. Или компейрить новые версии инклюдов со старыми, либо выносить отсутствующие апи в отдельный инк, либо добавлять имена апи прямо в проект не используя инклюды с обьявлениями имен.