com.bmx 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739
  1. Strict
  2. Import "-lole32"
  3. Import "com.cpp"
  4. Extern "win32"
  5. Function CLSIDFromProgID(code$w,clsid:Byte Ptr)="BBINT CLSIDFromProgID(BBSHORT * ,BBBYTE * )!"
  6. Function CoCreateInstance(rclsid:Byte Ptr,pUnkOuter:Byte Ptr,dwClsContext,riid:Byte Ptr,ppv:Byte Ptr Ptr)="BBINT CoCreateInstance(BBBYTE * ,BBBYTE * ,BBINT ,BBBYTE * ,BBBYTE ** )!"
  7. Function IIDFromString_(lpsz$w,riid:Byte Ptr)="BBINT IIDFromString(BBSHORT * ,BBBYTE * )!"
  8. Function StringFromIID_(riid:Byte Ptr,lpsz:Short Ptr Ptr)="HRESULT StringFromIID(REFIID, LPOLESTR *)!"
  9. End Extern
  10. Function IIDFromString(lpsz:String, riid:GUID)
  11. Return IIDFromString_(lpsz, riid.guidPtr)
  12. End Function
  13. Function StringFromIID(riid:GUID, lpsz:String Var)
  14. Local sp:Short Ptr
  15. Local res:Int = StringFromIID_(riid.guidPtr, Varptr sp)
  16. lpsz = String.FromWString(sp)
  17. Return res
  18. End Function
  19. Extern
  20. Function bmx_win32_com_IUnknown_QueryInterface:Int(handle:Byte Ptr, riid:Byte Ptr, ppvObj:Byte Ptr Ptr)
  21. Function bmx_win32_com_IUnknown_AddRef:Int(handle:Byte Ptr)
  22. Function bmx_win32_com_IUnknown_Release:Int(handle:Byte Ptr)
  23. End Extern
  24. Extern "win32"
  25. Interface IUnknown_
  26. Method QueryInterface:Int( riid:Byte Ptr,ppvObj:IUnknown_ Var)
  27. Method AddRef:Int()
  28. Method Release_:Int()
  29. End Interface
  30. End Extern
  31. ' oleautomation
  32. Extern
  33. Function SysAllocStringLen:Short Ptr(bstr:Short Ptr,length)="BBSHORT * SysAllocStringLen(BBSHORT * ,BBINT )!"
  34. Function SysFreeString(bstr:Short Ptr)="BBINT SysFreeString(BBSHORT * )!"
  35. End Extern
  36. Extern "win32"
  37. Interface IDispatch_ Extends IUnknown_
  38. ' Method QueryInterface( riid:Byte Ptr,ppvObj:Byte Ptr )="IDispatch_QueryInterface"
  39. ' Method AddRef()="IDispatch_AddRef"
  40. ' Method Release_()="IDispatch_Release"
  41. Method lfGetTypeInfoCount(pctinfo:Byte Ptr)'="IDispatch_lfGetTypeInfoCount"
  42. Method lfGetTypeInfo(iTInfo,lcid,ITypeInfo:Byte Ptr)'="IDispatch_lfGetTypeInfo"
  43. Method lfGetIDsOfNames( riid:Byte Ptr,rgszNames:Byte Ptr Ptr,cNames,lcid,rgDispId:Byte Ptr)'="IDispatch_lfGetIDsOfNames"
  44. Method Invoke(dispIdMember:Byte Ptr,riid:Byte Ptr,lcid,wFlags,pDispParams:Byte Ptr,pVarResult:Byte Ptr,pExcepInfo:Byte Ptr,puArgErr:Byte Ptr)'="IDispatch_Invoke"
  45. End Interface
  46. End Extern
  47. Extern
  48. Function bmx_win32_IWebBrowser_get_LocationURL:Int(handle:Byte Ptr, LocationURL:Short Ptr Ptr)
  49. Function bmx_win32_IWebBrowser_get_LocationName:Int(handle:Byte Ptr, LocationName:Short Ptr Ptr)
  50. Function bmx_win32_IWebBrowser_get_Document:Int(handle:Byte Ptr, ppDisp:Byte Ptr Ptr)
  51. End Extern
  52. Extern "win32"
  53. Interface IWebBrowser_ Extends IDispatch_
  54. Method lfGoBack()
  55. Method lfGoForward()
  56. Method lfGoHome()
  57. Method lfGoSearch()
  58. Method lfNavigate(URL$w,Flags:VARIANT,TargetFrameName:VARIANT,PostData:VARIANT,Headers:Byte Ptr) 'VARIANT)
  59. Method lfRefresh()
  60. Method lfRefresh2(Level:Byte Ptr) 'VARIANT)
  61. Method lfStop()
  62. Method lfget_Application(ppDisp:IDispatch_ Var)
  63. Method lfget_Parent(ppDisp:IDispatch_ Var)
  64. Method lfget_Container(ppDisp:IDispatch_ Var)
  65. Method lfget_Document(ppDisp:IDispatch_ Var)
  66. ' bmx_win32_IWebBrowser_get_Document(unknownPtr, ppDisp)
  67. 'End Method
  68. Method lfget_TopLevelContainer(pBool:Short Ptr)
  69. Method lfget_Type(_Type$w)
  70. Method lfget_Left(pl:Int Ptr)
  71. Method put_Left(Left)
  72. Method lfget_Top(pl:Int Ptr)
  73. Method put_Top(Top)
  74. Method lfget_Width(pl:Int Ptr)
  75. Method put_Width(Width)
  76. Method lfget_Height(pl:Int Ptr)
  77. Method put_Height(Height)
  78. Method lfget_LocationName(LocationName:Short Ptr Ptr)
  79. ' Return bmx_win32_IWebBrowser_get_LocationName(unknownPtr, LocationName)
  80. 'End Method
  81. Method lfget_LocationURL(LocationURL:Short Ptr Ptr)
  82. ' Return bmx_win32_IWebBrowser_get_LocationURL(unknownPtr, LocationURL)
  83. 'End Method
  84. Method lfget_Busy(pBool:Short Ptr)
  85. End Interface
  86. Interface IWebBrowserApp_ Extends IWebBrowser_
  87. Method lfQuit()
  88. Method lfClientToWindow(pcx:Int Ptr,pcy:Int Ptr)
  89. Method lfPutProperty(Property$w,vtValue:Byte Ptr) 'VARIANT) 'simon come here
  90. Method lfGetProperty(Property$w,vtValue:Byte Ptr) 'VARIANT)
  91. Method lfget_Name(Name:Byte Ptr )
  92. Method lfget_HWND(pHWND:Int Ptr)
  93. Method lfget_FullName(FullName:Short Ptr Ptr)
  94. Method lfget_Path(Path:Short Ptr Ptr)
  95. Method lfget_Visible(pBool:Short Ptr)
  96. Method put_Visible(Value:Byte Ptr) 'VARIANT)
  97. Method lfget_StatusBar(pBool:Short Ptr)
  98. Method put_StatusBar(Value:Byte Ptr) 'VARIANT)
  99. Method lfget_StatusText(StatusText:Short Ptr Ptr)
  100. Method put_StatusText(StatusText$w)
  101. Method lfget_ToolBar(Value:Int Ptr)
  102. Method put_ToolBar(Value)
  103. Method lfget_MenuBar(Value:Byte Ptr) 'VARIANT)
  104. Method put_MenuBar(Value:Byte Ptr) 'VARIANT)
  105. Method lfget_FullScreen(pbFullScreen:Byte Ptr) 'VARIANT)
  106. Method put_FullScreen(bFullScreen:Byte Ptr) 'VARIANT)
  107. End Interface
  108. Interface IWebBrowser2_ Extends IWebBrowserApp_
  109. Method lfNavigate2(URL:VARIANT,Flags:VARIANT,TargetFrameName:VARIANT,PostData:VARIANT,Headers:Byte Ptr) 'VARIANT)
  110. Method lfQueryStatusWB(cmdID,pcmdf)
  111. Method lfExecWB(cmdID,cmdexecopt,pvaIn:VARIANT,pvaOut:Byte Ptr) 'VARIANT)
  112. Method lfShowBrowserBar(pvaClsid:VARIANT,pvarShow:VARIANT,pvarSize:Byte Ptr) 'VARIANT)
  113. Method get_ReadyState(plReadyState:Int Ptr)
  114. Method lfget_Offline(pbOffline:Short Ptr)
  115. Method put_Offline(bOffline)
  116. Method lfget_Silent(pbSilent:Short Ptr)
  117. Method put_Silent(bSilent)
  118. Method lfget_RegisterAsBrowser(pbRegister:Short Ptr)
  119. Method put_RegisterAsBrowser(bRegister)
  120. Method lfget_RegisterAsDropTarget(pbRegister:Short Ptr)
  121. Method put_RegisterAsDropTarget(bRegister)
  122. Method lfget_TheaterMode(pbRegister:Short Ptr)
  123. Method put_TheaterMode(bRegister)
  124. Method lfget_AddressBar(Value:Short Ptr)
  125. Method put_AddressBar(Value)
  126. Method lfget_Resizable(Value:Short Ptr)
  127. Method put_Resizable(Value)
  128. End Interface
  129. Interface IHTMLWindow2_ Extends IDispatch_
  130. Method item(this:Byte Ptr,_variant:Byte Ptr)
  131. Method get_length(_pint:Int Ptr)
  132. Method get_frames(IHTMLFramesCollection2:Byte Ptr Ptr)
  133. Method put_defaultStatus(_bstr:Short Ptr)
  134. Method get_defaultStatus(_pbstr:Short Ptr Ptr)
  135. Method put_status(_bstr:Short Ptr)
  136. Method get_status(_pbstr:Short Ptr Ptr)
  137. Method setTimeout(_bstr:Short Ptr,_int,_variant:Byte Ptr,_pint:Int Ptr)
  138. Method clearTimeout(_int)
  139. Method alert(_bstr:Short Ptr)
  140. Method _confirm(_bstr:Short Ptr,_variantbool:Short Ptr)
  141. Method prompt(_bstr1:Short Ptr,_bstr2:Short Ptr,_variant:Byte Ptr)
  142. Method get_Image(LPHTMLIMAGEELEMENTFACTORY:Byte Ptr)
  143. Method get_location(LPHTMLLOCATION:Byte Ptr)
  144. Method get_history(LPOMHISTORY:Byte Ptr)
  145. Method close()
  146. Method put_opener(_variant:Long)
  147. Method get_opener(this:Byte Ptr)
  148. Method get_navigator(LPOMNAVIGATOR:Byte Ptr)
  149. Method put_name(_bstr:Short Ptr)
  150. Method get_name(_pbstr:Short Ptr Ptr)
  151. Method get_parent(LPHTMLWINDOW2:Byte Ptr)
  152. Method open(_bstr:Short Ptr,_bstr1:Short Ptr,_bstr2:Short Ptr,_variant:Byte Ptr,LPHTMLWINDOW2:Byte Ptr)
  153. Method get_self(LPHTMLWINDOW2:Byte Ptr)
  154. Method get_top(LPHTMLWINDOW2:Byte Ptr)
  155. Method get_window(LPHTMLWINDOW2:Byte Ptr)
  156. Method navigate(_bstr:Short Ptr)
  157. Method put_onfocus(_variant:Long)
  158. Method get_onfocus(this:Byte Ptr)
  159. Method put_onblur(_variant:Long)
  160. Method get_onblur(this:Byte Ptr)
  161. Method put_onload(_variant:Long)
  162. Method get_onload(this:Byte Ptr)
  163. Method put_onbeforeunload(_variant:Long)
  164. Method get_onbeforeunload(this:Byte Ptr)
  165. Method put_onunload(_variant:Long)
  166. Method get_onunload(this:Byte Ptr)
  167. Method put_onhelp(_variant:Long)
  168. Method get_onhelp(this:Byte Ptr)
  169. Method put_onerror(_variant:Long)
  170. Method get_onerror(this:Byte Ptr)
  171. Method put_onresize(_variant:Long)
  172. Method get_onresize(this:Byte Ptr)
  173. Method put_onscroll(_variant:Long)
  174. Method get_onscroll(this:Byte Ptr)
  175. Method get_document(doc:IHTMLDocument2_ Var)
  176. Method get_event(LPHTMLEVENTOBJ:Byte Ptr)
  177. Method get__newEnum(IUnknown:Byte Ptr Ptr)
  178. Method showModalDialog(_bstr:Short Ptr,_variant:Byte Ptr,_variant2:Byte Ptr,_variant3:Byte Ptr)
  179. Method showHelp(_bstr:Short Ptr,VARIANT,BSTR)
  180. Method get_screen(LPHTMLSCREEN:Byte Ptr)
  181. Method get_Option(LPHTMLOPTIONELEMENTFACTORY:Byte Ptr)
  182. Method focus()
  183. Method get_closed(_variant:Byte Ptr)
  184. Method blur()
  185. Method scroll(_int1,_int2)
  186. Method get_clientInformation(LPOMNAVIGATOR:Byte Ptr)
  187. Method setInterval(_bstr:Short Ptr,_int,_variant:Byte Ptr,_int1:Int Ptr)
  188. Method clearInterval(_int)
  189. Method put_offscreenBuffering(_variant:Long)
  190. Method get_offscreenBuffering(this:Byte Ptr)
  191. Method execScript(_bstr:Short Ptr,_bstr1:Short Ptr,_variant:Byte Ptr)
  192. Method toString(_pbstr:Short Ptr Ptr)
  193. Method scrollBy(_int,_int1)
  194. Method scrollTo(_int,_int1)
  195. Method MoveTo(_int,_int1)
  196. Method moveBy(_int,_int1)
  197. Method resizeTo(_int,_int1)
  198. Method resizeBy(_int,_int1)
  199. Method get_external(disp:IDispatch_ Var)
  200. End Interface
  201. Interface IHTMLDocument2_ Extends IDispatch_
  202. Method get_Script(IDispatch:Byte Ptr Ptr)
  203. 'End Method
  204. Method get_all(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  205. 'End Method
  206. Method get_body(LPHTMLELEMENT:Byte Ptr)
  207. 'End Method
  208. Method get_activeElement(LPHTMLELEMENT:Byte Ptr)
  209. 'End Method
  210. Method get_images(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  211. 'End Method
  212. Method get_applets(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  213. 'End Method
  214. Method get_links(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  215. 'End Method
  216. Method get_forms(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  217. 'End Method
  218. Method get_anchors(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  219. 'End Method
  220. Method put_title(_bstr:Short Ptr)
  221. 'End Method
  222. Method get_title(_pbstr:Short Ptr Ptr)
  223. 'End Method
  224. Method get_scripts(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  225. ' End Method
  226. Method put_designMode(_bstr:Short Ptr)
  227. ' End Method
  228. Method get_designMode(_pbstr:Short Ptr Ptr)
  229. ' End Method
  230. Method get_selection(LPHTMLSELECTIONOBJECT:Byte Ptr)
  231. ' End Method
  232. Method get_readyState(_pbstr:Short Ptr Ptr)
  233. ' End Method
  234. Method get_frames(LPHTMLFRAMESCOLLECTION:Byte Ptr)
  235. ' End Method
  236. Method get_embeds(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  237. ' End Method
  238. Method get_plugins(LPHTMLELEMENTCOLLECTION:Byte Ptr)
  239. ' End Method
  240. Method put_alinkColor(_variant:Long)
  241. ' End Method
  242. Method get_alinkColor(this:Byte Ptr)
  243. ' End Method
  244. Method put_bgColor(_variant:Long)
  245. ' End Method
  246. Method get_bgColor(this:Byte Ptr)
  247. ' End Method
  248. Method put_fgColor(_variant:Long)
  249. ' End Method
  250. Method get_fgColor(this:Byte Ptr)
  251. ' End Method
  252. Method put_linkColor(_variant:Long)
  253. ' End Method
  254. Method get_linkColor(this:Byte Ptr)
  255. ' End Method
  256. Method put_vlinkColor(_variant:Long)
  257. ' End Method
  258. Method get_vlinkColor(this:Byte Ptr)
  259. ' End Method
  260. Method get_referrer(_pbstr:Short Ptr Ptr)
  261. ' End Method
  262. Method get_location(LPHTMLLOCATION:Byte Ptr)
  263. ' End Method
  264. Method get_lastModified(_pbstr:Short Ptr Ptr)
  265. ' End Method
  266. Method put_url(_bstr:Short Ptr)
  267. ' End Method
  268. Method get_url(_pbstr:Short Ptr Ptr)
  269. ' End Method
  270. Method put_domain(_bstr:Short Ptr)
  271. ' End Method
  272. Method get_domain(_pbstr:Short Ptr Ptr)
  273. ' End Method
  274. Method put_cookie(_bstr:Short Ptr)
  275. ' End Method
  276. Method get_cookie(_pbstr:Short Ptr Ptr)
  277. ' End Method
  278. Method put_expands(_variant:Short)
  279. ' End Method
  280. Method get_expands(_variant:Short Ptr)
  281. ' End Method
  282. Method put_charset(_bstr:Short Ptr)
  283. ' End Method
  284. Method get_charset(_pbstr:Short Ptr Ptr)
  285. ' End Method
  286. Method put_defaultCharset(_bstr:Short Ptr)
  287. ' End Method
  288. Method get_defaultCharset(_pbstr:Short Ptr Ptr)
  289. ' End Method
  290. Method get_mimeType(_pbstr:Short Ptr Ptr)
  291. ' End Method
  292. Method get_fileSize(_pbstr:Short Ptr Ptr)
  293. ' End Method
  294. Method get_fileCreatedDate(_pbstr:Short Ptr Ptr)
  295. ' End Method
  296. Method get_fileModifiedDate(_pbstr:Short Ptr Ptr)
  297. ' End Method
  298. Method get_fileUpdatedDate(_pbstr:Short Ptr Ptr)
  299. ' End Method
  300. Method get_security(_pbstr:Short Ptr Ptr)
  301. ' End Method
  302. Method get_protocol(_pbstr:Short Ptr Ptr)
  303. ' End Method
  304. Method get_nameProp(_pbstr:Short Ptr Ptr)
  305. ' End Method
  306. Method write(SAFEARRAY)
  307. ' End Method
  308. Method writeln(SAFEARRAY)
  309. ' End Method
  310. Method open(_bstr:Short Ptr,v1:Long,v2:Long,v3:Long,disp:IDispatch_ Var)
  311. ' End Method
  312. Method close()
  313. ' End Method
  314. Method clear()
  315. ' End Method
  316. Method queryCommandSupported(_bstr:Short Ptr,_variantbool:Short Ptr)
  317. ' End Method
  318. Method queryCommandEnabled(_bstr:Short Ptr,_variantbool:Short Ptr)
  319. ' End Method
  320. Method queryCommandState(_bstr:Short Ptr,_variantbool:Short Ptr)
  321. ' End Method
  322. Method queryCommandIndeterm(_bstr:Short Ptr,_variantbool:Short Ptr)
  323. ' End Method
  324. Method queryCommandText(_bstr:Short Ptr,BSTR:Byte Ptr)
  325. ' End Method
  326. Method queryCommandValue(_bstr:Short Ptr,_variant:Byte Ptr)
  327. ' End Method
  328. Method execCommand(_bstr:Short Ptr,_variantbool:Short,_variant:Long,_variantpbool:Short Ptr)
  329. ' End Method
  330. Method execCommandShowHelp(_bstr:Short Ptr,_variantbool:Short Ptr)
  331. ' End Method
  332. Method createElement(_bstr:Short Ptr,LPHTMLELEMENT:Byte Ptr)
  333. ' End Method
  334. Method put_onhelp(_variant:Long)
  335. ' End Method
  336. Method get_onhelp(this:Byte Ptr)
  337. ' End Method
  338. Method put_onclick(_variant:Long)
  339. ' End Method
  340. Method get_onclick(this:Byte Ptr)
  341. ' End Method
  342. Method put_ondblclick(_variant:Long)
  343. ' End Method
  344. Method get_ondblclick(this:Byte Ptr)
  345. ' End Method
  346. Method put_onkeyup(_variant:Long)
  347. ' End Method
  348. Method get_onkeyup(this:Byte Ptr)
  349. ' End Method
  350. Method put_onkeydown(_variant:Long)
  351. ' End Method
  352. Method get_onkeydown(this:Byte Ptr)
  353. ' End Method
  354. Method put_onkeypress(_variant:Long)
  355. ' End Method
  356. Method get_onkeypress(this:Byte Ptr)
  357. ' End Method
  358. Method put_onmouseup(_variant:Long)
  359. ' End Method
  360. Method get_onmouseup(this:Byte Ptr)
  361. ' End Method
  362. Method put_onmousedown(_variant:Long)
  363. ' End Method
  364. Method get_onmousedown(this:Byte Ptr)
  365. ' End Method
  366. Method put_onmousemove(_variant:Long)
  367. ' End Method
  368. Method get_onmousemove(this:Byte Ptr)
  369. ' End Method
  370. Method put_onmouseout(_variant:Long)
  371. ' End Method
  372. Method get_onmouseout(this:Byte Ptr)
  373. ' End Method
  374. Method put_onmouseover(_variant:Long)
  375. ' End Method
  376. Method get_onmouseover(this:Byte Ptr)
  377. ' End Method
  378. Method put_onreadystatechange(_variant:Long)
  379. ' End Method
  380. Method get_onreadystatechange(this:Byte Ptr)
  381. ' End Method
  382. Method put_onafterupdate(_variant:Long)
  383. ' End Method
  384. Method get_onafterupdate(this:Byte Ptr)
  385. ' End Method
  386. Method put_onrowexit(_variant:Long)
  387. Method get_onrowexit(this:Byte Ptr)
  388. Method put_onrowenter(_variant:Long)
  389. Method get_onrowenter(this:Byte Ptr)
  390. Method put_ondragstart(_variant:Long)
  391. Method get_ondragstart(this:Byte Ptr)
  392. Method put_onselectstart(_variant:Long)
  393. Method get_onselectstart(this:Byte Ptr)
  394. Method elementFromPoint(_int1,_int2,LPHTMLELEMENT:Byte Ptr)
  395. Method get_parentWindow(LPHTMLWINDOW2:Byte Ptr)
  396. Method get_styleSheets(LPHTMLSTYLESHEETSCOLLECTION:Byte Ptr)
  397. Method put_onbeforeupdate(_variant:Long)
  398. Method get_onbeforeupdate(this:Byte Ptr)
  399. Method put_onerrorupdate(_variant:Long)
  400. Method get_onerrorupdate(this:Byte Ptr)
  401. Method toString(_pbstr:Short Ptr Ptr)
  402. Method createStyleSheet(_bstr:Short Ptr,_int,LPHTMLSTYLESHEET:Byte Ptr)
  403. End Interface
  404. End Extern
  405. Const IUnknown_UUID$="{00000000-0000-0000-C000-000000000046}"
  406. Const IDispatch_UUID$="{00020400-0000-0000-C000-000000000046}"
  407. Const IWebBrowser_UUID$="{EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}"
  408. Const IWebBrowserApp_UUID$="{0002DF05-0000-0000-C000-000000000046}"
  409. Const IWebBrowser2_UUID$="{D30C1661-CDAF-11d0-8A3E-00C04FC9E26E}"
  410. Const IHTMLDocument2_UUID$="{332c4425-26cb-11d0-b483-00c04fd90119}"
  411. Const IHTMLWindow2_UUID$="{332c4427-26cb-11d0-b483-00c04fd90119}"
  412. Const CLSCTX_INPROC_SERVER =$1
  413. Const CLSCTX_INPROC_HANDLER =$2
  414. Const CLSCTX_LOCAL_SERVER =$4
  415. Const CLSCTX_INPROC_SERVER16 =$8
  416. Const CLSCTX_REMOTE_SERVER =$10
  417. Const CLSCTX_INPROC_HANDLER16 =$20
  418. Const CLSCTX_RESERVED1 =$40
  419. Const CLSCTX_RESERVED2 =$80
  420. Const CLSCTX_RESERVED3 =$100
  421. Const CLSCTX_RESERVED4 =$200
  422. Const CLSCTX_NO_CODE_DOWNLOAD =$400
  423. Const CLSCTX_RESERVED5 =$800
  424. Const CLSCTX_NO_CUSTOM_MARSHAL =$1000
  425. Const CLSCTX_ENABLE_CODE_DOWNLOAD =$2000
  426. Const CLSCTX_NO_FAILURE_LOG =$4000
  427. Const CLSCTX_DISABLE_AAA =$8000
  428. Const CLSCTX_ENABLE_AAA =$10000
  429. Const CLSCTX_FROM_DEFAULT_CONTEXT =$20000
  430. Const CLSCTX_ALL=(CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER)
  431. Const CLSCTX_INPROC=(CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER)
  432. Const CLSCTX_SERVER=(CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER)
  433. Extern
  434. Function bmx_win32_GUID_new:Byte Ptr()
  435. Function bmx_win32_GUID_free(handle:Byte Ptr)
  436. End Extern
  437. Type GUID
  438. Field guidPtr:Byte Ptr
  439. Method New()
  440. guidPtr = bmx_win32_GUID_new()
  441. End Method
  442. Method Delete()
  443. If guidPtr Then
  444. bmx_win32_GUID_free(guidPtr)
  445. guidPtr = Null
  446. End If
  447. End Method
  448. ' Field data1
  449. ' Field data2:Short,data3:Short
  450. ' Field data41:Byte
  451. ' Field data42:Byte
  452. ' Field data43:Byte
  453. ' Field data44:Byte
  454. ' Field data45:Byte
  455. ' Field data46:Byte
  456. ' Field data47:Byte
  457. ' Field data48:Byte
  458. End Type
  459. Type VARIANT
  460. Field vt:Short
  461. Field res1:Short
  462. Field res2:Short
  463. Field res3:Short
  464. Field data:Long
  465. End Type
  466. Const VT_EMPTY=0
  467. Const READYSTATE_UNINITIALIZED=1
  468. Const READYSTATE_LOADING=0
  469. Const READYSTATE_LOADED=2
  470. Const READYSTATE_INTERACTIVE=3
  471. Const READYSTATE_COMPLETE=4
  472. Const OLECMDEXECOPT_DODEFAULT=0
  473. Const OLECMDEXECOPT_PROMPTUSER=1
  474. Const OLECMDEXECOPT_DONTPROMPTUSER=2
  475. Const OLECMDEXECOPT_SHOWHELP=3
  476. Const OLECMDF_SUPPORTED=1
  477. Const OLECMDF_ENABLED=2
  478. Const OLECMDF_LATCHED=4
  479. Const OLECMDF_NINCHED=8
  480. Const OLECMDF_INVISIBLE=$10
  481. Const OLECMDF_DEFHIDEONCTXTMENU=$20
  482. Const OLECMDID_OPEN=1
  483. Const OLECMDID_NEW=2
  484. Const OLECMDID_SAVE=3
  485. Const OLECMDID_SAVEAS=4
  486. Const OLECMDID_SAVECOPYAS=5
  487. Const OLECMDID_PRINT=6
  488. Const OLECMDID_PRINTPREVIEW=7
  489. Const OLECMDID_PAGESETUP=8
  490. Const OLECMDID_SPELL=9
  491. Const OLECMDID_PROPERTIES=10
  492. Const OLECMDID_CUT=11
  493. Const OLECMDID_COPY=12
  494. Const OLECMDID_PASTE=13
  495. Const OLECMDID_PASTESPECIAL=14
  496. Const OLECMDID_UNDO=15
  497. Const OLECMDID_REDO=16
  498. Const OLECMDID_SELECTALL=17
  499. Const OLECMDID_CLEARSELECTION=18
  500. Const OLECMDID_ZOOM=19
  501. Const OLECMDID_GETZOOMRANGE=20
  502. Const OLECMDID_UPDATECOMMANDS=21
  503. Const OLECMDID_REFRESH=22
  504. Const OLECMDID_STOP=23
  505. Const OLECMDID_HIDETOOLBARS=24
  506. Const OLECMDID_SETPROGRESSMAX=25
  507. Const OLECMDID_SETPROGRESSPOS=26
  508. Const OLECMDID_SETPROGRESSTEXT=27
  509. Const OLECMDID_SETTITLE=28
  510. Const OLECMDID_SETDOWNLOADSTATE=29
  511. Const OLECMDID_STOPDOWNLOAD=30
  512. Const OLECMDID_ONTOOLBARACTIVATED=31
  513. Const OLECMDID_FIND=32
  514. Const OLECMDID_DELETE=33
  515. Const OLECMDID_HTTPEQUIV=34
  516. Const OLECMDID_HTTPEQUIV_DONE=35
  517. Const OLECMDID_ENABLE_INTERACTION=36
  518. Const OLECMDID_ONUNLOAD=37
  519. Const OLECMDID_PROPERTYBAG2=38
  520. Const OLECMDID_PREREFRESH=39
  521. Const OLECMDID_SHOWSCRIPTERROR=40
  522. Const OLECMDID_SHOWMESSAGE=41
  523. Const OLECMDID_SHOWFIND=42
  524. Const OLECMDID_SHOWPAGESETUP=43
  525. Const OLECMDID_SHOWPRINT=44
  526. Const OLECMDID_CLOSE=45
  527. Const OLECMDID_ALLOWUILESSSAVEAS=46
  528. Const OLECMDID_DONTDOWNLOADCSS=47
  529. Const OLECMDID_UPDATEPAGESTATUS=48
  530. Const OLECMDID_PRINT2=49
  531. Const OLECMDID_PRINTPREVIEW2=50
  532. Const OLECMDID_SETPRINTTEMPLATE=51
  533. Const OLECMDID_GETPRINTTEMPLATE=52
  534. Const OLECMDID_PAGEACTIONBLOCKED=55
  535. Const OLECMDID_PAGEACTIONUIQUERY=56
  536. Const OLECMDID_FOCUSVIEWCONTROLS=57
  537. Const OLECMDID_FOCUSVIEWCONTROLSQUERY=58
  538. Const OLECMDID_SHOWPAGEACTIONMENU=59