![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Скрипты Inno Setup. Помощь и советы [часть 7]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] |
|
Отправлено: 11:48, 10-03-2014 |
![]() Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать kotyarko@fb, у меня почему то не работает функция то ли не так вставил запускаю компиляцию и не запускается у меня уникод.
|
Отправлено: 01:05, 02-11-2014 | #1911 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать diman_21Ru,
RawDataResource работает на расширенной версии компилятора от Restools |
Отправлено: 02:48, 02-11-2014 | #1912 |
![]() Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать TryRooM, У меня расширенная, уникод же обычно ругаться будет если не так вставишь но тут собирает и установщик не запускает
|
Отправлено: 10:05, 02-11-2014 | #1913 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать diman_21Ru,
Попробуй упростить через Modules, меньше путаницы в скрипте будет. |
Последний раз редактировалось TryRooM, 18-03-2015 в 14:29. Отправлено: 10:32, 02-11-2014 | #1914 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Реализация WinAPI функции GlobalMemoryStatusEx http://msdn.microsoft.com/ru-ru/libr...=vs.85%29.aspx
Предоставляет информацию об использовании физической и виртуальной памяти. Просьба к знатокам: указать на возможные ошибки. Скрипт
[Code] type Int64 = record Intlow: Integer; IntHigh: Integer; end; _MEMORYSTATUSEX = record dwLength: DWORD; dwMemoryLoad: DWORD; ullTotalPhys: Int64; ullAvailPhys: Int64; ullTotalPageFile: Int64; ullAvailPageFile: Int64; ullTotalVirtual: Int64; ullAvailVirtual: Int64; ullAvailExtendedVirtual: Int64; end; function GlobalMemoryStatusEx( var lpBuffer: _MEMORYSTATUSEX ): BOOL; external 'GlobalMemoryStatusEx@kernel32.dll stdcall'; function StrFormatByteSize64( qdw: Currency; var pszBuf: Char; cchBuf: UINT ): PAnsiChar; external 'StrFormatByteSize64A@shlwapi.dll stdcall'; function BytesToSize( const Bytes: Extended ): String; var pszBuf: array [0..15] of Char; begin try Result := StrFormatByteSize64( Abs ( Bytes div 1E4 ), pszBuf[0], sizeof( pszBuf ) ); except end; end; function Size64( const IntLow: Integer; const IntHigh: Integer ): Extended; begin Result := ( ( IntHigh + Integer( IntLow < 0 ) ) * 4.294967296E9 + IntLow ); end; procedure InitializeWizard(); var msEx: _MEMORYSTATUSEX; szMemoryLoad: String; szTotalPhys: String; szAvailPhys: String; szTotalPageFile: String; szAvailPageFile: String; szTotalVirtual: String; szAvailVirtual: String; begin msEx.dwLength := SizeOf( msEx ) ; if not GlobalMemoryStatusEx( msEx ) then Exit; szMemoryLoad := Format( '%s: %d%s', ['MemoryLoad', msEx.dwMemoryLoad, '%'] ); szTotalPhys := Format( '%s: %s', ['TotalPhys', BytesToSize( Size64( msEx.ullTotalPhys.Intlow, msEx.ullTotalPhys.IntHigh ) )] ); szAvailPhys := Format( '%s: %s', ['AvailPhys', BytesToSize( Size64( msEx.ullAvailPhys.Intlow, msEx.ullAvailPhys.IntHigh ) )] ); szTotalPageFile := Format( '%s: %s', ['TotalPageFile', BytesToSize( Size64( msEx.ullTotalPageFile.Intlow, msEx.ullTotalPageFile.IntHigh ) )] ); szAvailPageFile := Format( '%s: %s', ['AvailPageFile', BytesToSize( Size64( msEx.ullAvailPageFile.Intlow, msEx.ullAvailPageFile.IntHigh ) )] ); szTotalVirtual := Format( '%s: %s', ['TotalVirtual', BytesToSize( Size64( msEx.ullTotalVirtual.Intlow, msEx.ullTotalVirtual.IntHigh ) )] ); szAvailVirtual := Format( '%s: %s', ['AvailVirtual', BytesToSize( Size64( msEx.ullAvailVirtual.Intlow, msEx.ullAvailVirtual.IntHigh ) )] ); MsgBox( szMemoryLoad + #13#10 + szTotalPhys + #13#10 + szAvailPhys + #13#10 + szTotalPageFile + #13#10 + szAvailPageFile + #13#10 + szTotalVirtual + #13#10 + szAvailVirtual, mbInformation, MB_OK ); end; |
Последний раз редактировалось saurn, 09-11-2014 в 11:29. Отправлено: 09:40, 09-11-2014 | #1915 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Возник вопрос по поводу WinAPI: а можно ли узнать, включено ли в системе масштабирование (установленный % не имеет значения)?
|
------- Отправлено: 20:32, 09-11-2014 | #1916 |
Пользователь Сообщения: 148
|
Профиль | Отправить PM | Цитировать kotyarko@fb, сравни разрешение экрана и монитора
type TagMonitorInfo = record cbSize: DWord; Monitor, Work: TRect; dwFlags: DWord; end; var MonitorInfo: TagMonitorInfo; function GetMonitorInfo(hMonitor: Integer; var lpMonitorInfo: TagMonitorInfo): Boolean; external 'GetMonitorInfoA@user32'; procedure InitializeWizard(); begin MonitorInfo.cbSize:= SizeOf(MonitorInfo); if GetMonitorInfo(1, MonitorInfo) then MsgBox(IntToStr(MonitorInfo.Monitor.Right)+ 'x' +IntToStr(MonitorInfo.Monitor.Bottom), mbInformation, MB_OK); end; function GetDC(HWND: DWord): DWord; external 'GetDC@user32.dll stdcall'; function GetDeviceCaps(DC: DWord; Index: Integer): Integer; external 'GetDeviceCaps@gdi32.dll stdcall'; function ReleaseDC(HWND: DWord;DC: DWord): Integer; external 'ReleaseDC@user32.dll stdcall'; function GetMonitorInfo(MetricType:Byte;Descriptor:THandle) : Word; var dc: DWord; begin Result:= 0; case MetricType of 1: /// разрешение по ширине begin dc:= GetDC(Descriptor); Result:= GetDeviceCaps(dc,8); end; 2: /// разрешение по высоте begin dc:= GetDC(Descriptor); Result:= GetDeviceCaps(dc,10); end; end; ReleaseDC(Descriptor,dc); end; // GetSystemMetrics - для второго способа онли. function GetSystemMetrics(nIndex: Integer): Integer; external 'GetSystemMetrics@user32.dll stdcall'; procedure InitializeWizard(); begin MsgBox('Разрешение монитора: ' + IntToStr(GetMonitorInfo(1,MainForm.Handle)) + ' x ' + IntToStr(GetMonitorInfo(2,MainForm.Handle)), mbConfirmation, MB_OK); MsgBox('Разрешение монитора 2: ' + IntToStr(GetSystemMetrics(0)) + ' x ' + IntToStr(GetSystemMetrics(1)), mbConfirmation, MB_OK); MsgBox('Разрешение монитора 3: ' + IntToStr(Screen.Width) + ' x ' + IntToStr(Screen.Height), mbConfirmation, MB_OK); end; |
Отправлено: 21:59, 09-11-2014 | #1917 |
![]() Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать TryRooM, вот там в скрипте поиск названия файла идет через
Name: "main\a"; Description: "A Files"; pSoundMemory_A := GetResourceSoundAddr('_IS_SNDA'); а у меня вот как и кажется я не правильно указал раз ошибка, как исправить чтобы заработала? Name: OZE1/OZE1/OZE1; Description:Атмосферная от Strategic Music;Flags: disablenouninstallwarning exclusive pSoundMemory_Атмосферная от Strategic Music := GetResourceSoundAddr('_IS_SNDA'); |
Последний раз редактировалось diman_21Ru, 10-11-2014 в 00:07. Отправлено: 23:53, 09-11-2014 | #1918 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать diman_21Ru,
Не забывай прописывать имя компонента и в Modules |
Последний раз редактировалось TryRooM, 18-03-2015 в 14:29. Отправлено: 06:30, 10-11-2014 | #1919 |
Пользователь Сообщения: 77
|
Профиль | Отправить PM | Цитировать Подскажите возможно ли средствами Inno Setup выполнить переименование папки Мои документы в Documents в локализованной винде?
|
Отправлено: 09:38, 10-11-2014 | #1920 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 |
|