|
|
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
Можно ли в exe файл, скомпилированный в PB 8.0 "вшивать" номер версии? И можно ли его извлекать в скрипте и как-то далее с ним работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 12:25 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
У нас для этого есть глобальная переменная. А вообще, в окне сбора проекта есть Product Version... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 13:20 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
Ну примерно так: FUNCTION ulong GetFileVersionInfoSizeA ( REF string lpFilename, REF ulong lpdwHandle ) LIBRARY "version.dll" FUNCTION integer GetFileVersionInfoA ( REF string lpFilename, REF ulong lpdwHandle, ulong dwLen, REF string lpData ) LIBRARY "version.dll" FUNCTION boolean VerQueryValueA ( REF string lpBlock, string lpSubBlock, REF long lpBuffer, REF uint puLen ) LIBRARY "version.dll" ulong dwHandle, dwLength string ls_Buff, ls_key, ls_versioninfo uint lui_length long ll_pointer string as_filename as_filename = exe_name integer li_rc dwLength = GetFileVersionInfoSizeA( ref as_filename, dwHandle ) IF dwLength <= 0 THEN RETURN false END IF ls_Buff = Space( dwLength ) li_rc = GetFileVersionInfoA( as_filename, dwHandle, dwLength, ls_Buff ) IF li_rc = 0 THEN RETURN false END IF // the strange numbers below represents the country and language // of the version ressource. ls_key = "\StringFileInfo\040904e4\ProductVersion" IF NOT VerQueryValueA( ls_buff, ls_key, ll_pointer, lui_length ) OR & lui_length <= 0 THEN ls_versioninfo = "?" ELSE ls_versioninfo = Space( lui_length ) CopyMemory( ls_versioninfo, ll_pointer, lui_length ) END IF return true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 13:26 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
Локшин МаркУ нас для этого есть глобальная переменная. А вообще, в окне сбора проекта есть Product Version... Ну что есть Product Version это я знаю :) А вот как его взять в переменную? И желательно средствами собственно PB, без дополнительных библиотек. А если у вас есть такая переменная, то как вы ее получаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 14:23 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
AlexanderF wrote: > А вот как его взять в переменную? Тебе ответил spas2001. Чего ещё надо? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 14:40 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
AlexanderFМожно ли в exe файл, скомпилированный в PB 8.0 "вшивать" номер версии? И можно ли его извлекать в скрипте и как-то далее с ним работать? Извлекать можно. Выше написали как. А вот вшивать средствами PB8 нельзя. Это появилось только в PB9. Но есть утилита VersionEdit at ecrane.com - она может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 14:45 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
Не правда Уже в 8-ке появились опции при сборке проекта В 6.5 и по-моему в 7-ке не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 10:03 |
|
||
|
Как 'вшивать' номер версии exe файла?
|
|||
|---|---|---|---|
|
#18+
Да забыл уточнить в 8-ке (прошу не пинать, давно было) извлекалось не ProductVersion (это я для 9-ки немножко переделал), просто надо полностью просмотреть извлекаемую информацию (то-ли версия файла) не могу вспомнить, но то что это еще в 8-ке работало - факт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 10:08 |
|
||
|
|

start [/forum/search_topic.php?author=valhala&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 633ms |
| total: | 817ms |

| 0 / 0 |
