Как получить дескриптор главного окна 1с? #120085


#0 by vALIDOL
Как в Visual Basic 6 получить дескриптор главного окна 1с?
#1 by vALIDOL
Пишу внешнюю компоненту, есть обходимость получить дескриптор, но не получается. Помогите плиз!!!!
#2 by Дяпти
Метод есть соответствующий, что то типа GetAppMainFrame, но точнее смотри в "Технология создания внешних компонент".
#3 by slavka
а как пытаешься получить?
#4 by Sheridan
Ну в технологии ВК для 1С есть метод, Дяптинаписал какой, а еще можно с помощью WinApi...
#5 by systemstopper
1с не может работать с API.
#6 by smaharbA
чего, чего... и причем тут 1Сэ...FindWindow & FindWindowExа вот на васике как получить HWND по PIDуFunction InstanceToWnd(ByVal target_pid As Long) As Long    Dim test_hwnd As Long, test_pid As Long, test_thread_id As Long    test_hwnd = FindWindow(ByVal 0&, ByVal 0&)    Do While test_hwnd <> 0        If GetParent(test_hwnd) = 0 Then            test_thread_id = GetWindowThreadProcessId(test_hwnd, test_pid)            If test_pid = target_pid Then
#7 by artbear
(5,6) Есть замечательный COM-объект DynaWrap, который позволяет обращаться ко многим функциям ВинАПИ и даже получать результаты от них.Его можно использовать как в шрифтах, так и в 1С.ЗЫ например, я как-то демонстрировал, как с его помощью легко сделать метод Sleep :)
#8 by smaharbA
ага, а ты попробуй таймер с его помощью сорганизуй...
#9 by vALIDOL
Я пытаюсь получить дескриптор с помощью функции GetAppMainFrame. Как ее правильно вызвать?Все функции WinAPI в часности FindWindow вызваются и даже работают =), но GetAppMainFrame использовать не получаетсяВопрос к smaharbAКак мне получть PID?
#11 by vALIDOL
Если не сложно то перешлите пример на Visual Basic 6 на ящик bjlag@inbox.ru, плиз. За ранее премного благодарен!!!!
#12 by smaharbA
"Классика жанра"...Const TH32CS_SNAPMODULE = &H8Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)Const TH32CS_INHERIT = &H80000000Const MAX_PATH As Integer = 260Private Type PROCESSENTRY32    dwSize As Long    cntUsage As Long    th32ProcessID As Long    th32DefaultHeapID As Long    th32ModuleID As Long    cntThreads As Long    th32ParentProcessID As Long    pcPriClassBase As Long    dwFlags As Long    szExeFile As String * MAX_PATHEnd TypePrivate Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As LongPrivate Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As LongPrivate Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As LongPrivate Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)Private Declare Function GetCurrentProcessId Lib "kernel32" As LongPrivate Function GetParentProcessID    Dim hSnapShot As Long, uProcess As PROCESSENTRY32
#13 by MetaEditor
11) объяви две глобальные MainHwnd, MDIHwndв Sub IInitDone_InitV7Object.GetAppMainFrame MainHwndV7Object.GetAppMDIFrame MDIHwndв MainHwnd будет - основное окнов MDIHwnd будет - родитель для дочерних МДИ окон==почемуто так работает ..................12) помойму это тоже ""Сейчас не об этом" (с)" ;)
#14 by smaharbA
Так-то оно, но ...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С