На машине запущено несколько копий Word. Реально ли получить указатель на нужную копию, подключиться к ней чтобы юзать ту копию в которой открыт требуемый документ?
как пытался делать (были варианты с FindWindow(ex) не помню уже почему отказался):
1) шарим все окна в поисках ворда EnumWindows
...
search_for="Microsoft Word"
EnumWindows(CODEPTR(ChildCallback),VARPTR(search_for))
...
2)в ChildCallback:
...
GetClassName(hWnd, szClass, SIZEOF(szClass))
IF szClass = "OpusApp" THEN ' ага вот ворд
...
'шарим дочерние окна, в интернетах говорят что нужно подцепиться к окну с классом _WwG
EnumChildWindows(hWnd, CODEPTR(ChildWCallback), 0)
3)в ChildWCallback:
...
IID_IDispatch = GUID$("{00020400-0000-0000-C000-000000000046}")
DIM ppvObject AS VARIANT 'не уверен насчет типа этого параметра
GetClassName(hWnd, szClass, SIZEOF(szClass))
IF szClass = "_WwG" THEN
AccessibleObjectFromWindow(hWnd,%OBJID_NATIVEOM,IID_IDispatch,ppvObject)
?("found " & STR$(hwnd)) ' вот окно с документом
...
далее по идее получили в ppvObject указатель (или нет? что за тип в pb этот ppvObject?) на обьект, к которому пытаемся подключиться, но бестолку
в общем, наверняка я не знаю всех тонкостей процесса, но если все же попытаться реализовать эту схему, возможно тогда подключаться к требуемому обьекту Word с нужным доком, а не к первому попавшемуся в ROT. Помогите допилить, или подскажите куда копать?