|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 16, 2004 19:41:38 1990 В профайле |
|
|
Дата: Янв 18, 2004 20:22:17 Правка 1990 внешние ресурсы имеют больший приоритет Да, это так. Но почему не хочешь использовать внешние файлы или тот же PEx или ResourceTuner? Для использования Unicode используй макросы из Strings.mac, лежат на сайте. |
|
|
Дата: Янв 18, 2004 23:23:34 IceStudent Здоров - ты уже ученик. Почему не хочу использовать - чтобы самому научиться писать. |
|
|
Дата: Янв 18, 2004 23:28:16 Правка 1990 ты уже ученик Ага! А у тебя, видимо, много времени? Что ж, я и сам люблю учиться всему, только не сейчас :( Но я что-то видел дома по ресурсам — поищу, мож что и тебе пригодится для ентого… |
|
|
Дата: Янв 29, 2004 19:40:55 Все оказалось иначе, чем я думал. Манифесты не конвертируется в unicode. Очень это странно, поскольку в MSDN пишится, что в ресурсах ВСЕ строки хранятся в unicode. Но тем проще. Возможно, в некоторых программах надо будет использовать MANIFEST_RESOURCE_ID вместо CREATEPROCESS_MANIFEST_RESOURCE_ID. include c:\MASM32\include\windows.inc
include c:\MASM32\include\kernel32.inc
includelib kernel32.lib
RT_MANIFEST equ 24
MANIFEST_RESOURCE_ID equ 2
CREATEPROCESS_MANIFEST_RESOURCE_ID equ 1
.DATA
manifest_file_lenght equ 1024
filename equ "GrabStr.EXE"
exename DB filename,0
manifestname DB filename,".manifest2",0 ;; <- имя изменено!!
.CODE
start:
the proc
LOCAL ascii [manifest_file_lenght]:byte
invoke BeginUpdateResource, offset exename, FALSE
push FALSE ;; for EndUpdateResource
push EAX ;; for EndUpdateResource
.if EAX
mov EBX, EAX
invoke CreateFile, offset manifestname,GENERIC_READ,0,0,OPEN_EXISTING,0,0
.if EAX != INVALID_HANDLE_VALUE
push EAX ;; file handle
lea ESI, [ascii]
push ecx ;; dummy value
mov ECX, ESP ;; lpNumberOfBytesRead
invoke ReadFile, EAX, ESI, manifest_file_lenght, ECX, 0
pop EAX ;; NumberOfBytesRead
.if EAX
invoke UpdateResource, EBX, RT_MANIFEST, CREATEPROCESS_MANIFEST_RESOURCE_ID,\
LANG_NEUTRAL, ESI, EAX
.endif
call CloseHandle ;; parameter is already on stack
.endif
.endif
call EndUpdateResource ;; parameters are already on stack
invoke ExitProcess, EAX
the endp
end start |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.258 |