|
|
|
Как из DLL (VB6) определить путь к использующему ее офисному приложению
|
|||
|---|---|---|---|
|
#18+
Есть офисное приложение (Excel или Word), использующее мою DLL, сделанную на VB6. Как мне в функции этой DLL определить путь к этому использующему ее приложению, ( ну и имя как дополнение ) ? При этом нельзя передавать объект Application ( или , например, WorkBook , по которым можно было бы этой функции определить путь ), т.е. определяющая путь функция не должна знать откуда она вызвана, а только должна каким-то образом понять к чему прицеплена содержащая ее DLL-ка. Т.е. нужна какая-то API Windows функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 15:44 |
|
||
|
Как из DLL (VB6) определить путь к использующему ее офисному приложению
|
|||
|---|---|---|---|
|
#18+
Попробуй эту, вроде то Declare Function GetModuleFileNameEx Lib "PSAPI.DLL" (ByVal hProcess As Long, ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize As Long) As Long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 16:29 |
|
||
|
Как из DLL (VB6) определить путь к использующему ее офисному приложению
|
|||
|---|---|---|---|
|
#18+
Чуть не забыл: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 16:31 |
|
||
|
Как из DLL (VB6) определить путь к использующему ее офисному приложению
|
|||
|---|---|---|---|
|
#18+
Так и какие же нужно задать ·hProcess и .hModule если DLL подцеплена к Excel ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 16:44 |
|
||
|
Как из DLL (VB6) определить путь к использующему ее офисному приложению
|
|||
|---|---|---|---|
|
#18+
Лучше эту функцию используй, она для всех виндов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Простой пример использования: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Ну а hwnd Excela как ты понимаешь надо искать самому, запросто так он не валяется, на то он и API. Обычно самый простой вариант - через поиск по классу: Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long hwndExl = FindWindow("XLMAIN", vbNullString) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 17:34 |
|
||
|
Как из DLL (VB6) определить путь к использующему ее офисному приложению
|
|||
|---|---|---|---|
|
#18+
Не это все не то- см. исходную постановку. Объясню еще - у меня была библиотека для Excel'ских приложений в виде XLA , с целью секретности (не надеясь на то, что пароль не взломают) я несколько ее определяющих функйий вынес в DLL, а в них как раз определялся путь к активной книге, После вынесения их в DLL они стали определять путь к DLL а не к активной книге , передавать в них какие-либо параметры типа объект Application ( или , например, WorkBook ) равно как и hProcess нельзя по причине, что эти функции уже использует куча приложений, Поэтому я так и поставил задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 21:20 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32278933&tid=1679164]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 348ms |

| 0 / 0 |
