|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
GetThemeSysString function Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Пытаюсь Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
hTheme -я long получаю Что только не делал с 3-м параметром в GetWindowTheme Выдает Er.49 Bad dll calling conversion Как это записать? Если получу указатель Ptr в 3-м параметре, то unicode -str я оттуда вытяну, опыт есть, но надо получить. А примеров декларации для VB6 нигде нету. P.S. Хочу все-таки докопаться до мутно-зеленого тулбара, покоя он мне не дает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2013, 17:42 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
Начинать нужно с гугла . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2013, 19:37 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
Дмитрий77, ByVal pszStringBuff As Long, ByVal cchMaxStringChars As Long не VarPtr(theme_str), а StrPtr(theme_str) У меня GetThemeSysString возвращает E_HANDLE, так что далее сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2013, 20:22 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
Сделать то сделал. Ошибка была тупая: Код: vbnet 1.
надо было приравнивание в скобки взять: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Имеем вот что: Вариант 1: 1) Запускаем свое окно, где Caption= "My test Window" и есть Rebar 2) Запускаем Spy++ Ищем "My test Window" 3) Находим типа Window 019C0932 "My test window" 4) Там находим типа Window 00C4095A '"' ReBarWindow32 5) Вводим в текстовое поле &H00C4095A -правильно? 6) получаем результат: TMT_CSSNAME -> cpwebvw.css TMT_XMLNAME -> default.xml Причем для всех моих ребаров при включенных темах, причем неважно "media", "communications" или default, или на XP выдает именно эти два имени файла. Моя задача добраться до ребара в Explorer (проводник) - типа надеюсь увидеть что-то другое (или хотя бы тоже самое). Вариант 1: 1) Открываем любую папку, где напр. Caption= "My Test Folder" 2) Запускаем Spy++ Ищем "My Test Folder" 3) И Находим!!! типа Window 00A90A62 "My Test Folder" 4) Там находим типа Window 013B0A44 '"' WorkerW а далее Window 00990998 '"' ReBarWindow32 5) Вводим в текстовое поле &H00990998 -правильно?????? 6) получаем результат: TMT_CSSNAME -> error! TMT_XMLNAME -> error! Другого не получается. То ли я с hex-ами работать не умею и неправильно получаю hwnd? То ли ЧТО? Для моих то тулбаров все ведь работает S_OK-> результат Сейчас пока правда на XP только пробовал(темы включены)... Ладно, попробую еще над вистой поиздеваться, собаку то я именно там ищу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2013, 22:28 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
Дмитрий77&H00990998 -правильно??????да. даже &H990998 правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2013, 00:05 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
Дмитрий77, дело не в скобках. Сравните ещё раз: Код: vbnet 1.
и Код: vbnet 1.
> То ли ЧТО? Может, из другого процесса нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2013, 00:39 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
13-й квартал, бог с ним с этими скобками. StrPtr вы правы конечно. А чем мое окно отличается от чужого? По крайней мере если запустить 2 моих одинаковых, то на тот hwnd где работает, срабатывает при вызове из любого из них. Ну хоть какой-то результат таки есть: TMT_CSSNAME -> cpwebvw.css TMT_XMLNAME -> default.xml cpwebvw.css -имя ресурса в файле Windows\Resources\Themes\Aero\Shell\NormalColor ресурсы ->23 ->cpwebvw.css Та м особо ничего нет интересного. Но там в ресурсах есть еще MUI->1->1033 И меня заинтересовало вот это: Код: xml 1. 2. 3. 4. 5.
Я вот не могу понять, как этот градиент воспроизвести (ну через gdi что ли), чтоб на него посмотреть. М.б. это оно и есть? и ни фига это не стиль -ни в одной программе кроме проводника этого "желаемого мутно зеленого" стиля нет. Причем он есть только на висте, а на 7-8 его нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2013, 01:12 |
|
Объясните мне как правильно API написать и вызвать, видимо рука еще не настолько набита
|
|||
---|---|---|---|
#18+
Короче фигня это все. Узнав hwnd ребара какого нибудь Fax and Scan еще можно поиграться со стилями этого ребар(сделать его не Communications). Можно также "временно изгадить" стиль верхней прозрачной панели explorer. Но применить ничего к "мутно-зеленой части", напр. поменять на Communications или отключить стиль не получается даже временно. Скорее всего там жесткий сабклассинг со стороны самой explorer.exe, и именно explorer.exe эту зеленую муть для себя отрисовывает, и только на висте. Единственный вариант, если уж очень хочется, воспользоваться градиентами от Бенедикта (в теме про тулбар, кот. я недавно поднял наверх), но сделать это нормально видимо не так просто, потому что если поставишь ребару классик, то это применится и к тулбару тоже (а сам тулбар при этом должен быть Communications или Media - белый шрифт, стиль кнопок и т.п.). А если стиль с ребара не снимать, то фиг ему свой градиент нарисуешь. Хотя, градиент наверно можно пририсовать банду, а от гриппера отказаться (в explorer кстати гриппера нет). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2013, 03:37 |
|
|
start [/forum/topic.php?fid=60&msg=38227990&tid=2157040]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 158ms |
0 / 0 |